有时候,在使用命令行的时候,我们需要快速找到某个命令的二进制文件所在的位置。在这种情况下,find命令是一个选项,但使用它可能很耗时,并且可能会产生意外行为。有一个专门针对这种情况的命令:whereis。在本文中,我们将通过一些易于理解的示例来解释该命令的基础知识。但在我们这样做之前,值得说明的是,下面提供的所有示例都已在Ubuntu16.04LTS下进行了测试。Linuxwhereis命令whereis命令可以帮助用户找到某个命令的二进制文件、源代码和帮助页面。下面是它的格式:whereis[options][-BMSdirectory...-f]name...这是这个命令manpage给出的解释:whereis可以找到二进制文件,源文件和帮助指定命令文件。找到的文件显示时去掉了主路径名,然后是文件的(单个)尾随扩展名(例如:.c)和s。源代码管理中的前缀被删除。接下来,whereis尝试在标准Linux位置以及$PATH和$MANPATH指定的路径中查找特定程序。下面以问答的形式举例,让大家直观感受whereis命令的使用方法。Q1。如何使用whereis命令查找二进制文件的位置?例如,假设您想要查找whereis命令本身的位置。下面是你的具体操作:whereiswhereis如何使用whereis查找二进制文件的位置需要注意的是第一个输出路径就是你想要的结果。使用whereis命令还会显示帮助页面和源代码所在的路径。(如果可以找到则显示,但在本例中未找到)因此您在输出中看到的第二个路径是帮助页面文件所在的位置。Q2。搜索时如何指定只搜索二进制文件、帮助页面或源代码?如果只想搜索二进制文件,可以使用-b命令行选项。例如:whereis-bcp如何专门搜索二进制文件、手册或源代码类似,-m和-s这两个选项分别对应帮助页面和源代码。Q3.如何限制whereis命令的搜索位置?默认情况下,whereis从匹配器定义的硬编码路径中查找文件。但如果需要,您可以使用命令行选项限制搜索。例如,如果您只想在/usr/bin中查找二进制文件,则可以使用-B选项来执行此操作。whereis-B/usr/bin/-fcp注意:使用该方法时可以给出多个路径。使用-f选项明确分隔要搜索的目录列表和文件名。同样,如果只想搜索帮助文件或源代码,可以相应地使用-M和-S选项。Q4.如何查看whereis的搜索路径?还有一个对应这个的选项。只需在whereis后添加-l。whereis-l这是示例输出的一部分:HowtoseepathsthatwhereisusesforsearchQ5。如何查找具有异常条目的命令?对于whereis命令,如果一个命令对于每个显式请求类型项都有多个,则该命令被认为是一个异常。例如,一个没有可用文档的命令,或者其文档散落在各处的命令,都可以算作异常命令。使用-u选项时,whereis将显示具有异常条目的命令。例如下面的例子说明当前目录下没有对应的文件或者有多个文件的命令。whereis-m-u*综上所述,whereis不是那种你需要经常使用的命令行工具。但在某些特殊情况下,它肯定会让你的生活更轻松。我们已经介绍了该工具提供的一些重要命令行选项,因此请留意练习。有关更多信息,请直接转到其手册页。
