天天看點

[Linux] 查找 - which, whereis, locate, find

指令查找 - which

which指令用于查找PATH裡包含的可執行檔案(即指令)

which [-a] command
-a:列出所有指令
           

檔案和目錄查找 - whereis, locate, find

其中whereis和locate是從資料庫裡查找,是以速度較快,但無法找出最新的資料,因為資料庫預設情況下是每天更新一次(也可以執行updatedb指令手動更新)。

whereis file/dirname
locate [-i] keyword
-i:忽略大小寫
           

whereis和locate的差別是whereis是精準比對,而locate是關鍵字查找。 find指令是從硬碟查找,速度比較慢,但它功能更強大。

find [PATH] [option] [action]
           

find指令包含三個部分,[PATH]指要查找的路徑,[option]指定參數,如:

-name 要查找的檔案名
-atime -ctime -mtime  檔案時間
-type 檔案類型
-size 檔案大小
           

其中和時間相關的參數比較常用,如:

-mtime +n:列出在n天之前(不含n)被更改過的檔案
-mtime -n:列出在n天之内(含n)被更改過的檔案
-newer file:列出比file還要新的檔案
           

[action]表示對查找後的檔案進行操作的指令,指令内容以-exec開水,到\;結束,如下所示:

find /etc -name sysconfig -exec ls -l {} \;
           

其中{}表示由find找到的所有内容,是以上條指令表示尋找/etc下sysconfig檔案和目錄,并列出其目錄結構。

繼續閱讀