在 Linux 中,搜索文件最简单快速的方法就是使用 whereis 命令,该命令的基本格式如下:
此格式中,用 [] 括起来的都是可选选项,其中各个参数的含义分别是:
前面之所以说 whereis 简单,因为只要执行如下命令:
就可以搜索到 ls 命令以及它的联机帮助文档所在的位置。
通常情况下,我们只需要查看输出结果的第一部分,这是目标命令所在的位置。
同时该命令执行效率还很高,因为它根本不在磁盘中漫无目的的乱找,而是在一个数据库中(/var/lib/mlocate)查询,这个数据库是 Linux 系统自动创建的,其包含本地所有文件的信息,并且每天通过自动执行 updatedb 命令更新一次。
但是,也正因为这个数据每天才自动更新一次,会使得 whereis 命令的搜索结果可能会不准确。比如刚添加的文件可能搜不到,而刚删除的文件还会出现在结果中。因此,如果想使用 whereis 命令获得准确的搜索结果,最好事先手动执行一个 updatedb 命令。
虽然 whereis 命令既简单又高效,但是功能却很有限,它只能用于搜索可执行文件、联机帮助文件和源代码文件。如果想要获得更全面的搜索结果,可以使用 locate、find 等搜索命令。