Linux中的which
命令被用于查找给定命令在系统中的位置。
命令语法
which
命令的语法如下:
which [options] [commands]
其中,options
表示which
命令的选项,commands
则表示要查找的命令。
命令选项
which
命令有以下的选项:
-n
: 指定查找的命令最大深度。-p
: 指定使用的PATH路径列表。-a
: 打印出查找到命令的所有路径,而不只是第一个路径。-s
: 仅在标准输出的最终结果中,用":"代替可以找到的所有位置。--skip-alias
: 忽略别名的存在。
使用方法
- 查找指定的命令路径
使用which
命令查找常用命令ls
的路径:
$ which ls
/usr/bin/ls
上述命令的输出表示ls
命令在/usr/bin/
目录下。
- 查找系统所有可执行文件
使用which
命令查找系统上所有可执行文件:
$ which -a *
/bin/which
/usr/bin/python
/usr/bin/php7.2
/usr/bin/zip
/usr/bin/zipcloak
/usr/bin/zipnote
/usr/bin/zipsplit
/usr/sbin/adduser
/usr/sbin/alternatives
/usr/sbin/groupadd
/usr/sbin/groupdel
/usr/sbin/groupmod
/usr/sbin/grouper
/usr/sbin/lpq
/usr/sbin/lpr
/usr/sbin/lprm
/usr/sbin/rmuser
/usr/sbin/useradd
/usr/sbin/userdel
/usr/sbin/usermod
上述命令的输出表示系统上所有可执行文件的路径,在这里,which
命令通配符*
代表了所有的文件名。而通过加上选项-a
,则输出的是所有可执行文件的路径列表。
注意事项
which
命令仅适用于已经执行过的命令。因此如果查找未安装的命令,将会抛出未找到命令的错误信息。- 如果在PATH路径中有多个相同命令,则
which
命令仅会输出找到的第一个命令的路径。 which
命令只查找可执行文件,对于shell函数或alias无效。- 由于
which
命令仅仅依赖PATH环境变量,因此在其他的脚本中也可以调用使用该命令。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Linux which命令:查找命令的路径 - Python技术站