Linux文件查找常用命令(下)

其他文件查找命令:

1.locate:在文件资料库中查找文件

  locate 文件名(直接跟上文件名就可以查找文件)

  locate struggle:查找文件struggle

Linux文件查找常用命令(下)

 

 

   在Linux系统中,有一个定期维护的文件资料库,系统里所有的文件都会被定期收录到文件资料库中,使用locate查找文件时,locate直接查找文件资料库,因此查找的速度就很快。

  可以使用 locate locate查看文件资料库。同时locate还有几个缺点,当新建一个文件时,使用locate命令查不到该文件,原因是系统还没有更新文件资料库,因此找不到该新建文件,你可以使用update手动更新。其次,当文件是在/tmp目录下创建的,使用locate命令也查找不到新建的文件,原因是:存放临时文件的目录/tmp并不在文件资料库的收录范围内,因此使用locate是不能查找到该目录下/tmp新建的文件的。

  使用locate locate 查看文件资料库

Linux文件查找常用命令(下)

 

 

   新建一个文件,使用locate查看,在使用update更新文件资料库,在使用locate查看

Linux文件查找常用命令(下)

 

   在目录/tmp下创建文件,使用locat 查找,发现查找不了

Linux文件查找常用命令(下)

 

 

   使用locate查找文件,不区分大小写 locate -i 文件名(Linux中严格区分大小写)

Linux文件查找常用命令(下)

 

 

 

2.which:搜索命令所在目录及其别名信息

  which 命令

  which是相对更精确的查找命令,比如查找的文件是一个命令(可执行文件),使用which就可以精准的查找到该命令的目录(命令所在位置的据对路径)。

Linux文件查找常用命令(下)

 

 

   在Linux中,命令是以二进制的文件存储的,存储于bin和sbin下,bin下的命令所有用户都能执行,而sbin下的命令只能管理员root才能执行。

3.whereis:搜索命令所在目录及其帮助文档路径

  whereis [命令名称]

Linux文件查找常用命令(下)

 

 

 

4.grep:在文件中搜寻字符串匹配行并显示

  -i 不区分大小写

  -v 排除指定字符串

grep在文件内容中进行查找,把想要查找的包含关键词的那一行显示出来。

Linux文件查找常用命令(下)

 

 

   使用参数 -i ,查找时不区分关键词的大小写

  grep -i  关键词 文件的据绝对路径

  grep -i right /root/test/hello.txt

  查找文件hello.txt内容中包含right的行并显示(不区分大小写)

Linux文件查找常用命令(下)

 

   排除指定字符串

  grep -v today is sunny sunny 

Linux文件查找常用命令(下)

 

 

   当我们看一个文件时,若注释的内容很多,我们只想查看没有注释的内容。既可以用方向查找的思想 -v 来实现。

  先准备数据:

Linux文件查找常用命令(下)

 

   grep -v ^# 文件绝对路径

  grep -v ^# /root/test/sunny

 

  ^# 把以#开头的行排除

Linux文件查找常用命令(下)

 

   

你可能想把包含#的行去掉,但是这样是执行失败的

Linux文件查找常用命令(下)

 

 

   如文本内容中的 today is sunny # the weather condition ,若grep -v # sunny执行成功,那么意味着这一行数据也要被删除,但实际上,这一行数据对我们是有用的,该行后的数据#the weather condition是对today is sunny的解释说明,并不意味着这一行数据都是注释,因此grep -v # sunny是不能执行成功的。

  把参数-i,-v连接起来用

  grep -iv today sunny

  把文件sunny里包含today大小写的关键词排除,并显示剩余的内容

Linux文件查找常用命令(下)

 

上一篇:Kali_Linux上安装Gnome时,遇到"Unable to locate GNOME Shell settings or version. Make sure it is instal


下一篇:Win10_spark本地模式报错:Failed to locate the winutils binary in the hadoop binary path java.io.IOException