Linux

命令 which 用于在环境变量$PATH中查找符合条件的命令的路径

2020-09-27 09:18:10 卿卿 5

在Linux系统中,命令 which 用于在环境变量$PATH中查找符合条件的命令的路径。

语法:

which [选项] [命令名]

参数说明:

默认在PATH路径中从前往后查找命令,如果查到了,就停止匹配。

-a : 遍历所有PATH路径,输出所有匹配项

案例:

查看命令tail与cat在分别在$PATH中的路径

[root@VM_0_5_centos ~]# which tail
/usr/bin/tail
[root@VM_0_5_centos ~]# which cat
/usr/bin/cat
[root@VM_0_5_centos ~]#

如果对命令设置了别名,使用which还可以显示别名的情况

[root@VM_0_5_centos ~]# which which
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
        /usr/bin/alias
        /usr/bin/which
[root@VM_0_5_centos ~]# which ll
alias ll='ls -l --color=auto'
        /usr/bin/ls
[root@VM_0_5_centos ~]#

部分Bash内置的命令无法使用which查看,例如 set

[root@VM_0_5_centos ~]# which set
/usr/bin/which: no set in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
[root@VM_0_5_centos ~]#