Linux命令入门教程(四):文本编辑篇

4.1 文件编辑器vi/vim

vi和vim都是文本编译器,相对来说vim功能更强大更好用。Vi是系统 自带的工具,但vim不是系统自带的,需要手动安装(若未安装的,请执行安装程序:$ sudo apt-get install vim)。

vi/vim有三种模式:命令模式(Command mode),输入模式(Insert mode)、底线命令模式(Last line mode

三者切换方式:

Linux命令入门教程(四):文本编辑篇_第1张图片

通过vi/vim进入文本编辑:

$ vi aaa.txt

创建了一个文本aaa.txt(不存在时会自动创建新的)

默认进入是命令模式,如下:

 Linux命令入门教程(四):文本编辑篇_第2张图片

4.1.1 命令模式

在命令模式下,不能直接输入内容到文本中,只能输入命令,常用的命令有如下:

【切换到输入模式】:

i: 从光标所在字符的前面开始输入;

I: 从光标所在行的行首开始输入;

a: 从光标所在字符的后面开始输入;

A: 从光标所在行的行末开始输入;

o: 从光标所在行的下面创建新的一行并开始输入;

O: 从光标所在行的上面创建新的一行并开始输入;

【复制剪切粘贴】:

yy: 复制一行,前面加上数字代码复制多少行,如复制3行:3yy;

dd: 剪切一行,前面加上数字代码剪切多少行,如复制3行:3dd;

p: 粘贴一行,粘贴在光标的下一行;

【撤销与取消撤消】

u: 撤销上一步操作;

Ctrl + R: 取消上一次的撤销;

4.1.2 输入模式

从命令模式切换到输入模式后,显示如下:

Linux命令入门教程(四):文本编辑篇_第3张图片

在输入模式下,可以任意输入内容,

可以通过“上下左右”按键调整光标位置。

在输入模式下,按【Esc】键可退出输入模式,回到命令模式。

4.1.3 底线命令模式

在命令模式下,按“:”(冒号)可进入底线命令模式,如下:

Linux命令入门教程(四):文本编辑篇_第4张图片

底行是“:” (冒号),紧接其后的光标可输入命令,常用命令有如下:

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”字符串,并打印行号

你可能感兴趣的:(linux入门,linux,vim)