find是用於查找文件的常用命令,實時查找,精確匹配,遍歷指定目錄中的所有文件,速度較慢
使用格式:
find [PATH] [OPTION][ACTION]
1、PATH:查找路徑,默認爲當前目錄
2、OPTION:參數(匹配標準),默認爲指定路徑下的所有文件
(1)與文件名稱及權限相關
-name 'FILENAME':精確匹配文件名,支持文件名通配
-iname 'FILENAME':不區分大小寫匹配文件名
-regex PATTERN:基於正則表達式匹配文件名
-type TYPE :匹配文件類型
TYPE如下:
f:file普通文件
d:directory目錄
c:character字符設備文件
b:block塊設備文件
l:link鏈接文件
p:pipe命令管道文件
s:socket套接字文件
-perm MODE:匹配權限相等
/MODE:匹配權限任意一位
-MODE:匹配包含此權限
-size [+|-] SIZE :比較文件大小(k、M、G)
(2)與用戶和用戶組相關
-user USERNAME :根據屬主查找
-group GROUPNAME :根據屬組查找
-uid UID :根據UID查找
-gid GID :根據GID查找
-nouser :查找沒有屬主的文件
-nogroup :查找沒有屬組的文件
(3)與時間相關
-mtime[+|-] DAY :匹配modify time
-ctime[+|-] DAY :匹配change time
-atime[+|-] DAY :匹配access time
備註:+DAY 是指DAY天之前
-DAY 是指DAY天之內
DAY 是指DAY之前的當天(一天內)
(4)組合條件
-a 與
-o 或
-not 非
3、ACTION:執行動作
-print 顯示(默認動作)
-ls 類似ls -l的形式顯示每一個文件的詳細
-ok COMMAND {} \; 交互式執行動作,每次執行都需用戶確認
-exec COMMAND {} \; 直接執行動作