我們經(jīng)常在linux要查找某個(gè)文件,但不知道放在哪里了,可以使用下面的一些命令來(lái)搜索:
- which 查看可執(zhí)行文件的位置。
- whereis 查看文件的位置。
- locate 配合數(shù)據(jù)庫(kù)查看文件位置。
- find 實(shí)際搜尋硬盤查詢文件名稱。
01. 命令概述
查找環(huán)境變量中的文件
which 命令用于查找并顯示給定命令的絕對(duì)路徑,環(huán)境變量 PATH 中保存了查找命令時(shí)需要遍歷的目錄。which 指令會(huì)在環(huán)境變量 $PATH 設(shè)置的目錄里查找符合條件的文件。也就是說(shuō),使用 which 命令,就可以看到某個(gè)系統(tǒng)命令是否存在,以及執(zhí)行的到底是哪一個(gè)位置的命令。
02. 命令格式
which [選項(xiàng)] 執(zhí)行文件名 […]
03. 常用選項(xiàng)
查找環(huán)境變量中的文件
-a 查找全部?jī)?nèi)容,而非第一個(gè)文件
-n <文件名長(zhǎng)度> 指定文件名長(zhǎng)度,指定的長(zhǎng)度必須大于或等于所有文件中最長(zhǎng)的文件名。
-p <文件名長(zhǎng)度> 與-n參數(shù)相同,但此處的<文件名長(zhǎng)度>包括了文件的路徑。
-w 指定輸出時(shí)欄位的寬度。
-V 顯示版本信息。
--version, -[vV] 顯示版本信息并退出
--help 顯示幫助信息并退出
--skip-dot 跳過(guò) PATH 中以點(diǎn)開(kāi)頭的目錄
--skip-tilde 跳過(guò) PATH 中以波形符號(hào)開(kāi)頭的目錄
--show-dot 不要在輸出中將點(diǎn)擴(kuò)展到當(dāng)前目錄
--show-tilde 為 HOME 目錄(非根目錄)輸出波形
--tty-only 如果不在 tty 上,停止右邊的處理選項(xiàng)
--all, -a 打印 PATH 中的所有匹配項(xiàng),而不僅僅是第一個(gè)
--read-alias, -i 從 stdin 中讀取別名列表
--skip-alias 忽略選項(xiàng) --read-alias;不讀 stdin
--read-functions 從 stdin 讀取 shell 函數(shù)
--skip-functions 忽略選項(xiàng) --read-functions;不讀 stdin
04. 參考示例
4.1 顯示命令的路徑
[deng@localhost test]$ which bash
/usr/bin/bash
說(shuō)明:which 是根據(jù)使用者所配置的 PATH 變量?jī)?nèi)的目錄去搜尋可運(yùn)行文件!所以,不同的 PATH 配置內(nèi)容所找到的命令可能不一樣的。
4.2 顯示命令的別名
[deng@localhost test]$ which which
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
/usr/bin/alias
/usr/bin/which
[deng@localhost test]$
4.3 普通用戶和root用戶查找路徑不同
普通用戶查找的情形
[deng@localhost test]$ which pwd
/usr/bin/pwd
root用戶查找的情形
[root@localhost ~]# which pwd
/bin/pwd
[root@localhost ~]#
4.4 查找不到內(nèi)建命令
[root@localhost ~]# which type
/usr/bin/which: no type in (/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)
[root@localhost ~]#
到此這篇關(guān)于Linux which命令的具體使用的文章就介紹到這了,更多相關(guān)Linux which內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!