标签:
which (which) 命令的作用是在PATH变量指定的路径中搜索某个系统命令的位置并且返回第一个搜索结果。也就是说使用which命令就可以看到某个系统命令是否存在以及执行的到底是哪一个位置的命令
/usr/bin/which [options] [--] COMMAND [...]
--version, -[vV] 显示版本信息 --help, 显示帮助信息 --skip-dot Skip directories in PATH that start with a dot. --skip-tilde Skip directories in PATH that start with a tilde. --show-dot Don‘t expand a dot to current directory in output. --show-tilde Output a tilde for HOME directory for non-root. --tty-only Stop processing options on the right if not on tty. --all, -a 查找全部匹配的,而非第一个
--read-alias, -i Read list of aliases from stdin. --skip-alias Ignore option --read-alias; don‘t read stdin. --read-functions Read shell functions from stdin. --skip-functions Ignore option --read-functions; don‘t read stdin.
[root@oracledb ~]# which java /usr/bin/java
[root@oracledb ~]# echo $PATH /usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@oracledb ~]# which which alias which=‘alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde‘ /usr/bin/which
用 which 去找出 which,结果会有两个 which ,其中一个是 alias 这就是所谓的『命令别名』
[root@oracledb ~]# which cd /usr/bin/which: no cd in (/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
cd 这个常用的命令找不到,这是因为 cd 是bash 内建的命令! 但是 which 默认是找 PATH 内所规范的目录,所以当然找不到!
标签:
原文地址:http://www.cnblogs.com/xqzt/p/5426533.html