find 命令 Linux命令篇 find命令

2021-10-11 08:32:05 字數 2390 閱讀 4242

find . ( -name "*.txt" -o -name "*.pdf" ) -print
演示結果:

find . -regex ".*(.txt|.pdf)$"
-iregex: 忽略大小寫的正則

查詢所有非txt文字

find . ! -name "*.txt" -print
演示結果:

列印出當前目錄的檔案(深度為1)

find . -maxdepth 1 -type f
演示結果:

5.1 按型別搜尋

-type b/d/c/p/l/f #查是塊裝置[b]、目錄[d]、字元裝置[c]、管道[p]、符號鏈結[l]、普通檔案[f]//只列出所有目錄find . -type d -print
演示結果:

5.2 按時間搜尋

-atime 訪問時間 (單位是天,分鐘單位則是-amin,以下類似)-mtime 修改時間 (內容被修改)-ctime 變化時間 (元資料或許可權變化)
時間引數:

+n天以外修改的檔案

n正好 n天 修改的檔案

-nn 天以內修改的檔案

舉例1: 查詢 /etc 目錄下,5天以內修改 且以 conf 結尾的檔案。 find /etc -mtime -5 -name '*.conf'

舉例2: 查詢 /etc 目錄下,10天之前修改,且屬於 yangyang 的檔案。 find /etc -mtime +10 -user yangyang

演示7天以內被訪問過的所有檔案:

find . -atime -7 -type f -print
演示結果:

5.3 按大小搜尋

w字 k m g

尋找大於2k的檔案

find . -type f -size +2k
5.4 按許可權查詢

//找具有可執行許可權的所有檔案find . -type f -perm 644 -print
5.5 按使用者查詢

// 找使用者weber所擁有的檔案find . -type f -user weber -print
5.6 找到後的後續動作5.6.1 刪除

刪除當前目錄下所有的swp檔案:

find . -type f -name "*.swp" -delete
5.6.2 執行動作(強大的exec)

//將當前目錄下的所有權變更為weberfind . -type f -user root -exec chown weber {} ;
注:{}是乙個特殊的字串,對於每乙個匹配的檔案,{}會被替換成相應的檔名;

eg:將找到的檔案全都copy到另乙個目錄:

find . -type f -mtime +10 -name "*.txt" -exec cp {} old ;
5.7 結合多個命令

tips: 如果需要後續執行多個命令,可以將多個命令寫成乙個指令碼。然後 -exec 呼叫時執行指令碼即可;

-exec ./commands.sh {} ;
-print的定界符

預設使用' '作為檔案的定界符;

-print0 使用''作為檔案的定界符,這樣就可以搜尋包含空格的檔案;

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 它將找到 並列印出 系統中的每個檔案。而且由於一切都是檔案,你會得到很多需要整理的輸出。這可能不能幫助你找到你要找的東西。你可以改變路徑引數來縮小範圍,但它不會比...

linux命令 find命令

一 根據名稱查詢檔案和目錄 二 根據許可權查詢檔案和目錄 三 基於所有者和組查詢檔案和目錄 四 根據日期和時間查詢檔案和目錄 五 根據大小查詢檔案和目錄 一 根據名稱查詢檔案和目錄 1 使用當前目錄中的名稱查詢檔案 find test.c 2 在主目錄下查詢檔案 find home name tes...