Linux 檔案查詢

2022-06-29 01:57:16 字數 2196 閱讀 1019

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...