Linux之find命令的參數(shù)
使用name選項(xiàng):
文件名選項(xiàng)是find命令最常用的選項(xiàng),要么單獨(dú)使用該選項(xiàng),要么和其他選項(xiàng)一起使用。 可以使用某種文件名模式來匹配文件,記住要用引號將文件名模式引起來。 不管當(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選項(xiàng):
按照文件權(quán)限模式用-perm選項(xiàng),按文件權(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)換成一個(gè)二進(jìn)制數(shù),兩者在位上為1的部分必須完全匹配,而0則不管。例如被查找的文件的權(quán)限為轉(zhuǎn)換成二進(jìn)制數(shù)是111 111 111那么這個(gè)比如被匹配,而假如是100 100 100那么則不會匹配。所以這個(gè)'-'的作用歸結(jié)起來就是匹配比mode權(quán)限更充足的文件(找不到什么詞語來形容了)
忽略某個(gè)目錄:
如果在查找文件時(shí)希望忽略某個(gè)目錄,因?yàn)槟阒滥莻€(gè)目錄中沒有你所要查找的文件,那么可以使用-prune選項(xiàng)來指出需要忽略的目錄。在使用-prune選項(xiàng)時(shí)要當(dāng)心,因?yàn)槿绻阃瑫r(shí)使用了-depth選項(xiàng),那么-prune選項(xiàng)就會被find命令忽略。如果希望在當(dāng)前目錄下查找文件,但不希望在./bin目錄下查找,可以用
> find . -path "./bin" -prune -o -print
避開多個(gè)文件夾:
> find . \( -path "./bin" -o -path "./doc" \) -prune -o -print
圓括號表示表達(dá)式的結(jié)合。\表示引用,即指示shell不對后面的字符作特殊解釋,而留給 find
命令去解釋其意義。
查找某一確定文件,-name等選項(xiàng)加在-o 之后:
> find . \( -path "./bin" -o -path "./doc" \) -prune -o -name "*.txt" -print
user nouser
和 group nogroup
在當(dāng)前目錄查找所屬主是root
的文件
> find . -user root
查找當(dāng)前目錄所屬主被刪除的文件:
> find . -nouser
在當(dāng)前目錄查找所屬組是root
的文件:
> find . -group root
查找當(dāng)前目錄所屬組被刪除的文件:
> find . -nogroup
按時(shí)間查找文件
查找更改時(shí)間在7日以內(nèi)的文件:
> find . -mtime -7
查找更改時(shí)間在7日以前的文件:
> find . mtime +7
查找比某個(gè)文件新或舊的文件
查找更改時(shí)間比文件a.log新但比文件b.log舊的文件:
> find . -newer a.log ! -newer b.log
查找更改時(shí)間在比a.log文件新的文件:
> find . -newer a.log
type選項(xiàng)
在/etc目錄下查找所有的目錄:
> find /etc -type d
在/etc目錄下查找所有的符號鏈接文件:
> find /etc -type l
size參數(shù)
可以按照文件長度來查找文件,這里所指的文件長度既可以用塊(block)來計(jì)量,也可以用字節(jié)來計(jì)量。以字節(jié)計(jì)量文件長度的表達(dá)形式為N c;以塊計(jì)量文件長度只用數(shù)字表示即可。在按照文件長度查找文件時(shí),一般使用這種以字節(jié)表示的文件長度,在查看文件系統(tǒng)的大小,因?yàn)檫@時(shí)使用塊來計(jì)量更容易轉(zhuǎn)換。
在當(dāng)前目錄下查找文件長度大于100M字節(jié)的文件:
> find . -size +100M
使用depth選項(xiàng):
在使用find命令時(shí),可能希望先匹配所有的文件,再在子目錄中查找。使用depth選項(xiàng)就可以使find命令這樣做。這樣做的一個(gè)原因就是,當(dāng)在使用find命令向磁帶上備份文件系統(tǒng)時(shí),希望首先備份所有的文件,其次再備份子目錄中的文件。
先輸出子內(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選項(xiàng):
在當(dāng)前的文件系統(tǒng)中查找文件(不進(jìn)入其他文件系統(tǒng)),可以使用find命令的mount選項(xiàng)。
從當(dāng)前目錄開始查找位于本文件系統(tǒng)中文件名以.txt結(jié)尾的文件:
> find . -mount -name "*.txt" -print
到此這篇關(guān)于 Linux之find命令的參數(shù)的文章就介紹到這了,更多相關(guān) Linux之find命令參數(shù)內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持本站!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。