8.3.2 which:显示命令的全路径
8.3.2 which:显示命令的全路径
1. 命令详解
【命令星级】 ★★★★★
【功能说明】
which命令用于显示命令的全路径,我们常用这个命令查找命令在哪里,which命令查找的范围是PATH环境变量的路径。
【语法格式】
which [option] [programname]
which [选项] [命令名]
说明:
which命令用于在PATH环境变量里查找指定的命令。
【选项说明】
表8-5针对which命令的参数选项进行了说明。
表8-5 which命令的参数选项及说明
2. 使用范例
范例8-2:通过which命令查找指定命令全路径。
[root@oldboy ~]# echo $PATH #<==先查看环境变量。
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@oldboy ~]# which date #<==查看date命令的全路径。
/bin/date
[root@oldboy ~]# which which #<==如果指定命令设置了别名,则使用which功能将会显示别名情况。
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
/usr/bin/which
[root@oldboy ~]# which cd #<== Bash内置命令无法使用which。
/usr/bin/which: no cd in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
范例8-3:参数-a的测试。
[root@oldboy ~]# which mysql #<==该实验需要MySQL服务环境。
/usr/local/sbin/mysql
[root@oldboy ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
[root@oldboy ~]# PATH=$PATH:/application/mysql/bin/ #<==添加路径到环境变量。
[root@oldboy ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/application/mysql/bin/
[root@oldboy ~]# which -a mysql #<==所有包含mysql命令的路径都显示出来了。
/usr/local/sbin/mysql
/application/mysql/bin/mysql #<==/application/mysql路径是老男孩编译的mysql路径。