Skip to main content

如何使用Whereis查找Linux命令和程序

红帽RHCE认证【1.3.2】初级/查找命令/如何在Linux服务器上查找自己需要的文件和命令 find高级使用 grep正则表达式 rpm查找文件 (七月 2025)

红帽RHCE认证【1.3.2】初级/查找命令/如何在Linux服务器上查找自己需要的文件和命令 find高级使用 grep正则表达式 rpm查找文件 (七月 2025)
Anonim

你有没有试过找到命令,程序或应用程序的位置,但不知道在哪里看?

当然,您可以使用find命令尝试按如下方式找到它:

找/ -name firefox

这将返回潜在结果列表,通常,您可以通过这种方式找到程序的位置。

您可以使用的另一个命令是locate命令。例如:

找到firefox

但是,查找程序的最佳方法是whereis命令。

根据手册页:

whereis查找指定命令名称的二进制文件,源文件和手动文件。提供的名称首先被剥离了前导路径名组件和.ext形式的任何(单个)尾随扩展名(例如:.c)s的前缀。由于使用源代码控制而导致的问题也得到了解决。然后尝试在标准Linux位置以及$ PATH和$ MANPATH指定的位置找到指定的所需程序。

因此,本质上,whereis命令可以找到源代码,手册和程序的位置。

让我们用Firefox试试吧:

哪里是firefox

上述命令的输出如下:

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

如果您只想查找程序的位置,可以使用开关-b,如下所示:

whereis -b firefox

这将返回以下结果:

firefox:/ usr / bin / firefox / usr / lib64 / firefox

或者,如果您只想知道手册的位置,可以使用-m开关。

whereis -m firefox

上述命令的结果如下:

firefox:/usr/share/man/man1/firefox.1.gz

最后,您可以使用-s开关将搜索限制为仅源代码。

还有其他可用于whereis命令的开关,包括-u,用于查找异常文件。

手册说明了关于-u开关的以下内容:

如果一个命令不是每个显式请求的类型只有一个条目,那么它就是不寻常的。因此'whereis -m -u *'要求当前目录中没有文档文件或多个文件的文件。

基本上,如果您的系统上有多个手册,或者您运行的程序出现在多个位置,则会返回该手册。

如果您对程序或命令的位置有一个模糊的概念,并且您想要搜索特定的目录集,则可以使用-B开关在指定列表中搜索二进制文件。

例如:

whereis -b -B / usr / bin -f firefox

上面的命令有几个部分。首先是-b开关,这意味着我们只寻找二进制文件(程序本身)。 -B开关用于提供搜索二进制文件的位置列表,文件夹列表由-f开关终止。因此,在上面的命令中,搜索的唯一目录是/ usr / bin。最后,-f后面的firefox告诉了它在寻找什么。

-B开关的替代方法是-M,它在一组特定的文件夹中搜索手册。

-M开关的命令行如下:

whereis -m -M / usr / share / man / man1 -f firefox

-M的逻辑与-B的逻辑相同。 -m告诉whereis查找手册,-M告诉whereis文件夹列表即将进入,它应该查找手册。 -f终止文件列表,firefox是whereis命令将查找手册的程序。

最后,-S开关可用于列出一组文件夹以搜索源代码。