Linux檔案查詢命令及find詳解

2021-07-24 13:38:01 字數 3343 閱讀 6728

1、locate工具

2、find工具

1、特點:

(1)依賴資料庫(可以用update更新資料庫,但費時長,現實企業環境最好不用)

(2)非實時查詢,結果非精確

(3)查詢速度快

(4)模糊查詢

1、特點:

(1)實時查詢,查詢速度慢

(2)精確匹配

2、find命令格式:

# find

[options]

[查詢路徑]

[查詢條件]

[處理動作]

(1)預設情況:

①查詢路徑:預設當前目錄

②查詢條件:預設為查詢指定路徑下的所有檔案

③處理動作:預設為顯示

(2)查詢條件選項:

-name 『filename』:對檔名作精確匹配,檔名支援萬用字元匹配(globbing,{*,?,【】,【^】}),檔名有空格用「」括起。

-iname 『filename』:檔案匹配時不區分大小寫,同上支援globbing。

-regex pattern:基於正規表示式進行檔案查詢(檔名匹配)

-user username:根據檔案屬主查詢

-group groupname:根據檔案屬組查詢

-uid uid:根據檔案的uid查詢

-gid gid:根據檔案的gid查詢

上述兩個選項的意義在於:如果使用者或組被刪除後,檔案中包含的屬主、屬組的查詢會被轉換成對應的uid和gid查詢

-nouser:查詢沒有屬主的檔案

-nogroup:查詢沒有屬組的檔案

-type {f,d,c,b,l,p,s}:查詢特定的檔案型別

f:普通檔案

d:目錄

c:字元裝置

b:塊裝置

l:符號鏈結檔案

p:命名管道裝置

s:套接字裝置

-size [+|-] size(大小)unit(單位):按檔案大小查詢

+表示大於,-表示小於

常用單位:

[+|-]#k

[+|-]#m

[+|-]#g

組合條件:

-a:與(and)

-o:或(or)

-not:非(not)

優先順序:-not>-a>-o

非a或非b==非(a且b)

非a並非b==非(a或b)

⑬按時間戳查詢:-{time,min} [+|-]#

以天為單位:

-mtime #:表示過去第(#+1)天以後第#天以前的時間段被修改過的檔案

-ctime #:表示過去第(#+1)天以後第#天以前的時間段被改變過的檔案

-atime #:表示過去第(#+1)天以後第#天以前的時間段被訪問過的檔案

以分鐘為單位:

-mmin #:表示過去第(#+1)分鐘以後第#分鐘以前的時間段被修改過的檔案

-cmin #:表示過去第(#+1)分鐘以後第#分鐘以前的時間段被改變過的檔案

-amin #:表示過去第(#+1)分鐘以後第#分鐘以前的時間段被訪問過的檔案

上述均支援[+|-]#

+表示:過去第(#+1)天(分鐘)以前被訪問過

-表示:現在到過去第#天(分鐘)以內被訪問過

⑭按檔案許可權位查詢:-perm [+|-]mode(精確匹配,mode為3位八進位制數

+mode:9位許可權位中任意一位匹配即滿足條件(任何一類使用者任何一維許可權匹配即可)–>常用於查詢某類使用者的某特定許可權是否存在

-mode:檔案許可權能完全包含mode時才滿足(每類使用者的任何一位許可權為匹配才滿足)–>常用於查詢某類使用者包含哪些許可權

沒有符號:精確匹配許可權位置

(3)處理動作:(預設為-print)

①-print:列印在標準輸出上

②-ls:以長格式輸出各檔案資訊

③-exec command {} \;:對查詢的檔案執行指定的命令

④-ok command:互動式的-exec

⑤find | xargs command:與exec功能相似,但需要通過管道將標準輸入轉換為命令。

例:find /tm p/test/ -perm -666 | xargs ls -l {}

find /etc/ -size +1m | xargs echo {} >> /tmp/etc.largefiles

{}是檔案佔位符代替查詢到的檔案的名稱

-exec的好處:

例:find /tmp/test -perm -666 -exec {} {}x \;

可用於對搜尋到的檔名進行二次或以上的引用,而xargs只能引用一次。

xargs的好處

可以對搜尋到的檔名逐個處理

linux檔案查詢命令

linux 檔案查詢命令 1 which 可執行檔名 查詢可執行檔案命令 顯示乙個可執行檔案的完整路徑 按照alias path的順序查詢 例 which lmcbbat 2 whereis 可執行檔名 搜尋乙個可執行工具及其相關配置,幫助 例 whereis lmcbbat 3 slocate l...

linux 檔案查詢命令

linux which命令用於查詢檔案。which指令會在環境變數 path設定的目錄裡查詢符合條件的檔案。語法 which 檔案.引數 linux find命令用來在 指定目錄下查詢 檔案。任何位於引數之前的字串都將被視為欲查詢的目錄名。如果使用該命令時,不設定任何引數,則find命令將在當前目錄...

linux 檔案查詢命令

which是根據使用者設定的path變數內的目錄去查詢可執行檔案,所以不同使用者查詢到的結果可能不一樣。命令用法 file 檢視檔案型別 ascii data binary which a command 尋找執行檔案 whereis bmsu 檔案或目錄名 查linux系統資料庫 locate i...