day09-Linux运维-vim编辑器与显示文件内容的命令

《day09-Linux运维-vim编辑器与显示文件内容的命令》 day08-vim编辑器及文件过滤命令.png

vim编辑器:

命令模式
插入模式
末行模式

1.模式直接的切换

命令—> 插入 a i O o
插入—> 命令 Esc
命令—> 末行 冒号

大写O(插入当前行的上一行)
小写o(插入当前行的下一行)

2.命令模式下的操作:

1.快速移动光标
h 向左移动
j 向下移动
k 向上移动
l 向右移动

2.全文移动光标
gg 或1G移动到文本的行首
shift g 或 G移动到最后一行行首
10G 或10gg移动到文本的指定行首
HOME 和 $移动光标到行首
END 和 ^移动光标到行尾
o光标的下面处 插入一行 并进入编辑模式
O光标的上面 插入一行 并进入编辑模式
2.删除
x删除单个字符
cc删除光标当前行并进入编辑模式
C删除光标所在行后的内容并进入编辑模式
D删除光标所在行后的内容
d$删除到行尾
d^删除到行首
行数+D删除当前行到选定行
dG删除光标所在行下面的所有内容
3.复制/剪切/移动/粘贴
yy复制当前行
p粘贴到光标所在下面的行
dd剪切当前行
dw删除或剪切相同符号间的单词

①:1copy5 复制第一行到第五行下面 简写 1co5

《day09-Linux运维-vim编辑器与显示文件内容的命令》 image.png

②:1move5 移动第一行到第五行 简写 mo

《day09-Linux运维-vim编辑器与显示文件内容的命令》 image.png

③ctrl+v 先选中多少行 按大写I 插入 oldboy ESC ESC

《day09-Linux运维-vim编辑器与显示文件内容的命令》 image.png

《day09-Linux运维-vim编辑器与显示文件内容的命令》 image.png

4.替换&撤销
r替换单个字符
R连续替换多个字符 按Esc返回命令模式
u撤销上一步
:set nu显示行号
:set nonu取消显示行号

:%s#oldboy#root#g 把oldboy替换为root ,g是全局替换

《day09-Linux运维-vim编辑器与显示文件内容的命令》 :%s#oldboy#root

《day09-Linux运维-vim编辑器与显示文件内容的命令》 image.png

批量操作
ctrl+v+方向  选择区域内容 
批量修改 I  插入内容后2次Esc修改成功
批量删除 d/x
5.echo:输出文本内容

1.-n 不换行显示
2 .> 输出重定向
3.>> 追加输出重定向
4.-e 激活特殊符号 \t \n

    [root@oldboy-59 ~]# echo {1..10}       //1到10的序列数
    1 2 3 4 5 6 7 8 9 10
    [root@oldboy-59 ~]# echo {01..10}      //01到10的序列数
    01 02 03 04 05 06 07 08 09 10
    [root@oldboy-59 ~]# echo {01..10..2}   //1到10每次+2
    01 03 05 07 09
    [root@oldboy-59 ~]# echo {01..10..3}   //1到10每次+3
    01 04 07 10

    创建目录oldboy/{01..10}/{www,blog,bbs}

    mkdir -p oldboy/{01..10}/{www,blog,bbs}
seq 生成序列:seq -w 100
6.cat:查看文件内容

文件合并
cat passwd test.txt >>all.txt
-b 显示行号 不统计空白行
-n 显示行号统计空白行
cat >>test.txt<<EOF

EOF 追加
cat >test.txt<<EOF

EOF 覆盖

7.more:分页显示内容 more /etc/init.d/functions
f 空格: 下一页
b:      上一页
q:      退出(查看到文件底部自动退出)
8.less:分页显示内容 less /etc/init.d/functions
f:   下一页
b:   上一页
q或Q: 退出(查看到文件底部,不退出)
-N:   显示行号
/要搜索的内容  搜索查找 n查找下一个  N 查找上一个
9.head:显示文档头部 head test.txt -n+行数
[root@oldboy-59 ~]# head test.txt -n1
#! /bin/bash
[root@oldboy-59 ~]# head -n1 test.txt
#! /bin/bash
10.tail:显示文档尾部
-n:显示文档后几行
-f:显示文档后几行(实时更新)
tail -n5 test.txt 
tail  -n1 test.txt -n2  以后面的优先
tailf = tail -f  查看实时的日志情况

《day09-Linux运维-vim编辑器与显示文件内容的命令》 image.png

11.别名 alias 系统默认给rm mv cp 定义了别名
[root@lcx ~]# alias
alias cp='cp -i'
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto'
alias l.='ls -d .* --color=auto'
alias ll='ls -l --color=auto'
alias ls='ls --color=auto'
alias mv='mv -i'
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
alias         查看已定义的别名
alias rm='命令'  
alias rm='echo command bny...'  可以使rm功能不能使用

unalias+别名 取消别名

《day09-Linux运维-vim编辑器与显示文件内容的命令》 image.png

坑:  在alias添加别名后还要注释.bashrc里面的别名,不然重启后失效

设置网卡名称为别名eth0

alias eth0='vim /etc/sysconfig/network-scripts/ifcfg-eth0'

[root@lcx ~]# alias eth0='vim /etc/sysconfig/network-scripts/ifcfg-eth0'
[root@lcx ~]# eth0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth0
UUID=076a4e14-67bb-49ee-8778-687d86d3ba63
DEVICE=eth0
ONBOOT=yes
IPADDR=10.0.0.201
PREFIX=24
GATEWAY=10.0.0.254
DNS1=10.0.0.254
DNS2=223.5.5.5
IPV6_PRIVACY=no                                                          
"/etc/sysconfig/network-scripts/ifcfg-eth0" 21L, 372C 5,1           All
    原文作者:linux丶晨星
    原文地址: https://www.jianshu.com/p/95ad4bd56326
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞