引用: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