4.7 KiB
Linux 和 BSD 中的 Whereis 命令及示例
这是一份关于如何理解 Linux 和 BSD 中 whereis 命令的初学者指南,其中有几个例子。
这篇文章是 Linux 命令学习系列的一部分。
whereis 命令
whereis
命令是一个命令行程序,可以帮助你找出任何二进制可执行文件、源文件或手册页的路径或位置。
在告诉你如何使用 whereis
命令之前,让我们先看看其语法。
语法
以下是 whereis 命令的语法:
whereis [OPTIONS] FILE_NAME
whereis 命令的参数是你要搜索的程序名或文件名。该参数是强制性的。
默认情况下,它在环境变量(如 HOME、USER、SHELL 等)中定义的路径中搜索程序。
让我们看下一些例子。
Linux 和 BSD 中 whereis 命令的例子
下面是 whereis 命令的一个简单例子,我试图搜索 firefox。在下面的输出中,你可以看到包含 firefox 文件或可执行文件的路径列表。
$ whereis firefox
firefox: /usr/bin/firefox /usr/lib64/firefox /etc/firefox /usr/share/man/man1/firefox.1.gz
带有选项 -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:
如果你想搜索更多的参数,你可以随时添加多个参数。例如,下面的命令同时搜索 bash 和 nano,输出结果是这样的:
$ 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
你也可以结合上面的选项来进行更广泛的搜索。例如,下面的命令可以搜索 nano 和 firefox 的二进制、手册页,而对于 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 手册页来了解更多。如果你有任何问题,请告诉我。
本文是 Linux 命令学习系列的一部分。
via: https://www.debugpoint.com/whereis-command-linux/