简介
在 PATH变量 指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。在日常工作中经常使用which命令来检查某个系统命令是否存在,或者找出所执行命令所对应的具体位置。
which 是根据使用者所配置的 PATH 变量内的目录去搜寻可运行档的!所以,不同的 PATH 配置内容所找到的命令当然不一样的!
命令格式
常用参数
—skip-alias | 禁止显示别名 |
---|---|
-a | 打印 PATH 中的所有匹配项,而不仅仅是第一个 |
示例
[root@localhost ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
[root@localhost ~]# which cat
/usr/bin/cat
[root@localhost ~]# which ls
alias ls='ls --color=auto'
/usr/bin/ls
[root@localhost ~]# which --skip-alias ls
/usr/bin/ls
## -a 查看所有符合的文件
[root@localhost ~]# cp /usr/bin/cat /usr/local/bin/
[root@localhost ~]# which cat
/usr/local/bin/cat
[root@localhost ~]# which -a cat
/usr/local/bin/cat
/usr/bin/cat
## 找不到内建命令
[root@localhost ~]# which type
/usr/bin/which: no type in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
## 查找多个命令
[root@localhost ~]# which cd pwd
/usr/bin/cd
/usr/bin/pwd