功能简述which命令的作用是在PATH变量指定的路径中搜索某个系统命令的位置并且返回第一个搜索结果。也就是说使用which命令就可以看到某个系统命令是否存在以及执行的到底是哪一个位置的命令。如果你想知道你的命令放在那里了那么可以用which去查找一下。当然你需要注意的是它是在PATH指定的路径中普通用户和超级用户的PATH是不一样的(在没做修改的情况下
语法which 可执行文件名称
参数
-n 指定文件名长度指定的长度必须大于或等于所有文件中最长的文件名。
-p 与-n参数相同但此处的包括了文件的路径。
-a 将PATH目录中可以找到指令均列出不止第一个而已。
-w 指定输出时栏位的宽度。
-V 显示版本信息
使用实例
查找普通个命令路径
[atong@LiWenTong tmp]$ which pwd
/bin/pwd
查找有别名的命令时会列出具体的别名信息
[atong@LiWenTong tmp]$ which ls
alias ls='ls --color=tty'
/bin/ls
查找命令不在普通用户的PATH中如ifconfig命令
[atong@LiWenTong tmp]$ which ifconfig
/usr/bin/which: no ifconfig in(/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/atong/bin)
Bash内建命令无法查找到如cd命令
[atong@LiWenTong tmp]$ which cd
/usr/bin/which: no cd in(/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:
《普通用户的PATH》
用户的PATH和root的PATH不同。如果希望相同那么需要编辑用户的家目录下的bash_profile文件太能加上/user/local/sbin:/sbin:/user/sbin
------------------------------后续自我小结-----------------------------
which命令这里的介绍就是查找命令在什么地方如果没有这个命令which就找不到咯。还有一个就是我们找的就是PATH里面存放的路径这个参数在/etc/profile文件里面有这个是全局所有用户的每个用户还有自己的文件哎呀一时忘记了。在~家目录里面的.profile文件里面吧。
一些我们自己安装的软件的命令路径我们也可以并入到PATH路径里面这样我们自己安装的软件的命令也能够被找到而且能够不加上全路径直接执行呢。
-----------------------------------------------------------------------
Linux which命令参数及用法详解---Linux 查找文件命令
Linux下的文件查找——type whereis which find locate
RHCE_RHEL6_135 U4.0 查找和处理文件which&locate&find