linux 搜索某个系统命令的位置
Which命令
功能简述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