which 命令详解

| 选择喜欢的代码风格  

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

which 命令安装:


-bash: which: command not found

#Debian
apt-get install which

#Ubuntu
apt-get install which

#Alpine
apk add which

#Arch Linux
pacman -S which

#Kali Linux
apt-get install which

#CentOS
yum install which

#Fedora
dnf install which

#Raspbian
apt-get install which

#Docker
docker run cmd.cat/which which

which 命令补充说明:


which 命令用于查找并显示给定命令的绝对路径,环境变量 PATH 中保存了查找命令时需要遍历的目录。which 指令会在环境变量 $PATH 设置的目录里查找符合条件的文件。也就是说,使用 which 命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令。

which 命令语法:


which [options] [--] programname [...]

which 命令选项:


--all, -a: 打印每个匹配文件名的所有匹配路径名。
-V:显示版本信息。

which 退出状态:

根据发生的情况,返回对应数下值。
# 数值
0 找到了所有文件名,所有文件都是可执行的。
1 找不到一个或多个文件名,或者文件名不可执行。
2 指定的选项无效。

which 命令参数:


指令名:指令名列表。

which 命令实例


查找文件、显示命令路径:

[root@dsp-adx ~]
$ which pwd
/usr/bin/pwd

[root@dsp-adx ~]
$ which sh
/bin/sh

如果有多个匹配可执行文件,则显示全部:

$ which -a executable
/usr/bin/which: no executable in (/usr/local/rvm/gems/ruby-2.4.1/bin:/usr/local/rvm/gems/ruby-2.4.1@global/bin:/usr/local/rvm/rubies/ruby-2.4.1/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/usr/local/rvm/bin:/home/www/.local/bin:/home/www/bin)

which 命令的坑:


其实这个也不能算是坑,只是需要注意下,在当前用户没有权限的情况下,有些命令,将会提示找不到命令位置

[commandnotfound@dsp-adx ~]
$ which adduser
/usr/bin/which: no adduser in (/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/commandnotfound/.local/bin:/home/commandnotfound/bin)

[commandnotfound@dsp-adx ~]

which 命令扩展阅读:




which 命令评论