Find 命令
根據文件名稱模糊查詢
`find ./ -iname '*.txt'`
同理
包含任何一個字符(a或b或c)
`find /Users/lim/Documents/ -iname '[abc].sh'`
查找屬主文件
find /Users/lim/Documents/ -user lim // 查找屬主文件
同理:
-user username:查找屬主是xx的文件
-group group:查找屬組的xx文件
-uid useruid:查找uid號的文件
-gid groupid:查找gid號的文件
-nouser:查找沒有屬主的文件,即文件存在但是 user已被刪除
-nogroup:查找沒有屬組的文件
根據文件類型查找
find /Users/lim/Documents/ -type f
同理:
-type f:普通文件
-type d:目錄文件
-type l:符號鏈接文件
-type s:套接字文件
-type b:塊設備文件
-type c:字符設備文件
-type p:管道文件
根據文件大小查找
find /Users/lim/Documents/ -size +10M
同理:
-size +10M :大於10M的文件
-size +100k:大於100k的文件
-size +1G:大於1G的文件
-size -1G:小於文件的文件
根據時間查找文件
find /Users/lim/Documents/ -atime 3
同理:
以天為單位:
-atime:訪問時間(access time)
-ctime:變更時間(change time)
-mtime:修改時間(modify time)
以分鍾為單位:
-amin: 訪問時間(access time)
-mmin:修改時間(change time)
-cmin:改變時間(modify time)
根據權限查找
find /Users/lim/Documents/ -perm +600
同理:
-perm +600:屬主屬組其他權限 只要有一個匹配就當成功;600代表三個對象,6屬主 CentOS7上 使用 /600
-perm -600:每個對象都必須同時擁有其指定的權限,三個對象同時成立 如:-003表示其他用戶必須有寫與執行權限
條件查詢
find /Users/lim/Documents/ -iname '*.txt' -a -name 'a*.txt'
同理:
-a :與
-o :或
-not:非
! :非
處理動作
find /Users/lim/Documents/ -iname 'lim.sh' -print
同理:
-print:打印到屏幕
-ls:查找到的文件 進行 ls
-delete:刪除查找到的文件
-ok command {}\; 對查找的文件執行由command指定的命令,交互式
-exec command {}\;同上,非交互式
{}:代表前面find找到的 文件名稱本身
相關示例
- 最后十分鍾修改的文件
find /Users/lim/Documents/ -cmin -10