Linux命令之find命令

2021-10-22 19:26:37 字數 2096 閱讀 9831

在檔案系統上查詢符合條件的檔案;

檔案查詢:locate,find

非實時查詢(資料庫查詢):locate

實時查詢:find

locate::

依賴於事先構建的索引,索引的構建是在系統較為空閒時自動進行(週期性任務);手動更新資料庫(updatedb);

索引構建過程需要遍歷整個根檔案系統,極消耗資源

工作特點:

查詢速度快

模糊查詢

非實時查詢

locate keyword

find:

實時查詢工具,通過遍歷指定路徑下的檔案系統完成檔案查詢

工作特點:

查詢速度略慢

精確查詢

實時查詢

語法:find[option]

...[查詢路徑]

[查詢條件]

[處理動作]

查詢路徑:指定具體目標路徑,預設為當前目錄

查詢條件:指定的查詢標準,可以以檔名、大小、型別、許可權等標準進行,預設為找出指定路徑下的所有檔案;

處理動作:對符合條件的檔案做什麼操作,預設輸出至螢幕

查詢條件:

根據檔名查詢:

「name」「檔名」:支援globe

*,?,[

],[^]

-iname "檔名稱",不區分字母大小寫

-regex 「patten」:以pattern匹配整個檔案路徑字串,而不僅僅是檔名稱;

根據屬主、屬組查詢:

user username:查詢屬主為指定使用者的檔案;

group grpname:

-uid userid :查詢屬主為指定的uid號的檔案

-gid groupid :查詢屬組為指定gid號的檔案

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

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

根據檔案型別查詢:

-type type:

f:普通檔案

d:目錄檔案

s:套接字檔案

b:塊裝置檔案

c:字元裝置檔案

p:管道檔案

find /etc -type f -ls

組合條件:

與:-a

或:-o

非:-not,

找出/tmp目錄下,屬主不是root,且檔名不是fstab的檔案:

find /tmp \( -not -user root -a -not -name 'fstab' \) -ls

find /tmp -not \( -user root -o -name 'fstab' \) -ls

根據檔案大小來查詢:

-size

常用單位:k,m,g

#unit:(#-1,#)

-#unit:[0,#-1]

+unit:(

#,無窮)

根據時間戳:

以「天為單位」:

-atime

以分鐘為單位

-mtime

-ctime

根據許可權查詢:

-perm [+|-] mode find 檔案 -perm 755

mode 精確匹配

+mode 任何一類(u,g,o)物件許可權中只要能有一位匹配即可

-mode 每一類物件都必須同時擁有為其指定的許可權標準

處理動作:

-print:預設的處理動作,顯示至螢幕

-ls:類似於對查詢到的檔案執行 ls -l 命令

-delete 刪除查詢到的檔案

-fls /path/to/somefile : 查詢到的所有檔案的長格式資訊儲存至指定檔案中

-ok command \;對查到的每個檔案執行由command指定的命令

對於每個檔案執行命令之前,都會互動式要求使用者確認:

-exec command ...

:用於引用查詢到的檔名稱自身

注意:find傳遞查詢到的檔案至後面指定的命令時,查詢到所有符合條件的檔案一次性傳遞給後面的命令

有些命令不能接受過多引數,此時命令執行可能會失敗,另一種方式可規避此問題

find

|xargs command

Linux命令之find命令詳解

linux命令之find命令詳解 find命令是乙個在unix檔案系統中查詢檔案的常用命令,可以進行很多條件查詢。讓我們來看一些find命令的例項。語法 find 路徑 約束條件 如何查詢在檔名中含有指定關鍵字的檔案?下面這條命令查詢在 etc 目錄下所有檔名中含有 mail 的檔案。find et...

find 命令 Linux命令篇 find命令

find name txt o name pdf print演示結果 find regex txt pdf iregex 忽略大小寫的正則 查詢所有非txt文字 find name txt print演示結果 列印出當前目錄的檔案 深度為1 find maxdepth 1 type f演示結果 5....

Linux 命令 find 命令

find是日常工具箱中功能更強大 更靈活的命令列工具之一,因此值得花費更多的時間。最簡單的,find跟上路徑尋找一些東西。例如 find 它將找到 並列印出 系統中的每個檔案。而且由於一切都是檔案,你會得到很多需要整理的輸出。這可能不能幫助你找到你要找的東西。你可以改變路徑引數來縮小範圍,但它不會比...