码农需要注意的文件查找这些坑!(干货)-tmp是什么文件

作为码农,你有时需要查找一些文件或者命令在哪里?而这时候我们就需要用到相关的指令进行操作了,特别方便,但是不去理解很容易进坑!


码农需要注意的文件查找这些坑!(干货)

命令档名的搜寻:which

文件档名的搜寻:whereis, locate, find


●名称:whereis

功能:定位文件所在的目录

使用whereis命令可以定位常用命令的位置:

[root@yanghsia root]#whereis ls (# 定位ls命令的位置)

ls:/bin/ls (# ls位于/usr/bln目录下)

whereis命令不是通过查找磁盘上的所有文件来实现定位的,你可以随便指定一个可执行文件,估计whereis会找不到,这是因为whereis是根 据环境变量PATH来查找文件的,而PATH通常设置成存放命令的那些路径,如 /bin、/usr/bin等,因此whereis的用途仅限于定位shell命令所在的位置。

可以通过echo $PATH查看自己的路径都包括什么!

●名称:find

功能:查找文件

find命令可以用来从指定的目录开始查找文件,它的速度虽比不上whereis命令,但没有任何限制,而且功能要比whereis命令强。

[root@yanghsia root]#find -name student.txt

/tmp/student.txt (# 查找结果)

●名称:locate

功能:查找文件或目录

除find命令外,locate也是在系统中查找文件的常用方法。

[root@yanghsia root]#locate student.txt (# 查找student.txt文件)

用locate命令查找的文件和find一样没有任何限制,但执行速度却比find要快不少,其主要原因在于,locate不是从磁盘中实时查找文件,而是到由updatedb命令产生的信息库中查找相应的文件和目录,这样一来速度当然快了。

[root@yanghsia root]#updatedb

码农需要注意的文件查找这些坑!(干货)

注 意:如果locate找不到某个文件,而你又确信该文件肯定存在,那一定是updatedb生成的信息库已经过时了。此时你要做的就是以root身份登 录,然后执行updatedb命令,重新建立整个系统所有文件和目录的资料库,虽然这个过程可能会浪费一点时间,但以后再查找文件时就方便多了。

所以综上所述,用locate是最划算最常用的方法,当然find的功能更加强大,如果有对权限等要求的查找就需要用find了!

码农需要注意的文件查找这些坑!(干货)

推荐阅读