vim/vi
vim/vi是Linux的文本编辑器,最小化安装默认无改命令,可通过yum install vim-enhanced -y
完成安装。
vim编辑器有三种模式:普通模式、编辑模式和命令模式
- 普通模式:直接vim进入即为普通模式,按
i
、a
、o
任意一键即进入编辑模式;按:
、/或?
即进入命令模式 1、i
:在当前光标所在处插入文字 2、A
:在当前所在行的行尾最后一个字符处开始插入文字,和I相反 3、I
:在当前所在行的行首第一个非空格符处开始插入文字,和A相反 4、O
:在当前所在行的上一行处插入新的一行 5、o
:在当前所在行的下一行处插入新的一行 - 编辑模式:编辑模式只可以切换到普通模式,按
Esc
键返回普通模式 - 命令模式:进入命令模式后,可以对文本文件进行保存等操作,同样按
Esc
键返回普通模式 1、w
:保存 write 2、u
: 撤销 undo 保存之前 3、q
: 退出 quit 4、!
: 强制
vim常用快捷键
- 移动光标(普通模式):
G
:文件结尾gg
:文件开头$
:行尾0
:行头ngg
:切换到第n行,n表示具体行号n[回车]
:向下移动n行 - 搜索(命令模式):
/内容
:向下搜索,此时按n继续搜索,N反向继续搜索。?内容
:向上搜索,此时按n继续搜索,N反向继续搜索。 - 替换(命令模式):
:%s/A/B/g
:把A替换成B,如果A或B中有斜线,把分割的斜线/
换#或@
作为分隔符 注:s
为替换,g
全局替换:n1,n2s/A/B/g
:n1、n2为数字,在第n1行和n2行间寻找A,用B替换 - 复制粘贴删除
yy
:复制当前行nyy
:复制从当前开始的n行p
:粘贴到光标的下一行P
:粘贴到光标的上一行dd
:删除当前行ndd
:删除从当前行开始的n行x
:删除光标后字符X
:删除光标前字符d1gg/d1G
:删除当前行至第一行dG
:删除当前行至最后一行d0
:删除当前光标文本至行首(不含光标)d$
:删除当前光标文本至行尾(含光标)
cat
cat经常用于查看文件内容,常用于行数较少的文件,默认不显示行号
代码语言:shell复制常用参数:-n:显示文件内容并标注行号
echo
echo打印内容输出的内容
代码语言:shell复制常用参数:
1. -n:所有内容输出一行
2. -e:支持转义字符(n换号,t空格键)
eg:[root@money ~]# echo -e 'InLovetYou'
I
Love You
[root@money ~]# echo 'InLovetYou'
InLovetYou
more/less
more/less常用于查看内容过多的文本文件,区别是more查看文本文件会预先加载整个文本内容,而less不会
具体区别:
- less可以按键盘上下方向键显示上下内容,more不能通过上下方向键控制显示
- less不必读整个文件,加载速度会比more更快
- less退出后shell不会留下刚显示的内容,而more退出后会在shell上留下刚显示的内容
less参数:-N 显示行号
head
head,从头开始查看指定文件内容,默认显示头10行
代码语言:shell复制常用参数:
-n 数字:从头开始显示指定行文件内容
tail
tail,从头尾部开始查看指定文件内容,默认显示最后10行
代码语言:shell复制常用参数:
-n 数字:从尾部开始显示指定行文件内容
-f:实时查看文件变化,常用于查看程序运行时实时日志
grep
grep通常用于过滤指定字符行,具体使用格式为grep [参数] 过滤内容 文件
常用参数:
1. -v:取反过滤,输出不包含指定字符的行
2. -i:过滤指定字符串不区分大小写
3. -E:同时过滤多个字符串
eg:[root@money ~]# grep -E 'root|bash' /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
m:x:1000:1000:m:/home/m:/bin/bash
touch
touch主要用于创建文件
格式:touch 文件名称
注:touch创建文件时,可根据序列同时创建多个文件,也可直接输入多个文件名称同时创建多个
alias
alias,别名,简化命令操作
代码语言:shell复制常见用法:
1. 查看已有别名:alias
2. 设置别名:alias 别名='完整命令'
eg:alias net='cat /etc/sysconfig/network-scripts/ifcfg-eth0' ##通过简化命令net直接查看网卡配置
3. 取消别名:unalias 别名
4. 永久设置别名:加入全局环境变量配置文件,一般是加入到/etc/bashrc中
全局【环境变量】文件/etc/profile和/etc/bashrc
用户【环境变量】文件~/.bash_profile和~/.bashrc
注:1、别名优先于命令
2、若别名和命令相同,执行时想要执行的时命令,可使用完整路径或加反斜线
eg:[root@money data]# alias rm='echo 暂时无法进行删除操作'
[root@money data]# rm
暂时无法进行删除操作
[root@money data]# rm
rm: 缺少操作数
Try 'rm --help' for more information.
[root@money data]# /bin/rm
/bin/rm: 缺少操作数
Try '/bin/rm --help' for more information.
uniq
uniq去重经常与sort排序一起使用,uniq用于处理文件中重复出现的行与列
代码语言:shell复制常见用法:
1、uniq 文本文件:相邻的相同行去重
eg:[root@money ~]# cat 1.txt
10.0.0.1
10.0.0.2
10.0.0.1
10.0.0.11
10.0.0.3
10.0.0.3
[root@money ~]# uniq 1.txt ##两个10.0.0.3相邻重复只显示1次
10.0.0.1
10.0.0.2
10.0.0.1
10.0.0.11
10.0.0.3
2、-c:计数,相邻的相同行去重并计数
eg:[root@money ~]# uniq -c 1.txt
1 10.0.0.1
1 10.0.0.2
1 10.0.0.1
1 10.0.0.11
2 10.0.0.3
sort
sort常用于对文件内容进行排序,默认会把所有相同的行连续排在一起
代码语言:shell复制常用参数:
-n 按数字排序
-t 指定分隔符
-k 指定列
-r 倒序