Find命令詳解
find命令詳解
格式
find pathname -options [ -print -exec -ok ... ]
功能
在磁盤中查找文件,並作相應處理
參數
pathname 所查找的目錄,可以是相對/絕對路徑
options
-print 將結果輸出到標準輸出
-exec ‘command‘ {} \; 對結果執行該參數所給的shell命令
-ok 與-exec作用相同,不過需要用戶確認是否執行命令
-name 按照文件名查找
-perm [+-]mode 按照文件權限查找
-mode 必須全部包括mode權限
+mode 包含任一mode
-user 按照所屬用戶查找
-group 按照所屬用戶組查找
-mtime/atime/ctime -n/+n 按照mtime/atime/ctime查找,-n表示n天內變更,+n表示n天前變更
-nogroup 查找無有效所屬組的文件,即該組不在/etc/group中存在
-nouser 查找無有效所屬用戶的文件,即該用戶不在/etc/passwd中存在
-newer file1 ! file2 查找比file新,比file2舊的文件
-type 查找某一類型的文件
b 塊設備文件
d 目錄
c 字符設備文件
p 管道文件
l 連接文件
f 普通文件
-size [+-]n[cwbkMG] 不帶單位 查找文件長度為n塊的文件;帶單位 超找文件長度為n Bits的文件
-depth 首先查找當前目錄,再查找其子目錄
-fstype 查找某一文件系統的文件
-mount 查找文件時不跨越mount點
-follow 如果遇到鏈接文件,就跟蹤至鏈接所指向的文件
-cpio 對結果文件執行cpio命令
-amin n 查找最後n分鐘訪問的文件
-atime n 查找最後n天訪問的文件
-cmin n 查找最後n分鐘被改變狀態的文件
-ctime n 查找最後n天被改變狀態的文件
-mmin n 查找最後n分鐘修改內容的文件
-mtime n 查找最後n天修改內容的文件
-o 條件1或條件2
-a 條件1和條件2
-not或! 非條件
舉例
find . -mtime 2 查找當前目錄最後48小時內修改的文件
find . -type f -name "*.log" 查找當前目錄下所有以.log結尾的普通文件
find /opt/soft/test -perm 777 查找/opt/soft/test目錄下所有權限為777的文件
find . -type d | sort 查找當前目錄下所有目錄並排序
find . -size +1000c 查找當前目錄下大於1KB的文件
find . -type f -mtime -2 -exec ls -l {} \; 查找當前目錄下2天內修改的普通文件,並顯示出來
find . -type f -mtime +14 -exec rm -f {} \; 超找當前目錄下14天之前的文件,並刪除
find . -type f -mtime +14 -ok rm -f {} \; 超找當前目錄下14天之前的文件,並刪除,刪除前詢問是否刪除
Find命令詳解