whereis命令用于快速查找命令的可执行文件、源代码和手册页位置,帮助用户确认命令是否存在、排查故障、保障安全及编写脚本。它搜索系统预设路径,不受PATH影响,与which(查PATH中可执行文件)和type(解析命令类型)不同。通过-b、-m、-s可限定搜索类型,-u查找缺失项,-B、-M、-S配合-f可自定义搜索路径,适用于非标准安装或完整性检查场景。

在Linux系统里,
whereis
whereis
whereis [选项] 命令名
比如说,你想知道
ls
whereis ls
通常你会看到类似这样的输出:
ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
这表示
ls
/usr/bin/ls
/usr/share/man/man1/ls.1.gz
ls
whereis
它默认搜索的路径通常包括:
/bin
/sbin
/usr/bin
/usr/sbin
/usr/local/bin
/usr/local/sbin
/usr/share/man
/usr/local/man
/usr/src
/usr/local/src
这种搜索机制使得
whereis
PATH

这问题问得好,很多人可能觉得,我直接输入命令就能运行,何必知道它具体在哪儿呢?但实际上,知道命令的准确位置,在很多情况下是至关重要的。
首先,故障排查。想象一下,你运行一个命令,结果系统告诉你“command not found”,或者它运行起来的行为跟你预期不一样。这时候,
whereis
PATH
whereis
其次,安全考量。在某些安全性要求高的环境里,你可能需要确保你执行的确实是系统提供的、经过验证的那个二进制文件,而不是被恶意替换或劫持的版本。通过
whereis
再者,编写脚本或自动化任务。在某些非交互式环境中,比如
cron
PATH
whereis

我个人觉得,初学者在Linux里最容易混淆的几个命令,
whereis
which
type
whereis
/usr/bin
/usr/share/man
PATH
whereis ls # 输出示例:ls: /usr/bin/ls /usr/share/man/man1/ls.1.gz
which
PATH
which
which ls # 输出示例:/usr/bin/ls
如果你给
ls
alias ls='ls -F'
which ls
/usr/bin/ls
type
type ls # 如果没有别名,输出示例:ls is /usr/bin/ls # 如果有别名,比如 alias ls='ls --color=auto' # 输出示例:ls is aliased to `ls --color=auto' type cd # 输出示例:cd is a shell builtin
总结一下,
whereis
which
PATH
type
whereis
which
type

whereis
whereis
1. 只查找特定类型的文件:
-b
whereis -b bash # 输出示例:bash: /usr/bin/bash
-m
whereis -m bash # 输出示例:bash: /usr/share/man/man1/bash.1.gz
-s
whereis -s bash # 输出示例:bash: /usr/src/bash (如果存在的话)
当你只想快速确认某个命令的文档是否存在,或者想看看它的源代码时,这些选项就非常方便。
2. 查找不寻常的条目 (-u
这个选项比较有意思。
whereis -u
whereis -u -m -b ls # 查找那些有二进制但没有手册页的ls条目,或者反之 # 如果ls的man page存在,可能不会有输出 # 假设有一个命令叫'mycommand',只有二进制文件,没有手册页 whereis -u -m -b mycommand # 如果 /usr/bin/mycommand 存在,但没有 /usr/share/man/man1/mycommand.1.gz # 输出示例:mycommand: /usr/bin/mycommand
这个功能在检查系统安装完整性时偶尔会用到,比如你安装了一个软件包,但发现它的文档缺失了。
3. 指定或排除搜索路径 (-b
-m
-s
-f
虽然
whereis
-B <目录列表>
-M <目录列表>
-S <目录列表>
-f
-f
# 假设你想在 /opt/custom_bin 和 /usr/local/bin 查找 grep 的二进制文件 whereis -b -B /opt/custom_bin /usr/local/bin -f grep # 输出示例:grep: /usr/local/bin/grep
这个高级用法在处理非标准安装路径或者调试特定环境问题时非常有用。比如,我曾经在某个旧系统上遇到过一个第三方工具,它的二进制文件和手册页都放在一个非常规的目录里,这时候指定搜索路径就派上用场了。
总的来说,
whereis
以上就是Linux查看命令位置whereis命令说明的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号