使用name選項: 文件名選項是find命令最常用的選項,要么單獨(dú)使用該選項,要么和其他選項一起使用。 可以使用某種文件名模式來匹配文件,記住要用引號將文件名模式引起來。 不管當(dāng)前路徑是什么,如果想要在自己的根目錄$HOME中查找文件名符合*.log的文件,使用~作為 'pathname'參數(shù),波浪號~代表了當(dāng)前用戶的家目錄。
查找當(dāng)前登錄用戶家目錄的.log文件:
> find ~ -name "*.log"
查找當(dāng)前目錄下以大寫字母開頭的文件:
> find . -name "[A-Z]*"
查找/etc目錄下以sys開頭的文件:
> find /etc -name "sys*"
詢當(dāng)前目錄下以大寫字母開頭+3位數(shù)字的.png
的圖片
> find . -name "[A-Z]*[0-9][0-9][0-9].png"
用perm選項:
按照文件權(quán)限模式用-perm選項,按文件權(quán)限模式來查找文件的話。最好使用八進(jìn)制的權(quán)限表示法。如在當(dāng)前目錄下查找文件權(quán)限位為755的文件,即文件屬主可以讀、寫、執(zhí)行,其他用戶可以讀、執(zhí)行的文件,可以用
> find . -perm 755
find -perm -mode
, 表示mode中轉(zhuǎn)換成二進(jìn)制的1在文件權(quán)限位里面必須匹配,比如mode=644那么轉(zhuǎn)換成二進(jìn)制為110 100 100,而被查找的文件的權(quán)限位也可以被轉(zhuǎn)換成一個二進(jìn)制數(shù),兩者在位上為1的部分必須完全匹配,而0則不管。例如被查找的文件的權(quán)限為轉(zhuǎn)換成二進(jìn)制數(shù)是111 111 111那么這個比如被匹配,而假如是100 100 100那么則不會匹配。所以這個'-'的作用歸結(jié)起來就是匹配比mode權(quán)限更充足的文件(找不到什么詞語來形容了)
忽略某個目錄:
如果在查找文件時希望忽略某個目錄,因為你知道那個目錄中沒有你所要查找的文件,那么可以使用-prune選項來指出需要忽略的目錄。在使用-prune選項時要當(dāng)心,因為如果你同時使用了-depth選項,那么-prune選項就會被find命令忽略。如果希望在當(dāng)前目錄下查找文件,但不希望在./bin目錄下查找,可以用
> find . -path "./bin" -prune -o -print
避開多個文件夾:
> find . \( -path "./bin" -o -path "./doc" \) -prune -o -print
圓括號表示表達(dá)式的結(jié)合。\表示引用,即指示shell不對后面的字符作特殊解釋,而留給 find
命令去解釋其意義。
查找某一確定文件,-name等選項加在-o 之后:
> find . \( -path "./bin" -o -path "./doc" \) -prune -o-name "*.txt" -print
<span style="background-color: initial;">user nouser</span>
和 <span style="background-color: initial;">group nogroup</span>
在當(dāng)前目錄查找所屬主是root
的文件
> find . -user root
查找當(dāng)前目錄所屬主被刪除的文件:
> find . -nouser
在當(dāng)前目錄查找所屬組是root
的文件:
> find . -group root
查找當(dāng)前目錄所屬組被刪除的文件:
> find . -nogroup
按時間查找文件
查找更改時間在7日以內(nèi)的文件:
Easily find JSON paths within JSON objects using our intuitive Json Path Finder
> find . -mtime -7
查找更改時間在7日以前的文件:
> find . mtime +7
查找比某個文件新或舊的文件
查找更改時間比文件a.log新但比文件b.log舊的文件:
> find . -newer a.log ! -newer b.log
查找更改時間在比a.log文件新的文件:
> find . -newer a.log
type選項
在/etc目錄下查找所有的目錄:
> find /etc -type d
在/etc目錄下查找所有的符號鏈接文件:
> find /etc -type l
size參數(shù)
可以按照文件長度來查找文件,這里所指的文件長度既可以用塊(block)來計量,也可以用字節(jié)來計量。以字節(jié)計量文件長度的表達(dá)形式為N c;以塊計量文件長度只用數(shù)字表示即可。在按照文件長度查找文件時,一般使用這種以字節(jié)表示的文件長度,在查看文件系統(tǒng)的大小,因為這時使用塊來計量更容易轉(zhuǎn)換。
在當(dāng)前目錄下查找文件長度大于100M字節(jié)的文件:
> find . -size +100M
使用depth選項:
在使用find命令時,可能希望先匹配所有的文件,再在子目錄中查找。使用depth選項就可以使find命令這樣做。這樣做的一個原因就是,當(dāng)在使用find命令向磁帶上備份文件系統(tǒng)時,希望首先備份所有的文件,其次再備份子目錄中的文件。
先輸出子內(nèi)容,再輸出上層目錄內(nèi)容,直到最頂層:
> find test -depth! -empty test/test1/test2/test3 test/test1/test2 test/test1 test
先輸出頂層目錄,再輸出下面的各層子目錄內(nèi)容,直到最低層:
> find test ! -empty test test/test1 test/test1/test2 test/test1/test2/test3
mount選項:
在當(dāng)前的文件系統(tǒng)中查找文件(不進(jìn)入其他文件系統(tǒng)),可以使用find命令的mount選項。
從當(dāng)前目錄開始查找位于本文件系統(tǒng)中文件名以.txt結(jié)尾的文件:
> find . -mount -name "*.txt"-print
以上就是Linux中find命令可用的選項及參數(shù)的詳細(xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!
每個人都需要一臺速度更快、更穩(wěn)定的 PC。隨著時間的推移,垃圾文件、舊注冊表數(shù)據(jù)和不必要的后臺進(jìn)程會占用資源并降低性能。幸運(yùn)的是,許多工具可以讓 Windows 保持平穩(wěn)運(yùn)行。
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號