Linux 常用命令之 Find——查找文件

語法

find [路徑] [選項] [操作]

路徑: 可以是相對路徑,也可以是絕對路徑; "." 表示當前目錄,"/" 表示根目錄

選項與含義

  1. -name : 文件名
  2. -perm : 文件權限
  3. -user : 文件屬主
  4. -group : 文件屬組
  5. -nouser : 無屬主文件,即屬主不存在於 /etc/passwd 中
  6. -nogroup : 無屬組文件,即屬組不存在於 /etc/groups 中
  7. -mtime -n +n : 文件更改時間,-n :距今n天之內;+n:距今n天之前
  8. -size n:[c] : 文件長度為 n塊,帶c參數時,表示長度以字節計算
  9. -depth : 先在當前目錄中查找,再去子目錄查找
  10. -type : 文件類型

文件類型包含

  1. b : 塊設備
  2. d : 目錄
  3. c : 字符設備文件
  4. p : 管道文件
  5. l : 符號鏈接文件
  6. f : 普通文件

操作

  1. -print : 結果輸出到標準輸出
  2. -exce : 執行shell命令;命令格式為: command {} \ ; 注意"{}" 與""之間有空格,同時""後面的分號也不能少
  3. -ok : 以更安全的交互形式執行shell命令,即執行shell命令前都要確認

示例:根據文件名或權限查找文件

Linux 常用命令之 Find——查找文件

Find命令根據名稱、權限查找示例

說明:

目錄為當前目錄,用"."表示;

-name 'read_*' 表示按名稱查找滿足 'read_*' 通配符模式的文件;

-perm 740 表示權限查找中,屬主有7,屬組有4,其它用戶有0權限的文件;

-print 表示輸出結果到標準輸出

示例:根據修改時間查找文件

Linux 常用命令之 Find——查找文件

Find命令根據修改時間查找示例結果

第一條命令為:距今3天之前的文件;第二條命令為:距今3天之內的文件;可使用 ll 或者 ls -l 查看文件時間;文件具體時間查看命令: stat filename

示例:查找到文件後執行相關的shell命令

Linux 常用命令之 Find——查找文件

Find命令查找到結果後執行Shell命令

說明: -exec 在添加Shell命令的時候,不支持別名命令,如果使用別名,則會把別名當成文件或目錄

;參考上圖中第二條命令的結果,返回的是一個錯誤提示


分享到:


相關文章: