linux 檔案查詢
locate:根據全系統檔案資料庫進行,屬於模糊查詢,並且是非實時的
示例:linlin@ubuntu:~/linlin/text$ touch locate.test
linlin@ubuntu:~/linlin/text$ locate locate.test /home/linlin/linlin
/home/linlin/linlin
/home/linlin/linlin/code
/home/linlin/linlin/test
/home/linlin/linlin/word
/home/linlin/linlin/code/.sum.sh.swp
/home/linlin/linlin/code/a.out
/home/linlin/linlin/code/file.txt
/home/linlin/linlin/code/test3.c
通過示例,我們可以看到,在建立了乙個名為locate.test檔案後,馬上使用locate進行查詢,但卻並沒有
找到此檔案,由於locate是根據全檔案系統資料庫進行查詢,到此資料庫並非每時每刻都在不斷更新,所
以並沒有找到locate.test檔案,但卻將所有檔名和locate.test有一點相似的檔案都查了出來,表示
locate屬於模糊查詢
locate查詢的優點是速度快
find:實時查詢,精確查詢,並且支援眾多查詢標準
通過遍歷指定目錄下的所有檔案,與目標檔案匹配,因此find查詢速度相對於locate更慢
使用:find 查詢路徑 查詢標準 查詢到後的處理動作
當查詢路徑省略時,預設為當前目錄
查詢標準預設為指定路徑下的所有檔案
處理操作預設為列印到標準輸出
linlin@ubuntu:~/linlin/text$ touch find.test
linlin@ubuntu:~/linlin/text$ find find.test
find.test
匹配標準:
-name 檔名:根據檔名精確匹配,嚴格區分大小寫
支援檔名萬用字元,* ?
-iname 檔名:根據檔名精確匹配,但不區分大小寫
-regex mode:基於模式實現檔名匹配
-user 使用者名稱:根據檔案屬主匹配
-group 組名:根據檔案屬組匹配
當使用者,或使用者組被刪除後,就無法根據屬主名,屬組名查詢,這是就需要用到-uid -gid
-uid uid:根據uid匹配
-gid gid:根據gid匹配
-nouser:查詢沒有屬主的檔案
-nogroup:查詢沒有屬組的檔案
-type 檔案型別:根據檔案型別查詢
-size [+|-]數字單位:根據檔案大小查詢
單位:k m g,預設單位為位元組
[+|-]: 表示大於或小於
查詢時,範圍是指定數值到指定數值減乙個單位長度的數值之間
組合查詢條件:
-a:與
-o:或
-not:非
預設為與操作
根據時間戳查詢:
時間的某一刻,單位為天
-mtime 數字:根據修改時間
-ctime 數字:根據改變時間
-atime 數字:根據訪問時間
時間段[+|-]:+ 表示指定時間之前,- 表示指定時間到當前時間
單位為分鐘
-mmin, -cmin, -amin
根據檔案許可權查詢:
-perm -mode:查詢時每一組許可權都必須精確匹配
-perm /mode:查詢時只要有一組許可權匹配即可
執行動作:
-print:顯示
-ls:類似於ls -l命令,顯示查詢到的每乙個檔案的具體資訊
在需要對查詢到的檔案執行其他命令時:
-ok command {} \;
-exec command {} \;
{}: 表示引用查詢到的檔案的檔名
which 選項 command:尋找可執行檔案
-a:將所有查詢到的命令都列出來,而不是只顯示第乙個找到的命令
whereis 檔案型別 目標檔案:尋找特定檔案
-b:只找二進位制檔案
-m:只找在幫助檔案manual路徑下的檔案
-s:只找原始檔
-u:沒有幫助檔案的檔案
linux檔案查詢
命令與檔案的查詢 which 尋找執行檔案 which a command a 將所有由path目錄中可以找到的命令均列出來,而不只是第乙個被找到的命令名稱 eg which a ifconfig 檔案的查詢 whereis 尋找特定的檔案 bmsu 檔案或者目錄 引數 b 只尋找二進位制檔案 m ...
linux 檔案查詢
文字查詢 grep egrep fgrep 檔案查詢 locate find locate和find的區別 locate有自維護的資料庫 linux自建,與所有檔案關聯 每天linux會定時對其進行更新,而locate就在此資料庫中查詢,所以查詢速度非常快,但是缺點也很明顯,不能實時查詢 比如剛裝l...
Linux 檔案查詢
檔案查詢 簡介which 命令查詢 find 檔案查詢,針對檔名 locate 檔案查詢,依賴資料庫 一 命令檔案查詢 一 查詢ls 命令的位置 which ls 從path環境變數或者 whereis vim二 任意檔案 find 語法find path options expression ac...