1. 程式人生 > >Linux基礎命令---which

Linux基礎命令---which

which

在環境變數PATH中搜索某個命令,返回命令的執行檔案或者指令碼位置,預設只顯示第一個結果。這需要一個或多個引數。對於它的每個引數,它會打印出當在shell提示符下輸入該引數時將執行的可執行檔案的完整路徑。它通過使用與bash(1)相同的演算法在環境變數路徑中列出的目錄中搜索可執行檔案或指令碼來做到這一點。

此命令的適用範圍:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。

 

1、語法

which [options]  [--]  programname [...]

 

2、選項列表

選項

說明

-v | -V | --version

顯示命令版本資訊

--help

顯示幫助文件

-a | -all

輸出所有的結果,而不只是第一個

--read-alias | -i

從stdin中讀取別名,在stdout上報告匹配的別名。

--skip-alias

忽略“--read-alias”

--read-function

從標準輸入讀取函式,在stdout輸出

--skip-functions

忽略“--skip-functions”

--skip-dot

忽略PATH中以點開頭的目錄

--skip-tilde

跳過路徑中以主目錄中的波浪線和可執行檔案開頭的目錄。

--show-dot

如果路徑中的目錄以點開始,併為該路徑找到匹配的可執行檔案,則列印“./Programname”而不是完整路徑。

--show-tilde

當目錄與主目錄匹配時,輸出一個波浪線。如果將該選項作以root身份呼叫,則忽略此選項

--tty-only

如果不在TTY上,則停止右邊的處理選項。

 

3、返回值

它返回失敗引數的數量,或者當未指定“程式名”時返回-1。

 

4、例項

1)搜尋指令

[[email protected] /]# which -a ls

alias ls='ls --color=auto'         //ls是一個別名

    /bin/ls

2)顯示所有結果 

[[email protected] /]# which -a ll

alias ll='ls -l --color=auto'

    /bin/ls

/usr/bin/which: no ll in (/usr/lib/qt-3.3/bin:/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin:/usr/local/src/jdk1.8.0_181/bin:/root/bin)

 

 

 

[email protected]  [email protected]