1. 程式人生 > 其它 >Linux檔案查詢

Linux檔案查詢

文章結構如下

  • locate命令
  • whereis命令
  • which命令
  • find命令

特殊環境變數——PATH

PATH 下存放著命令的所有路徑,執行命令的時候會先在 PATH 變數中從前到後挨個路徑查詢,每個路徑之間使用冒號分隔。使用如下命令可檢視 PATH 路徑。

echo $PATH

1. locate命令

locate 命令不搜尋具體目錄,而是搜尋一個數據庫(/var/lib/locatedb),這個資料庫中含有本地所有檔案的資訊。Linux系統自動建立這個資料庫,並且每天自動更新一次。要查詢最新變動的檔案,可以使用 updatedb命令手動更新。

# 搜尋etc目錄下所有以sh開頭的檔案
locate /etc/sh

# 搜尋使用者主目錄下所有以m開頭的檔案
locate ~/m

# 搜尋使用者主目錄下所有以m開頭的檔案,忽略大小寫
locate -i ~/m

2. whereis命令

whereis 命令只能用於程式名的搜尋,而且只搜尋二進位制檔案(引數 -b),man說明檔案(引數 -m)和原始碼檔案(引數 -s)。如果省略引數,則返回所有資訊。

whereis grep

3.which命令

which命令的作用是在PATH變數指定的路徑中,搜尋某個系統命令的位置,並返回第一個搜尋結果。使用which命令,可以檢視某個系統命令是否存在,以及執行的到底是哪一個位置的命令

which grep

4.find命令

find命令是最常見和最強大的查詢命令。使用格式如下:

find <指定目錄> <指定條件> <指定動作>

  • <指定目錄>: 所要搜尋的目錄及其所有子目錄。預設為當前目錄
  • <指定條件>: 所要搜尋的檔案的特徵
  • <指定動作>: 對搜尋結果進行特定的處理

如果什麼引數都不加,find預設搜尋當前目錄及其子目錄,並且不過濾任何結果,返回所有檔案。

# 搜尋當前目錄下所有檔名以my開頭的檔案
find . -name 'my*'

# 搜尋當前目錄下所有檔名以my開頭的檔案,並顯示它們的詳細資訊
find . -name 'my*' -ls

# 搜尋當前目錄中過去10分鐘內更新過的普通檔案
find . -type f -mmin -10

其中 find 命令是最慢的,它從硬碟中查詢,但它的功能是最強大的。