Linux下文件查找命令find筆記


在Linux命令下如果需要快速自己系統所需要處理的文件,可以通過find命令快速進行檢索。

如果想在某個路徑下查找相應的文件可以執行如下命令:

find path -name filename

# path 文件路徑,可以用 / 來表示目錄,當然如果能大概確定目錄建議縮小目錄范圍,這樣可以檢索速度更快;filename 指的是文件檢索的文件名。

比如:find / -name mysql.conf

# 系統會從根目錄遍歷所有文件,然后找到mysql.conf 文件輸出找到的結果輸出在控制台。

當然也可以通過通配符來模糊指定文件名,比如我想查找系統中后綴是.conf文件文件,可以執行如下命令:

find / -name *.conf

關於find命令的語法格式如下:

find path -option [ -print ] [ -exec -ok command ] {} \

參數說明:

-print(可選參數): find命令將匹配的文件輸出到標准輸出。

-exec(可選參數): find命令對匹配的文件執行該參數所給出的shell命令。相應命令的形式為'command' { } \;,注意{ }和\;之間的空格

-ok(可選參數): 與-exec的作用相同,它會以一種更為安全的模式來執行該參數所給出的shell命令,在執行每一個命令之前,都會給出提示,讓用戶來確認是否執行。

find部分常用參數:

mount, -xdev : 只檢查和指定目錄在同一個文件系統下的文件,避免列出其它文件系統中的文件。

-amin n : 在過去 n 分鍾內被讀取過的文件

-anewer file : 比文件 file 更晚被讀取過的文件

-atime n : 在過去n天內被讀取過的文件

-cmin n : 在過去 n 分鍾內被修改過的文件

-cnewer file :比文件 file 文件時間更新的文件

-ctime n : 在過去n天內被修改過的文件

-empty : 空的文件-gid n or -group name : gid 是 n 或是 group 名稱是 name

-ipath p, -path p : 路徑名稱符合 p 的文件,ipath 會忽略大小寫

-name name, -iname name : 文件名稱符合 name 的文件。iname 會忽略大小寫

-size n[c] #查長度為n塊[或n字節]的文件

下面列出一些常用的find命令:

find ./ -type f #查找文件

#查找目錄

find ./ -type d

#查找名字為file1的文件或目錄

find ./ -name file1

#查找名字符合正則表達式的文件,注意前面的‘.*’(查找到的文件帶有目錄)

find ./ -regex .*so.*\.gz

#查找目錄並列出目錄下的文件(為找到的每一個目錄單獨執行ls命令,沒有選項-print時文件列表前一行不會顯示目錄名稱)

find ./ -type d -print -exec ls {} \;

#查找目錄並列出目錄下的文件(為找到的每一個目錄單獨執行ls命令,執行命令前需要確認)

find ./ -type d -ok ls {} \;

#查找目錄並列出目錄下的文件(將找到的目錄添加到ls命令后一次執行,參數過長時會分多次執行)

find ./ -type d -exec ls {} +

#查找文件名匹配*.c的文件

find ./ -name \*.c

#打印test文件名后,打印test文件的內容

find ./ -name test -print -exec cat {} \;

#不打印test文件名,只打印test文件的內容

find ./ -name test -exec cat {} \;

#查找文件更新日時在距現在時刻二天以內的文件

find ./ -mtime -2

#查找文件更新日時在距現在時刻二天以上的文件

find ./ -mtime +2

#查找文件更新日時在距現在時刻一天以上二天以內的文件

find ./ -mtime 2

#查找文件更新日時在距現在時刻兩分鍾以內的文件

find ./ -mmin -2

#查找文件更新日時在距現在時刻兩分鍾以上的文件

find ./ -mmin +2

#查找文件更新日時在距現在時刻一分鍾以上兩分鍾以內的文件

find ./ -mmin 2

#查找文件更新時間比文件abc的內容更新時間新的文件

find ./ -newer abc

#查找文件訪問時間比文件abc的內容更新時間新的文件

find ./ -anewer abc

#查找空文件或空目錄

find ./ -empty

#查找空文件並刪除

find ./ -empty -type f -print -delete

#查找權限為644的文件或目錄(需完全符合)

find ./ -perm 664

#查找用戶/組權限為讀寫,其他用戶權限為讀(其他權限不限)的文件或目錄

find ./ -perm -664

#查找用戶有寫權限或者組用戶有寫權限的文件或目錄

find ./ -perm /220

find ./ -perm /u+w,g+w

find ./ -perm /u=w,g=w

#查找所有者權限有讀權限的目錄或文件

find ./ -perm -u=r

#查找用戶組權限有讀權限的目錄或文件

find ./ -perm -g=r

#查找其它用戶權限有讀權限的目錄或文件

find ./ -perm -o=r

#查找所有者為lzj的文件或目錄

find ./ -user lzj

#查找組名為gname的文件或目錄

find ./ -group gname

#查找文件的用戶ID不存在的文件

find ./ -nouser

#查找文件的組ID不存在的文件

find ./ -nogroup

#查找有執行權限但沒有可讀權限的文件

find ./ -executable \! -readable

查找文件size大於10K的文件或目錄

find ./ -size +10k

#查找文件size小於10k的文件或目錄

find ./ -size -10k


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM