4.1 文件编辑器vi/vim
vi和vim都是文本编译器,相对来说vim功能更强大更好用。Vi是系统 自带的工具,但vim不是系统自带的,需要手动安装(若未安装的,请执行安装程序:$ sudo apt-get install vim)。
vi/vim有三种模式:命令模式(Command mode),输入模式(Insert mode)、底线命令模式(Last line mode)。
三者切换方式:
通过vi/vim进入文本编辑:
$ vi aaa.txt
创建了一个文本aaa.txt(不存在时会自动创建新的)
默认进入是命令模式,如下:
4.1.1 命令模式
在命令模式下,不能直接输入内容到文本中,只能输入命令,常用的命令有如下:
【切换到输入模式】:
i: 从光标所在字符的前面开始输入;
I: 从光标所在行的行首开始输入;
a: 从光标所在字符的后面开始输入;
A: 从光标所在行的行末开始输入;
o: 从光标所在行的下面创建新的一行并开始输入;
O: 从光标所在行的上面创建新的一行并开始输入;
【复制剪切粘贴】:
yy: 复制一行,前面加上数字代码复制多少行,如复制3行:3yy;
dd: 剪切一行,前面加上数字代码剪切多少行,如复制3行:3dd;
p: 粘贴一行,粘贴在光标的下一行;
【撤销与取消撤消】
u: 撤销上一步操作;
Ctrl + R: 取消上一次的撤销;
4.1.2 输入模式
从命令模式切换到输入模式后,显示如下:
在输入模式下,可以任意输入内容,
可以通过“上下左右”按键调整光标位置。
在输入模式下,按【Esc】键可退出输入模式,回到命令模式。
4.1.3 底线命令模式
在命令模式下,按“:”(冒号)可进入底线命令模式,如下:
底行是“:” (冒号),紧接其后的光标可输入命令,常用命令有如下:
w: 保存修改;
!: 不保存修改;
q: 退出vim编辑;
以上命令可单独使用,也可组合使用:
wq : 保存并退出;
q! : 不保存并退出;
在输入模式中修改了文本内容后,此时并未对内容进行保存,需在底线命令模式下用命令确认保存或不保存修改。
注:底线命令模式需按回车键确认并执行。
4.2 内容查找
4.2.1 文件查找find
find - search for files in a directory hierarchy,在指定目录(包括子目录)内查找目标文件或目录,并将找到的目标文件路径打印出来。
语法:
$ find [-H] [-L] [-P] [-D debugopts] [-Olevel] [starting-point...] [expression]
由于语法较复杂,这里只介绍根据文件名查找的方式,其他用法请自己探索。
命令 | 说明 |
find . -name "aaa.txt" | 在当前目录下查找aaa.txt |
find /home/ -name "*.txt" | 在/home目录下查找.txt后缀的文件 |
find . -name "*dir*" | 在当前目录下查找文件名中带”dir”的文件和目录 |
find . -iname "aaa*" | 在当前目录下查找以”aaa”开关的文件或目录(不区分大小写) |
4.2.2 内容查找grep
grep - global search regular expression(RE) and print out the line,用于查找文件里符合条件的字符串,全面搜索正则表达式并把行打印出来),是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
由于用法复杂,这里只介绍最常用的字符串查找 。
命令 | 说明 |
grep aaa *.txt | 在当前目录下后缀为.txt的文件中查找”aaa”字符串 |
grep -rn aaa /home/zengzr/ | 在/home/zengzr/目录下的文件中递归查找”aaa”字符串,-r代表递归,包括子目录,-n输出行号 |
cat aaa.txt | grep -n aaa | 在cat aaa.txt执行后输出的内容中查找”aaa”字符串,并打印行号 |