3
3.6Linux下whereis命令
Posted by 撒得一地 on 2016年1月27日 in Linux教程
Linux下搜寻文件,通常都是用whereis或locate来检查,因为whereis和locate是利用数据库来搜寻数据,所以速度相当快,而且并没有实际的搜寻硬盘。下面介绍whereis的参数和用法。
whereis参数和用法
[root@lmode ~]# whereis [-bmsu] [BMS 目录名 -f ] 文件名 选项与参数: -b :只找 binary 格式的文件 -m :只找在说明档 manual 路径下的文件 -s :只找 source 来源文件 -u :搜寻不在上述三个项目当中的其他特殊文件 -B :指定搜索可执行文件的路径。 -M :指定搜索帮助文件的路径。 -S :指定搜索源代码文件的路径。
在使用whereis命令进行搜索文件名时,如果不加任何选项的话,命令默认会列出所有找到的文件。比如:
[root@lmode /]# whereis ls ls: /bin/ls /usr/share/man/man1/ls.1.gz
如果只想找到关于ls命令的二进制文件,那么可以带上-b选项:
[root@lmode /]# whereis -b ls ls: /bin/ls
再比如,列出所有跟passwd命令有关的说明文件(man page):
[root@lmode /]# whereis -m passwd passwd: /usr/share/man/man1/passwd.1.gz
那么为什么whereis命令搜寻的速度会比较快?这是因为 Linux 系统会将系统内的所有文件都记录在一个数据库文件里面,而当使用 whereis 或者 locate 时,都会以此数据库文件的内容为准。所以,有时候用whereis命令,会找到一些已经删除的文件,或者找不到一些刚刚创建的文件,这是因为数据库还没更新导致的。默认情况下,该数据库文件是一星期更新一次。
3 Comments
不错
难怪 whereis 有时候抽风,原来是数据库还没更新。。
那么请问下,linux下保存文件地址的数据库名叫啥,怎么手动更新它。?