find
1.作用
find命令的作用是在目錄中搜索文件,它的使用權(quán)限是所有用戶。
2.格式
find [path][options][expression]
path指定目錄路徑,系統(tǒng)從這里開(kāi)始沿著目錄樹(shù)向下查找文件。它是一個(gè)路徑列表,相互用空格分離,如果不寫(xiě)path,那
么默認(rèn)為當(dāng)前目錄。
3.主要參數(shù)
[options]參數(shù):
-depth:使用深度級(jí)別的查找過(guò)程方式,在某層指定目錄中優(yōu)先查找文件內(nèi)容。
-maxdepth levels:表示至多查找到開(kāi)始目錄的第level層子目錄。level是一個(gè)非負(fù)數(shù),如果level是0的話表示僅在當(dāng)前目錄
中查找。
-mindepth levels:表示至少查找到開(kāi)始目錄的第level層子目錄。
-mount:不在其它文件系統(tǒng)(如Msdos、Vfat等)的目錄和文件中查找。
-version:打印版本。
[expression]是匹配表達(dá)式,是find命令接受的表達(dá)式,find命令的所有操作都是針對(duì)表達(dá)式的。它的參數(shù)非常多,這里只介
紹一些常用的參數(shù)。
—name:支持統(tǒng)配符*和?。
-atime n:搜索在過(guò)去n天讀取過(guò)的文件。
-ctime n:搜索在過(guò)去n天修改過(guò)的文件。
-group grpoupname:搜索所有組為grpoupname的文件。
-user 用戶名:搜索所有文件屬主為用戶名(ID或名稱)的文件。
-size n:搜索文件大小是n個(gè)block的文件。
-print:輸出搜索結(jié)果,并且打印。
4.應(yīng)用技巧
find命令查找文件的幾種方法:
(1)根據(jù)文件名查找
例如,我們想要查找一個(gè)文件名是lilo.conf的文件,可以使用如下命令:
find / -name lilo.conf
find命令后的“/”表示搜索整個(gè)硬盤(pán)。
(2)快速查找文件
根據(jù)文件名查找文件會(huì)遇到一個(gè)實(shí)際問(wèn)題,就是要花費(fèi)相當(dāng)長(zhǎng)的一段時(shí)間,特別是大型Linux文件系統(tǒng)和大容量硬盤(pán)文件放
在很深的子目錄中時(shí)。如果我 們知道了這個(gè)文件存放在某個(gè)目錄中,那么只要在這個(gè)目錄中往下尋找就能節(jié)省很多時(shí)間。
比如smb.conf文件,從它的文件后綴“.conf”可以判斷這 是一個(gè)配置文件,那么它應(yīng)該在/etc目錄內(nèi),此時(shí)可以使用下面
命令:
find /etc -name smb.conf
這樣,使用“快速查找文件”方式可以縮短時(shí)間。
(3)根據(jù)部分文件名查找方法
有時(shí)我們知道只某個(gè)文件包含有abvd這4個(gè)字,那么要查找系統(tǒng)中所有包含有這4個(gè)字符的文件可以輸入下面命令:
find / -name '*abvd*'
輸入這個(gè)命令以后,Linux系統(tǒng)會(huì)將在/目錄中查找所有的包含有abvd這4個(gè)字符的文件(其中*是通配符),比如abvdrmyz
等符合條件的文件都能顯示出來(lái)。
(4) 使用混合查找方式查找文件
find命令可以使用混合查找的方法,例如,我們想在/etc目錄中查找大于500000字節(jié),并且在24小時(shí)內(nèi)修改的某個(gè)文件,
則可以使用-and (與)把兩個(gè)查找參數(shù)鏈接起來(lái)組合成一個(gè)混合的查找方式。
find /etc -size +500000c -and -mtime +1
![]() | ![]() .. 定價(jià):¥45 優(yōu)惠價(jià):¥42 更多書(shū)籍 |
![]() | ![]() .. 定價(jià):¥225 優(yōu)惠價(jià):¥213 更多書(shū)籍 |