which [-a] command
-a:表示列出从PATH中查找到的所有命令,不是只列出第一个找到的命令
下面来看看几个例子:
Example 1:
[root@localhost ~]# which ls
alias ls='ls --color=auto'
/usr/bin/ls
值得注意的是
alias ls='ls --color=auto'
表示的是ls命名的别名
Example 2:
[root@localhost ~]# which history
/usr/bin/which: no history in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin)
可以看出以root身份查找没有找到相应命令的路径,因为history是bash内置的命令,可以看出which命令是从PATH环境变量里面进行查找的,不在PATH里面的就找不到了。
最后让我们来总结一下:
which是用来进行命令目录查找的;
which命令会从PATH环境变量里面进行查找,并且只会返回第一个查找到的命令,加了-a选项后会列出所有的结果;
这只是常用的方式,更多用法可以参考man手册。