Linux find 命令使用示例

按名字查詢

1. 查找home目錄及其子目錄的 *.txt 文件

find ~ -name "*.txt" -print

2. 查找當前目錄及其子目錄的 *.txt 文件

find . -name "*.txt" -print

3. 查找以大寫字母開頭的文件

find . -name "[A-Z]*" -print

按文件權限相位查詢
1. 查詢權限爲755的文件

find . -perm 755 -print

忽略某個文件夾
忽略“APD-CORE" 目錄並且name是按.txt 文件結尾
find . -path "./APD-CORE" -prune -o -name "*.txt" -print
-prune 是指忽略的意思 -o是or的意思,不解釋 -o ,知道這樣用好了,講的太複雜也沒啥意思。
按用戶/用戶組來查詢
1. 查找是用戶root 創建的文件
find . -user "root" -print
2. 查找文件屬主賬號已被從系統刪除,之前創建的文件
find . -nouser  -print
把user換成group 就是針對組而且,不再贅述。
按時間查詢
1. 查找修改時間在5日之內的文件
find . -mtime -5 -print
2. 查找修改時間在5日之前的文件
find . -mtime +5 -print
按某個文件時間查詢
1 .查找比config.ini 新的文件
find . -newer config.ini  -exec ls -l {} \;
2. 查找比config.ini 老的文件
find . -newer config.ini  -exec ls -l {} \;
3. 查找比config.ini, 比ex 老的文件
find . -newer config.ini ! -newer ex -print
按文件大小查詢
1. 查找文件在165個字節以內的文件
find . -size -165c -print
2. 查找文件大於165個字節的文件
find . -size +165c -print
按文件深度查詢
1. 只在當前文件下,非遞歸(不進入子目錄)查詢
find . -name "*.txt" -maxdepth 1 -print 
對查找出來的文件進行操作
find . -name "*.txt" -maxdepth 1 -exec ls -lrt {} \;
find . -name "*.txt" -maxdepth 1 -ok ls -lrt {} \; 
< ls ... ./temp/coreinsights_old/hd/user/data/testcal/dw_calendar.txt > ?  ; 會詢問是否要進行操作y/n
Xargs 替代exec
find . -name "*.txt" -maxdepth 1 | xargs ls -lrt
發佈了40 篇原創文章 · 獲贊 2 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章