linux find命令學習


  find命令的工作方式如下:沿着文件層次結構向下遍歷,匹配符合條件的文件,並執行相應的操作。

 

  選項-name的參數指定了文件名所必須匹配的字符串。我們可以將通配符作為參數使用。

  而-iname參數則是忽略大小寫。

  如果想匹配多個條件中的一個,可以采用OR條件操作:

  如果是且的條件則可以什么都不寫,也可以寫-and。

  選項-path可以使用通配符來匹配文件路徑或文件。-path將文件路徑作為一個整體進行匹配。

  選項-regex基於正則表達式來匹配文件路徑的。

  可以用!否定參數的含義。

  find命令在使用時會遍歷所有的子目錄。我們可以采用一些深度參數來限制find命令遍歷的深度。-maxdepth和-mindepth就是這類參數。

如果只需在當前目錄中進行檢索,則可以設定最大深度-maxdepth為1:

而最小深度-mindepth則可以用來查找那些距離起始路徑超過一定深度的所有文件。

 

  -type選項可以根據文件類型來進行搜索。

下表顯示了所有的文件類型參數:

文件類型 類型參數
普通文件 f
符號鏈接 l
目錄 d
字符設備 c
塊設備 b
套接字 s
Fifo p

 

  Linux文件系統中的每一個文件都有三種時間戳,如下所示:

· 訪問時間(-atime):用戶最近一次訪問文件的時間。

· 修改時間(-mtime):文件內容最后一次被修改的時間。

· 變化時間(-ctime):文件元數據最后一次改變的時間。

在Linux中沒有所謂“創建時間”的概念。

-atime、-mtime、-ctime可以作為find的時間選項,它們可以整數值給出,單位是天。數值前可以加上加號或者減號,表示大於或者小於多少天。

上圖三行命令分別表示7天之內訪問過、7天之前訪問過以及恰好7天前訪問過三種情況。

對應的-amin,-mmin,-cmin用來表示分鍾。

  -newer參數可以找到比參考文件更新的所有文件。

  選項-size可以基於文件的大小來進行搜索。

  在find命令最后加上-delete選項可以刪除查找到的匹配文件。

  選項-perm可以匹配特定權限的文件:

 

  -exec選項可以讓find和其他命令一起執行:

-exec還可以執行sh文件:

注意:查找到多少個文件就執行sh文件多少遍。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM