Linux之find命令的參數(shù)

使用name選項:
文件名選項是find命令最常用的選項,要么單獨使用該選項,要么和其他選項一起使用。 可以使用某種文件名模式來匹配文件,記住要用引號將文件名模式引起來。 不管當前路徑是什么,如果想要在自己的根目錄$HOME中查找文件名符合*.log的文件,使用~作為 'pathname'參數(shù),波浪號~代表了當前用戶的家目錄。
查找當前登錄用戶家目錄的.log文件:
> find ~ -name "*.log"
查找當前目錄下以大寫字母開頭的文件:
> find . -name "[A-Z]*"
查找/etc目錄下以sys開頭的文件:
> find /etc -name "sys*"
詢當前目錄下以大寫字母開頭+3位數(shù)字的.png
的圖片
> find . -name "[A-Z]*[0-9][0-9][0-9].png"
用perm選項:
按照文件權(quán)限模式用-perm選項,按文件權(quán)限模式來查找文件的話。最好使用八進制的權(quán)限表示法。如在當前目錄下查找文件權(quán)限位為755的文件,即文件屬主可以讀、寫、執(zhí)行,其他用戶可以讀、執(zhí)行的文件,可以用
> find . -perm 755
find -perm -mode
, 表示mode中轉(zhuǎn)換成二進制的1在文件權(quán)限位里面必須匹配,比如mode=644那么轉(zhuǎn)換成二進制為110 100 100,而被查找的文件的權(quán)限位也可以被轉(zhuǎn)換成一個二進制數(shù),兩者在位上為1的部分必須完全匹配,而0則不管。例如被查找的文件的權(quán)限為轉(zhuǎn)換成二進制數(shù)是111 111 111那么這個比如被匹配,而假如是100 100 100那么則不會匹配。所以這個'-'的作用歸結(jié)起來就是匹配比mode權(quán)限更充足的文件(找不到什么詞語來形容了)
忽略某個目錄:
如果在查找文件時希望忽略某個目錄,因為你知道那個目錄中沒有你所要查找的文件,那么可以使用-prune選項來指出需要忽略的目錄。在使用-prune選項時要當心,因為如果你同時使用了-depth選項,那么-prune選項就會被find命令忽略。如果希望在當前目錄下查找文件,但不希望在./bin目錄下查找,可以用
> find . -path "./bin" -prune -o -print
避開多個文件夾:
> find . \( -path "./bin" -o -path "./doc" \) -prune -o -print
圓括號表示表達式的結(jié)合。\表示引用,即指示shell不對后面的字符作特殊解釋,而留給 find
命令去解釋其意義。
查找某一確定文件,-name等選項加在-o 之后:
> find . \( -path "./bin" -o -path "./doc" \) -prune -o -name "*.txt" -print
user nouser
和 group nogroup
在當前目錄查找所屬主是root
的文件
> find . -user root
查找當前目錄所屬主被刪除的文件:
> find . -nouser
在當前目錄查找所屬組是root
的文件:
> find . -group root
查找當前目錄所屬組被刪除的文件:
> find . -nogroup
按時間查找文件
查找更改時間在7日以內(nèi)的文件:
> 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é)計量文件長度的表達形式為N c;以塊計量文件長度只用數(shù)字表示即可。在按照文件長度查找文件時,一般使用這種以字節(jié)表示的文件長度,在查看文件系統(tǒng)的大小,因為這時使用塊來計量更容易轉(zhuǎn)換。
在當前目錄下查找文件長度大于100M字節(jié)的文件:
> find . -size +100M
使用depth選項:
在使用find命令時,可能希望先匹配所有的文件,再在子目錄中查找。使用depth選項就可以使find命令這樣做。這樣做的一個原因就是,當在使用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選項:
在當前的文件系統(tǒng)中查找文件(不進入其他文件系統(tǒng)),可以使用find命令的mount選項。
從當前目錄開始查找位于本文件系統(tǒng)中文件名以.txt結(jié)尾的文件:
> find . -mount -name "*.txt" -print
到此這篇關(guān)于 Linux之find命令的參數(shù)的文章就介紹到這了,更多相關(guān) Linux之find命令參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!
相關(guān)文章
Linux find命令中-path -prune參數(shù)作用詳細介紹
find命令擁有多種查找方式,那find命令中加上-path -prune參數(shù)會怎么樣呢?下面為大家介紹下find命令中-path -prune的用法,感興趣的朋友可以看看2015-01-04Linux find命令中-exec參數(shù)的作用介紹
Linux命令加上不同的參數(shù)其效果也不同,下面小編將針對Linux fing命令中的-exec 參數(shù)給大家做個詳細介紹,感興趣的朋友可以看看2015-01-04linux命令之find命令的12個常用參數(shù)詳解(含具體用法和注意事項)
本文詳細介紹了linux下find命令的一些常用參數(shù)和使用實例以及一些具體用法和注意事項,需要的朋友可以參考下2014-04-09