1、find 简单介绍

作用:查找文件系统中指定的文件或文件夹
find 位置 -name 文件名,如:
查找/etc目录下面的名字为a.txt文件
find /etc/ -name a.txt

2、grep简单介绍

查看文件
cat /etc/passwd 查看/etc/passwd文件里面的内容
过滤行包含的字符
如:过滤/etc/passwd文件里面包含mail的行
cat /etc/passwd | grep mail
过滤/etc/passwd文件里面包含root的行
cat /etc/passwd | grep root
-v:相反

3、Shell 输入/输出重定向

3.1 输入/输出重定向介绍

一般情况下,每个Linux命令运行时都会打开三个文件:
标准输入文件(stdin):stdin的文件描述符为0,默认从stdin读取数据。
标准输出文件(stdout):stdout 的文件描述符为1,默认向stdout输出数据。
标准错误文件(stderr):stderr的文件描述符为2,会向stderr流中写入错误信息。

3.2 重定向符号

3.2.1 正常重定向符号

输出重定向到一个文件或设备覆盖原来的文件
>> 输出重定向到一个文件或设备,追加原来的文件

3.2.2 错误重定向符号:

2> 将一个标准错误输出重定向到一个文件或设备
2>> 将一个标准错误输出重定向到一个文件或设备,追加到原来的文件
2>&1 将一个标准错误输出重定向到标准输出
&> 将一个标准错误输出重定向到一个文件或设备,覆盖

3.3 重定向图解

image.png
image.png

3.4 举例

command > filename 把标准输出重定向到filename文件中(覆盖)
command 1> fielname 把标准输出重定向到filename文件中(覆盖)

command >> filename 把标准输出重定向到filename文件中(追加)
command 1>> filename 把标准输出重定向到filename文件中(追加)

command 2> filename 把标准错误重定向到filename文件中(覆盖)
command 2>> filename 把标准输出重定向到filename文件中(追加)

command > filename 2>&1 把标准输出和标准错误一起重定向到filename文件中(覆盖)
command >> filename 2>&1 把标准输出和标准错误一起重定向到filename文件中(追加)
command &> filename 把标准输出和标准错误一起重定向到filename文件中

4、管道命令使用

4.1 管道符介绍

“|”是Linux管道命令操作符,简称管道符。使用此管道符“|”可以将两个命令分隔开,“|”左边命令的输出就会作为“|”右边命令的输入,此命令可连续使用,第一个命令的输出会作为第二个命令的输入,第二个命令的输出又会作为第三个命令的输入,依此类推。

4.2 管道注意两点

1)管道命令只处理前一个命令正确输出,不处理错误输出
2)管道命令右边命令,必须能够接收标准输入流命令才行

4.4 举例

1、查看文件前十行。
2、读出test.sh文件内容,通过管道转发给grep作为输入内容
3、cat test1.sh不存在,错误输出打印到屏幕,正确输出通过管道发送给grep
4、将test1.sh 没有找到错误输出重定向输出给/dev/null 文件,正确输出通过管道发送给grep

4.5 管道命令与重定向区别

1)左边的命令应该有标准输出 | 右边的命令应该接受标准输入
2)左边的命令应该有标准输出 > 右边只能是文件
3)管道触发两个子进程执行”|”两边的程序;而重定向是在一个进程内执行

5、vim使用

5.1 vim的基本概念

5.1.1 基本上vim可以分为三种状态

一般模式(command mode)
编辑模式(Insert mode)
命令行模式(last line mode)

5.1.2 各模式的功能区分如下:

1)一般模式(command mode)
控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。
2)编辑模式(Insert mode)
只有在Insert mode下,才可以做文字输入,按「ESC」键可回到一般模式。
3)命令行模式(last line mode)
将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。

5.2 vim的基本操作

5.2.1 进入vim

在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:
$ vi myfile
开始进去进入一般模式—>编辑模式—>命令行模式

5.2.2 切换至编辑模式

按「i」切换进入编辑模式,按“i”进入插入模式后是从光标当前位置开始输入文件;
按「a」进入编辑模式后,是从目前光标所在位置的下一个位置开始输入文字;
按「o」进入编辑模式后,是插入新的一行,从行首开始输入文字。
按A进入这一行的最后位置进行插入

5.2.3 退出vi及保存文件

在编辑模式下,按下esc:
: w filename (输入 「w filename」将文章以指定的文件名filename保存)
: wq (输入「wq」,存盘并退出vi)
: q! (输入q!, 不存盘强制退出vi)

5.3 一般模式操作

5.3.1 一般模式移动

按「ctrl」+「b」:屏幕往“后”移动一页。
按「ctrl」+「f」:屏幕往“前”移动一页。
回归第一行:1+G
按数字「0」:移到文章的开头。
按「$」:移动到光标所在行的“行尾”。
按「G」:移动到文章的最后。
按「^」:移动到光标所在行的“行首”或0

5.3.2 一般模式删除文字

「x」:每按一次,删除光标所在位置的“后面”一个字符。
「#x」:例如,「6x」表示删除光标所在位置的“后面”6个字符。
「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符。
「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符。
「dd」:删除光标所在行。
「#dd」:从光标所在行开始删除#行

5.3.3 一般模式复制

「yy」:复制光标所在行到缓冲区。
「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。
「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。

5.3.4 恢复/撤消/还原上一次操作

「u」:如果误执行一个命令,可以马上按下「u」,撤消上一个操作。按多次“u”可以执行多次撤消。

5.4.5 跳至指定的行

「#G」:例如,「15G」,表示移动光标至文章的第15行行首。

5.4.6 命令行下命令简介

在使用「last line mode」之前,请记住先按「ESC」键确定您已经处于「command mode」下后,再按「:」冒号即可进入「last line mode」。
1) 列出行号
「set nu」:输入「set nu」后,会在文件中的每一行前面列出行号。
2) 跳到文件中的某一行
「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。了解
3) 查找字符
「/关键字」:先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止,按N逆向查找。
「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。按N逆向查找。