Linux whereis命令
Linux whereis命令用于查找文件。
该指令会在特定目录中查找符合条件的文件。这些文件应属于原始代码、二进制文件,或是帮助文件。
该指令只能用于查找二进制文件、源代码文件和man手册页,一般文件的定位需使用locate命令。
语法
whereis [-bfmsu][-B <目录>...][-M <目录>...][-S <目录>...][文件...]
参数:
- -b 只查找二进制文件。
- -B<目录> 只在设置的目录下查找二进制文件。
- -f 不显示文件名前的路径名称。
- -m 只查找说明文件。
- -M<目录> 只在设置的目录下查找说明文件。
- -s 只查找原始代码文件。
- -S<目录> 只在设置的目录下查找原始代码文件。
- -u 查找不包含指定类型的文件。
实例
使用指令"whereis"查看指令"bash"的位置,输入如下命令:
$ whereis bash
上面的指令执行后,输出信息如下所示:
bash:/bin/bash/etc/bash.bashrc/usr/share/man/man1/bash.1.gz
注意:以上输出信息从左至右分别为查询的程序名、bash路径、bash的man 手册页路径。
如果用户需要单独查询二进制文件或帮助文件,可使用如下命令:
$ whereis -b bash
$ whereis -m bash
输出信息如下:
$ whereis -b bash #显示bash 命令的二进制程序
bash: /bin/bash /etc/bash.bashrc /usr/share/bash # bash命令的二进制程序的地址
$ whereis -m bash #显示bash 命令的帮助文件
bash: /usr/share/man/man1/bash.1.gz #bash命令的帮助文件地址
要查找与ls命令相关的所有文件,可以使用以下命令:
whereis ls
这将返回ls的二进制文件、源代码文件(如果存在)和手册页文件的路径。
如果只想查找ls的二进制文件,可以使用:
whereis -b ls
这将只返回ls的二进制文件路径。
注意事项
-
whereis命令基于预先构建的数据库进行搜索,因此搜索速度相对较快。但是,如果最近安装或更新了文件,可能需要运行sudo updatedb来更新数据库,以便whereis能够找到这些新文件。
-
whereis命令并不搜索当前目录或用户的$PATH环境变量中的目录。如果需要在特定目录中搜索文件,可能需要使用find或locate命令。
与其他命令的比较
-
which命令用于在用户的$PATH环境变量中查找可执行文件的路径。
-
locate命令也是基于预先构建的数据库进行搜索,但其数据库通常更全面,并且可以通过updatedb命令定期更新。
-
find命令是一个强大的实时搜索工具,可以根据各种条件搜索文件系统中的文件,但通常比whereis、which和locate命令慢。
总的来说,whereis命令是一个快速且有效的工具,用于在Linux系统中定位命令相关的文件。它的使用简单,但在某些情况下可能需要配合其他命令使用,以达到最佳的搜索效果。
这里是封面: