2023-01-12 08:53:15 +08:00
|
|
|
[#]: subject: "Whereis Command in Linux and BSD with Examples"
|
|
|
|
[#]: via: "https://www.debugpoint.com/whereis-command-linux/"
|
|
|
|
[#]: author: "Arindam https://www.debugpoint.com/author/admin1/"
|
|
|
|
[#]: collector: "lkxed"
|
|
|
|
[#]: translator: "geekpi"
|
2023-01-15 14:52:28 +08:00
|
|
|
[#]: reviewer: "wxy"
|
|
|
|
[#]: publisher: "wxy"
|
|
|
|
[#]: url: "https://linux.cn/article-15446-1.html"
|
2023-01-12 08:53:15 +08:00
|
|
|
|
2023-01-15 14:52:28 +08:00
|
|
|
whereis 命令的解释与示例
|
2023-01-12 08:53:15 +08:00
|
|
|
======
|
|
|
|
|
2023-01-15 14:52:28 +08:00
|
|
|
> 这是一份关于如何理解 Linux 和 BSD 中 `whereis` 命令的初学者指南,还包括几个例子。
|
2023-01-12 08:53:15 +08:00
|
|
|
|
|
|
|
![][1]
|
|
|
|
|
2023-01-15 14:52:28 +08:00
|
|
|
这篇文章是 [Linux 命令][2] 学习系列的一部分。
|
2023-01-12 08:53:15 +08:00
|
|
|
|
|
|
|
### whereis 命令
|
|
|
|
|
|
|
|
`whereis` 命令是一个命令行程序,可以帮助你找出任何二进制可执行文件、源文件或手册页的路径或位置。
|
|
|
|
|
|
|
|
在告诉你如何使用 `whereis` 命令之前,让我们先看看其语法。
|
|
|
|
|
|
|
|
### 语法
|
|
|
|
|
|
|
|
以下是 whereis 命令的语法:
|
|
|
|
|
|
|
|
```
|
|
|
|
whereis [OPTIONS] FILE_NAME
|
|
|
|
```
|
|
|
|
|
2023-01-15 14:52:28 +08:00
|
|
|
`whereis` 命令的参数是你要搜索的程序名或文件名。该参数是必须的。
|
2023-01-12 08:53:15 +08:00
|
|
|
|
2023-01-15 14:52:28 +08:00
|
|
|
默认情况下,它在环境变量(如 `HOME`、`USER`、`SHELL` 等)中定义的路径中搜索程序。
|
2023-01-12 08:53:15 +08:00
|
|
|
|
|
|
|
让我们看下一些例子。
|
|
|
|
|
|
|
|
### Linux 和 BSD 中 whereis 命令的例子
|
|
|
|
|
2023-01-15 14:52:28 +08:00
|
|
|
下面是 `whereis` 命令的一个简单例子,我试图搜索 `firefox`。在下面的输出中,你可以看到包含 `firefox` 文件或可执行文件的路径列表。
|
2023-01-12 08:53:15 +08:00
|
|
|
|
|
|
|
```
|
|
|
|
$ whereis firefox
|
|
|
|
|
|
|
|
firefox: /usr/bin/firefox /usr/lib64/firefox /etc/firefox /usr/share/man/man1/firefox.1.gz
|
|
|
|
```
|
|
|
|
|
|
|
|
![Linux 中 whereis 命令的简单例子][3]
|
|
|
|
|
2023-01-15 14:52:28 +08:00
|
|
|
带有选项 `-l` 的命令会显示其搜索的路径列表。比如:
|
2023-01-12 08:53:15 +08:00
|
|
|
|
|
|
|
```
|
|
|
|
$ 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
|
|
|
|
```
|
|
|
|
|
2023-01-15 14:52:28 +08:00
|
|
|
如果 `whereis` 命令没有找到任何东西,它只显示参数的名称。例如,如果我在 Linux 中搜索 `nano`,它没有安装,它的输出如下:
|
2023-01-12 08:53:15 +08:00
|
|
|
|
|
|
|
```
|
|
|
|
$ whereis nano
|
|
|
|
```
|
|
|
|
|
|
|
|
```
|
|
|
|
nano:
|
|
|
|
```
|
|
|
|
|
2023-01-15 14:52:28 +08:00
|
|
|
如果你想搜索更多的参数,你可以随时添加多个参数。例如,下面的命令同时搜索 `bash` 和 `nano`,输出结果是这样的:
|
2023-01-12 08:53:15 +08:00
|
|
|
|
|
|
|
```
|
|
|
|
$ 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
|
|
|
|
```
|
|
|
|
|
2023-01-15 14:52:28 +08:00
|
|
|
你也可以使用 `-b` 选项搜索特定的文件类型,比如二进制文件。下面的命令只告诉你 `nano` 的二进制路径。
|
2023-01-12 08:53:15 +08:00
|
|
|
|
|
|
|
```
|
|
|
|
$ whereis -b nano
|
|
|
|
|
|
|
|
nano: /usr/bin/nano /usr/share/nano
|
|
|
|
```
|
|
|
|
|
2023-01-15 14:52:28 +08:00
|
|
|
同样,`-s` 选项可以搜索源文件,而 `-m` 选项可以搜索手册页。
|
2023-01-12 08:53:15 +08:00
|
|
|
|
|
|
|
```
|
|
|
|
$ whereis -m nano
|
|
|
|
|
|
|
|
nano: /usr/share/man/man1/nano.1.gz /usr/share/info/nano.info.gz
|
|
|
|
```
|
|
|
|
|
2023-01-15 14:52:28 +08:00
|
|
|
你也可以结合上面的选项来进行更广泛的搜索。例如,下面的命令可以搜索 `nano` 和 `firefox` 的二进制、手册页;而对于 `bash`,只搜索手册页。
|
2023-01-12 08:53:15 +08:00
|
|
|
|
|
|
|
```
|
|
|
|
$ 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
|
|
|
|
```
|
|
|
|
|
|
|
|
下面是选项的摘要:
|
|
|
|
|
|
|
|
| 选项 | 描述 |
|
|
|
|
| :- | :- |
|
2023-01-15 14:52:28 +08:00
|
|
|
| `-b` | 只搜索二进制文件。|
|
|
|
|
| `-m` | 只搜索手册页部分。|
|
|
|
|
| `-s` | 只搜索源码。|
|
|
|
|
| `-u` | 搜索不寻常的条目。如果一个文件没有所要求的每种类型的条目,就被称为不寻常。因此,`whereis -m -u *` 会查询当前目录中没有文档的那些文件。|
|
|
|
|
| `-B` | 改变或限制 `whereis` 搜索二进制文件的地方。|
|
|
|
|
| `-M` | 更改或限制 `whereis` 搜索手册的位置。|
|
|
|
|
| `-S` | 更改或以其他方式限制 `whereis` 搜索源码的位置。|
|
|
|
|
| `-f` | 终止上一个目录列表并指示文件名的开始,并且必须在使用任何 `-B`、`-M` 或 `-S` 选项时使用。|
|
2023-01-12 08:53:15 +08:00
|
|
|
|
2023-01-15 14:52:28 +08:00
|
|
|
### 总结
|
2023-01-12 08:53:15 +08:00
|
|
|
|
2023-01-15 14:52:28 +08:00
|
|
|
我希望这篇文章能够帮助你理解 `whereis` 命令及其基本原理。你也可以阅读 [whereis 手册页][4] 来了解更多。如果你有任何问题,请告诉我。
|
2023-01-12 08:53:15 +08:00
|
|
|
|
|
|
|
--------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
via: https://www.debugpoint.com/whereis-command-linux/
|
|
|
|
|
|
|
|
作者:[Arindam][a]
|
|
|
|
选题:[lkxed][b]
|
|
|
|
译者:[geekpi](https://github.com/geekpi)
|
2023-01-15 14:52:28 +08:00
|
|
|
校对:[wxy](https://github.com/wxy)
|
2023-01-12 08:53:15 +08:00
|
|
|
|
|
|
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
|
|
|
|
|
|
|
[a]: https://www.debugpoint.com/author/admin1/
|
|
|
|
[b]: https://github.com/lkxed
|
|
|
|
[1]: https://www.debugpoint.com/wp-content/uploads/2023/01/whereis-head.jpg
|
|
|
|
[2]: https://www.debugpoint.com/category/linux-commands
|
|
|
|
[3]: https://www.debugpoint.com/wp-content/uploads/2023/01/Simple-example-of-whereis-command-in-Linux.jpg
|
|
|
|
[4]: https://linux.die.net/man/1/whereis
|