更新時(shí)間:2018年12月28日22時(shí)20分 來(lái)源:linux培訓(xùn) 瀏覽次數(shù):
Linux下幾個(gè)常見(jiàn)的文件查找命令:
which 查看可執(zhí)行文件的位置
whereis 尋找特定文件,查看文件的位置
locate 配合數(shù)據(jù)庫(kù)查看文件位置
find 實(shí)際搜尋硬盤(pán)查詢文件名稱
通常情況下find命令并不是很常用,大家都優(yōu)先使用whereis和locate命令來(lái)查找,因?yàn)閣hereis和locate命令都是利用數(shù)據(jù)庫(kù)來(lái)查找文件所在,并沒(méi)有實(shí)際查詢硬盤(pán),所以速度很快,節(jié)省時(shí)間。但是我們的find命令依然很強(qiáng)大,它的查找條件相當(dāng)多,對(duì)于用其他命令查找不到的文件,就可以考慮使用find命令在硬盤(pán)上遍歷查找,雖然速度慢效率低。
find(用于在文件樹(shù)中查找文件,并進(jìn)行相應(yīng)操作)
格式: find [PATH] [option] [action]
[PATH] : 所要搜索遍歷的目錄,默認(rèn)為當(dāng)前目錄
[option] : 所要搜索文件的條件特征
[action] : 對(duì)搜索結(jié)果進(jìn)行特殊處理
為了縮短指令的執(zhí)行時(shí)間,要盡量縮小查找的起始目錄。因?yàn)閒ind指令使用遞歸的方式遍歷目錄,所以起始目錄范圍較大,會(huì)導(dǎo)致find指令的運(yùn)行時(shí)間過(guò)長(zhǎng)。
不加任何參數(shù)時(shí),默認(rèn)遍歷當(dāng)前目錄及其子目錄,將它們?nèi)硷@示在屏幕上。
1. 與時(shí)間有關(guān)的參數(shù)
-amin n :查找n分鐘內(nèi)被訪問(wèn)過(guò)的文件
-cmin n : 查找n分鐘內(nèi)被修改過(guò)文件狀態(tài)的所有文件
-mmin n : 查找n分鐘內(nèi)被修改過(guò)文件內(nèi)容的所有文件
-atime n : 將n天內(nèi)存取過(guò)的的文件列出來(lái)
-ctime n : 將n天內(nèi)改變、新增的文件或者目錄列出來(lái)
-mtime n : 將n天內(nèi)修改過(guò)的文件或者目錄列出來(lái)
-newer file :把比f(wàn)ile還要新的文件列出來(lái) (可用來(lái)分辨兩個(gè)文件之間的新舊關(guān)系)
除此之外,以-mtime為例:(類比使用其他與時(shí)間有關(guān)的參數(shù))
-mtime n :列出n天前的那一天被更改過(guò)的文件
-mtime +n :列出n天之前(不包含n天本身)被更改過(guò)的文件
-mtime -n :列出n天之內(nèi)(包含n天本身)被更改過(guò)的文件
-mtime 0 : 0代表當(dāng)前時(shí)間,即列出從現(xiàn)在開(kāi)始到24小時(shí)前之間的被更改過(guò)的文件
2. 與用戶或用戶組名有關(guān)的參數(shù)
-uid n :尋找擁有者ID為n的文件
-gid n :尋找用戶組ID為n的文件
-group name :尋找群組名稱為name的所有文件
-user name :尋找用戶名稱為name的所有文件
-nouser :尋找文件所有者不存在 /etc/passwd 的人(可以查找不太正常的文件)
-nogroup : 尋找文件的所有用戶組不存在于 /etc/group 中的文件
如果你將某個(gè)賬戶刪除了,該賬戶曾經(jīng)建立的文件就成了無(wú)主的非正常文件,這時(shí)候可以利用 -nouser來(lái)找出該類型的文件
3. 與文件權(quán)限及名稱有關(guān)的參數(shù)
(1)-name [filename] : 查找文件名為filename的文件
從以上的例子中我們可以看出,find命令需要一個(gè)路徑名作為查找范圍,find會(huì)深入到這個(gè)路徑的每一個(gè)子目錄中去尋找,打印文件的絕對(duì)路徑。
如果指定路徑為“/”,就查找整個(gè)文件系統(tǒng)。-name選項(xiàng)指定了文件名,-printf表示將結(jié)果輸出到屏幕上,-type選項(xiàng)用來(lái)定位特殊文件類型。
(2)-size [+-]SIZE : 查找比"SIZE"還要大(+)或小(-)的文件 (SIZE的規(guī)格有:① c :代表byte ②k :代表1024 bytes) ; 要找比50k還要大的文件時(shí)就用" -size +50k"
(3)-type [TYPE] :查找文件類型為T(mén)YPE的文件
-type選項(xiàng)常見(jiàn)的參數(shù):
參數(shù)含義
b塊設(shè)備文件
c字符設(shè)備文件
d目錄文件
f普通文件
p命名管道
l符號(hào)鏈接
4.其它
-exec [command] : command為其他命令,-exec后面可接其它的命令來(lái)處理查找到的結(jié)果。
-exec 到 “ \; ”是關(guān)鍵字,代表find額外命令的開(kāi)始到結(jié)束,這兩者之間就是find命令的額外命令
-print :將結(jié)果打印到屏幕上,默認(rèn)操作
北京校區(qū)