語法
find [路徑] [選項] [操作]
路徑: 可以是相對路徑,也可以是絕對路徑; "." 表示當前目錄,"/" 表示根目錄
選項與含義
- -name : 文件名
- -perm : 文件權限
- -user : 文件屬主
- -group : 文件屬組
- -nouser : 無屬主文件,即屬主不存在於 /etc/passwd 中
- -nogroup : 無屬組文件,即屬組不存在於 /etc/groups 中
- -mtime -n +n : 文件更改時間,-n :距今n天之內;+n:距今n天之前
- -size n:[c] : 文件長度為 n塊,帶c參數時,表示長度以字節計算
- -depth : 先在當前目錄中查找,再去子目錄查找
- -type : 文件類型
文件類型包含
- b : 塊設備
- d : 目錄
- c : 字符設備文件
- p : 管道文件
- l : 符號鏈接文件
- f : 普通文件
操作
- -print : 結果輸出到標準輸出
- -exce : 執行shell命令;命令格式為: command {} \ ; 注意"{}" 與""之間有空格,同時""後面的分號也不能少
- -ok : 以更安全的交互形式執行shell命令,即執行shell命令前都要確認
示例:根據文件名或權限查找文件
說明:
目錄為當前目錄,用"."表示;
-name 'read_*' 表示按名稱查找滿足 'read_*' 通配符模式的文件;
-perm 740 表示權限查找中,屬主有7,屬組有4,其它用戶有0權限的文件;
-print 表示輸出結果到標準輸出
示例:根據修改時間查找文件
第一條命令為:距今3天之前的文件;第二條命令為:距今3天之內的文件;可使用 ll 或者 ls -l 查看文件時間;文件具體時間查看命令: stat filename
示例:查找到文件後執行相關的shell命令
說明: -exec 在添加Shell命令的時候,不支持別名命令,如果使用別名,則會把別名當成文件或目錄 ;參考上圖中第二條命令的結果,返回的是一個錯誤提示
閱讀更多 Linux猿 的文章