2013年9月8日 星期日

每天一個Linux指令- which (在PATH變數指定的路徑中,搜索某個系統命令的位置)

每天一個Linux指令- which (在PATH變數指定的路徑中,搜索某個系統命令的位置)



拷貝來源:


01.http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html


02.http://www.cnblogs.com/peida/archive/2012/11/08/2759805.html


我們經常在linux要搜尋某個檔,但不知道放在哪裡了,可以使用下面的一些命令來搜索: 
       which  
查看可執行檔的位置
       whereis 
查看文件的位置。 
       locate   
配合資料庫查看檔位置
       find   
實際搜尋硬碟查詢檔案名稱


which命令的作用是,在PATH變數指定的路徑中,搜索某個系統命令的位置,並且返回第一個搜索結果。也就是說,使用which命令,就可以看到某個系統命令是否存在,以及執行的到底是哪一個位置的命令。 


1命令格式:which 可執行檔名稱 


2命令功能:


which指令會在PATH變數指定的路徑中,搜索某個系統命令的位置,並且返回第一個搜索結果


3命令參數:


-n  指定檔案名長度,指定的長度必須大於或等於所有檔中最長的檔案名。


-p  與-n參數相同,但此處的包括了檔的路徑。


-w  指定輸出時欄位的寬度。


-V  顯示版本資訊


4使用實例:


實例1:查找檔、顯示命令路徑


命令:which pwd


輸出:


[root@localhost ~]# which pwd


/bin/pwd


[root@localhost ~]#  which adduser


/usr/sbin/adduser


[root@localhost ~]#


說明:


which 是根據使用者所配置的 PATH 變數內的目錄去搜尋可運行檔的!所以,不同的 PATH 配置內容所找到的命令當然不一樣的!


實例2:用 which 去找出 which


命令:


  which which


輸出:


[root@localhost ~]# which which


alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'


     /usr/bin/which


[root@localhost ~]#


說明:


竟然會有兩個 which ,其中一個是 alias 這就是所謂的『命令別名』,意思是輸入 which 會等於後面接的那串命令!


實例3:找出 cd 這個命令


命令:


 which cd


       說明:


cd 這個常用的命令竟然找不到啊!為什麼呢?這是因為 cd 是bash 內建的命令! 但是 which 預設是找 PATH 內所規範的目錄,所以當然一定找不到的!


 


沒有留言:

張貼留言