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