一、查找指令
1、find指令(重要) -name
Linux下find指令在目录结构中搜索文件,并执行指定的操作。
Linux下find指令提供了相当多的查找条件,功能很强大,由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下。
即使系统中有网络文件系统,find命令在该文件系统中同样有效,只要你有相应的权限。
在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间。
功能:在文件树种查找文件,并作出相应的处理(可能访问磁盘)。
常用选项:
-name 按照文件名查找文件。
它会搜索到该目录下所有文件名为目标文件的文件路径。
find非常消耗资源,遍历一个大的文件系统。 可能访问磁盘(外设),效率非常低。
2、which命令
在系统中只搜索指令,打印指令在什么路径下。
在系统中搜索指令,查询在什么路径下。
这里需要提一嘴,之前博主提到ls 显示目录时普通文件为黑色,而目录为蓝色,为什么呢?这里我们通过which 看到ls指令里面有,这个指令是给文件染上颜色的指令。
3、alias指令
alias指令功能是对指令进行重命名。
用法:alias 名字='指令';
比如我把top指令重名为lisi,输入lisi就能执行top命令。
我用which查询一下lisi,来验证他是否会出现top指令的路径。
我们看到这里和C++里面的引用取别名是非常相似的,这里lisi就是top的别名,但还是top。
再举个例子,比如说我把lisi命名为ls的别名,并让文件显示不同的颜色也是可以的:
4、whereis指令
whereis指令不同于find的精确查找,它是近似查找的方案,它在特定路径下查找指定的文件名对应的指令,或文档。
whereis 会帮我们去指定路径下做搜索,一般是目录路径,公共路径中去搜索,找名字当中包含你所要搜索的关键字的路径,包括指令,一些压缩包,一些文档,他都会找到。
总结一下:
whereis比which查找的范围更大,但是比find查找范围更小。
二、字符串匹配指令
1、grep指令
语法:grep [选项] 搜寻字符串文件
功能:在文件中搜索字符串,将找到的行打印出啦。
常用选项:
grep -i :忽略大小写的不同,所有大小写视为相同;
grep -n:顺便输出行号;
grep -v:反向选择,亦即显示出没有‘搜寻字符串’内容的那一行。
①grep
grep默认,会匹配文本中的关键字,匹配上的进行行显示。
比如我在文本test.txt里面查找有关键字‘888’的文本,就会找到打印出来:
对所有含有‘888’关键字的都会打印,对特定文本内容进行过滤筛选。
②grep -n指令
grep -n指令会在输出含关键字的文本,同时输出行号,这个行号不是对输出的内容进行排序的行号,而是它在文本中的行号。
③grep -i
grep -i 查找会忽略大小写。
比如我要查找有thank关键字的文本,默认是区分大小写的,但是grep -i查找就会忽略大小写。
④grep -v
grep -v 把匹配到的不要显示,没匹配到的显示,反向选择。
⑤ grep结合管道
grep 可以和其他指令结合管道来进行某些匹配工作。
wc -l 是统计行数的指令。
三、排序去重指令
1、sort指令
sort 文件名 :对文本内容进行升序排序。
注意:sort排序不是计算文本数据大小排序,因为有数字也有字母不好排,它是以行为单位,按照文本行首个元素ASCII码值进行排序。
2、uniq指令
uniq 文件名 对文件文本进行去重。
对相邻的文本行凡是相等的全部去重,只保留一行;因为uniq是把相邻的去重,所以要结合sort先排序,那么相邻的都是相同的文本,然后去重。