功能簡述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 查找文件命令 http://www.linuxidc.com/Linux/2012-06/61876.htm
Linux下的文件查找——type whereis which find locate http://www.linuxidc.com/Linux/2013-06/86038.htm
RHCE_RHEL6_135 U4.0 查找和處理文件which&locate&find http://www.linuxidc.com/Linux/2012-10/73089.htm