linux的find指令詳解。

引用:http://os.51cto.com/art/200908/141411.htmlinux

http://www.oschina.net/translate/15-practical-linux-find-command-examples正則表達式

http://www.oschina.net/translate/15-practical-unix-linux-find-command-examples-part-2shell

 

find指令是用來搜索文件的指令。英文較好的同窗能夠直接看man find。測試

建議在本文找到對應指令後,查找man find 去閱讀詳細解釋。優化

 

基本使用方式:spa

1)如今某個目錄下的全部目錄和文件(不推薦此方式).net

find /  //  如今根目錄下全部子目錄和文件命令行

2)在某個目錄下查找具體文件:find <serach dirtection> -name <file name>unix

find / -name <file name>  // 在根目錄【/】下搜索文件。
find / -iname <file name>  // 在根目錄【/】下搜索文件。而且忽略大小寫。

find /usr -name <file name>  // 在usr目錄下搜索文件

 

3)無錯查找:即不提示查找錯誤。code

  1,例如:當使用普通用戶時,查找根目錄會出現不少permission denied(其餘用戶文件沒法訪問)

find / -name access_log 2>/dev/null  //將標準錯誤輸出到null中。即不顯示在命令行中。也能夠索引到須要的文件裏。

 

4)模糊查找:使用正則表達式進行模糊查找。

find /etc -name '*srm*'

 

5)經過文件特徵查找的指令:

-amin n       查找系統中最後N分鐘訪問的文件

-atime n      查找系統中最後n*24小時訪問的文件

-cmin n       查找系統中最後N分鐘被改變狀態的文件

-ctime n      查找系統中最後n*24小時被改變狀態的文件

-empty        查找系統中空白的文件,或空白的文件目錄,或目錄中沒有子目錄的文件夾

-false        查找系統中老是錯誤的文件

-fstype type  查找系統中存在於指定文件系統的文件,例如:ext2 .

-gid n        查找系統中文件數字組 ID 爲 n的文件

-group gname  查找系統中文件屬於gnam文件組,而且指定組和ID的文件 

-perm         根據權限進行查找。

-type         根據文件類型進行查找

 

6)控制查找的一些選項。

-daystart           測試系統從今天開始24小時之內的文件,用法相似-amin

-depth              使用深度級別的查找過程方式,在某層指定目錄中優先查找文件內容
-maxdepth           最大深度。大於此深度的路徑再也不索引
-follow             遵循通配符連接方式查找; 另外,也可忽略通配符連接方式查詢-maxdepth [levels]  在某個層次的目錄中按照遞減方法查找 -mount              不在文件系統目錄中查找, 用法相似 -xdev. -noleaf             禁止在非UNUX文件系統,MS-DOS系統,CD-ROM文件系統中進行最優化查找 -version            打印版本數字

 

7)查找到文件並執行必定操做:

  1,如查找並顯示文件屬性:在查找後續添加 -ls  

  2,找到文件並檢測文件的MD5驗證和。

find / -name "httpd.conf" -ls 
  find -iname "MyCProgram.c" - exec md5sum {} \;

 

  2,其餘一些命令

-exec command            查找並執行命令

-fprint file             打印文件完整文件名

-fprint0 file            打印文件完整文件名包括空的文件

-fprintf file format     打印文件格式

-ok command;             給用戶命令執行操做,根據用戶的Y 確認輸入執行

-printf format           打印文件格式 

 

進階使用方式:

1)混合查找方式:and or ! 三種方式。

  1,例如:在/tmp目錄中查找大於100000000字節而且在48小時內修改的某個文件。

find /tmp -size +10000000c -and -mtime +2
相關文章
相關標籤/搜索