2024年5月15日,周三上午
whereis
命令是 Unix-like 操作系统中的一个工具,用于在文件系统中搜索命令、源代码和文档的位置。whereis
通常搜索二进制文件(-b
)、源代码文件(-s
)和手册页(-m
)。如果不指定任何选项,whereis
将返回所有这些类型的文件。
whereis
命令的基本语法是:
whereis [选项] 文件名
一些常用的选项包括:
-b
:只搜索二进制文件。-m
:只搜索手册页。-s
:只搜索源代码文件。-u
:搜索除了二进制文件、源代码文件和手册页之外的其他文件。
whereis
命令的一个常见用途是快速找到某个命令的二进制文件的位置,或者查找与命令相关的文档。
lighthouse@VM-24-15-ubuntu:~/python$ whereis python
python: /usr/bin/python3.8 /usr/bin/python2.7 /usr/bin/python /usr/lib/python3.8 /usr/lib/python2.7 /usr/lib/python3.9 /etc/python3.8 /etc/python2.7 /etc/python /usr/local/lib/python3.8 /usr/local/lib/python2.7 /usr/share/python /usr/share/man/man1/python.1.gz
可以看到whereis只会把和python有关的可执行文件、库文件和文档的位置都找出来
除了 whereis
,还有一些其他的命令可以用来搜索文件,尽管它们的功能可能与 whereis
略有不同:
locate
:locate
命令使用一个数据库来快速搜索文件。这个数据库通常是由updatedb
脚本定期更新。locate
命令可以用来搜索文件名,但它的速度比find
命令快,因为它不遍历文件系统。find
:find
命令用于在文件系统中递归地搜索文件。它可以执行更复杂的搜索,包括根据文件属性(如修改日期、权限等)来过滤结果。which
:which
命令用于查找可执行文件。它搜索用户的 PATH 环境变量中列出的目录,以找到特定命令的位置。type
:type
命令用于显示命令的类型(别名、内置命令或外部命令)以及它的路径。where
:where
命令通常是一个 shell 的内置命令,用于查找命令的别名或路径。command
:command
命令与which
类似,也用于查找可执行文件,但它不会返回未找到文件的错误。
这些工具各有其用途,但 whereis
由于其简洁性和快速性,通常用于快速查找与命令相关的文件。