Linux下find命令在目錄結構中搜索文件,並執行指定的操作。Linux下find命令提供了相當多的查找條件,功能很強大。即使系統中含有網路文件系統,find命令在該文件系統中同樣有效。在運行一個非常消耗資源的find命令時,很多人都傾向於把它放在後臺執行,因為遍歷一個大的文件系統可能會花費很長的 ...
Linux下find命令在目錄結構中搜索文件,並執行指定的操作。Linux下find命令提供了相當多的查找條件,功能很強大。即使系統中含有網路文件系統,find命令在該文件系統中同樣有效。
在運行一個非常消耗資源的find命令時,很多人都傾向於把它放在後臺執行,因為遍歷一個大的文件系統可能會花費很長的時間。
命令格式:find 路徑 -命令參數 [輸出形式]
常用參數:
-name 按照文件名查找文件。
-perm 按照文件許可權來查找文件。
-prune 使用這一選項可以使find命令不在當前指定的目錄中查找,如果同時使用了- depth選項,那麼-prune選項將被find命令忽略。
-user 按照文件屬主來查找文件。
-group 按照文件所屬的組來查找文件。
-mtime -n +n 按照文件的更改時間來查找文件, -n表示文件更改時間距現在n天以內,+n表示文件更改時間距現在n天以前。find命令還有-atime和-ctime選項,但它們都和-mtime選項相似,所以我們在這裡只介紹-mtime選項。
-type 查找某一類型的文件,諸如:b-塊設備文件;d-目錄;c-字元設備文件;p-管道文件;l-符號鏈接文件;f-普通文件;s-socket文件。
-size n[c] 查找文件長度為n塊的文件,帶有c時表示文件長度以位元組計。
-depth 在查找文件時,首先查找當前目錄中的文件,然後再在其子目錄中查找。
用法示例:
查找當前目錄以.sh結尾的文件
$ find . -name "*.sh"
查找當前目錄下的目錄
查找$ find . -type d的當前目錄及子目錄中查找文件名以一個大寫字母開頭的文件,可以用:
$ find . -name " [ A - Z ] * " - print
要想讓系統高負荷運行,就從根目錄開始查找所有的文件。如果希望在系統管理員那裡,保留一個好印象的話,最好在這麼做之前考慮清楚!
$ find / -name "*" -print
從根目錄下查找
$ find / -name "文件名"