这是一份关于如何理解 Linux 和 BSD 中 whereis命令的初学者指南,还包括几个例子。

where和where is的区别(命令的解释与示例)(1)

这篇文章是 Linux 命令学习系列的一部分。

whereis 命令

whereis命令是一个命令行程序,可以帮助你找出任何二进制可执行文件、源文件或手册页的路径或位置。

在告诉你如何使用 whereis命令之前,让我们先看看其语法。

语法

以下是 whereis 命令的语法:

whereis [OPTIONS] FILE_NAME

whereis命令的参数是你要搜索的程序名或文件名。该参数是必须的。

默认情况下,它在环境变量(如 HOMEUSERSHELL等)中定义的路径中搜索程序。

让我们看下一些例子。

Linux 和 BSD 中 whereis 命令的例子

下面是 whereis命令的一个简单例子,我试图搜索firefox。在下面的输出中,你可以看到包含firefox文件或可执行文件的路径列表。

$ whereis firefox firefox: /usr/bin/firefox /usr/lib64/firefox /etc/firefox /usr/share/man/man1/firefox.1.gz

where和where is的区别(命令的解释与示例)(2)

带有选项 -l的命令会显示其搜索的路径列表。比如:

$ whereis -l bin: /usr/bin bin: /usr/sbin bin: /usr/lib bin: /usr/lib64 bin: /etc bin: /usr/games bin: /usr/local/bin bin: /usr/local/sbin bin: /usr/local/etc bin: /usr/local/lib bin: /usr/local/games

如果 whereis命令没有找到任何东西,它只显示参数的名称。例如,如果我在 Linux 中搜索nano,它没有安装,它的输出如下:

$ whereis nano

nano:

如果你想搜索更多的参数,你可以随时添加多个参数。例如,下面的命令同时搜索 bashnano,输出结果是这样的:

$ whereis bash nano bash: /usr/bin/bash /usr/share/man/man1/bash.1.gz /usr/share/info/bash.info.gz nano: /usr/bin/nano /usr/share/nano /usr/share/man/man1/nano.1.gz /usr/share/info/nano.info.gz

你也可以使用 -b选项搜索特定的文件类型,比如二进制文件。下面的命令只告诉你nano的二进制路径。

$ whereis -B nano nano: /usr/bin/nano /usr/share/nano

同样,-s选项可以搜索源文件,而-m选项可以搜索手册页。

$ whereis -m nano nano: /usr/share/man/man1/nano.1.gz /usr/share/info/nano.info.gz

你也可以结合上面的选项来进行更广泛的搜索。例如,下面的命令可以搜索 nanofirefox的二进制、手册页;而对于bash,只搜索手册页。

$ whereis -bm nano firefox -m bash nano: /usr/bin/nano /usr/share/nano /usr/share/man/man1/nano.1.gz /usr/share/info/nano.info.gz firefox-m: bash: /usr/bin/bash /usr/share/man/man1/bash.1.gz /usr/share/info/bash.info.gz

下面是选项的摘要:

选项描述
-b只搜索二进制文件。
-m只搜索手册页部分。
-s只搜索源码。
-u搜索不寻常的条目。如果一个文件没有所要求的每种类型的条目,就被称为不寻常。因此,whereis -m -u *会查询当前目录中没有文档的那些文件。
-B改变或限制 whereis搜索二进制文件的地方。
-M更改或限制 whereis搜索手册的位置。
-S更改或以其他方式限制 whereis搜索源码的位置。
-f终止上一个目录列表并指示文件名的开始,并且必须在使用任何 -B-M-S选项时使用。

总结

我希望这篇文章能够帮助你理解 whereis命令及其基本原理。你也可以阅读whereis 手册页来了解更多。如果你有任何问题,请告诉我。

via: https://www.debugpoint.com/whereis-command-linux/

作者:Arindam选题:lkxed译者:geekpi校对:wxy

本文由 LCTT原创编译,Linux中国荣誉推出

,