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

每天一個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 內所規範的目錄,所以當然一定找不到的!

 

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *