locate命令
1. 命令格式:
locate [選擇參數(shù)] [樣式]
2. 命令功能:
locate命令其實為“find -name”的另一種寫法坎背,但比后者要快很多,原因在于它并不會搜索具體目錄欣硼,而是搜索一個數(shù)據(jù)庫(/var/lib/locatedb,每天自動更新骑冗,也可手動更新:updatedb);
3. 命令參數(shù):
-l: 至多顯示n個輸出秉宿;
-d: 指定資料庫的路徑疙剑;
-e: 將排除在尋找的范圍之外氯迂;
-r:使用正則表達式做尋找的條件践叠;
4. 命令實例:
I: 查找和pwd相關(guān)的所有文件:locate pwd
ii: 搜索etc目錄下所有以sh開頭的文件:locate /etc/sh
find命令
1. 命令格式:
find pathname [-options] [-print -exec -ok]
2. 命令功能:
用于在文件樹中查找文件,并作出相應(yīng)的處理嚼蚀;
3. 命令參數(shù):
pathname: find命令所查找的目錄路徑禁灼;
-print: find命令將匹配的文件輸出到標準輸出;
-exec: find命令對匹配的文件執(zhí)行該參數(shù)所給出的shell命令轿曙,相應(yīng)的命令形式為‘command’ {} \;弄捕;
-ok: 和-exec作用相同,只不過以一種更為安全的模式來執(zhí)行該參數(shù)所給出的shell命令导帝;
4. 命令選項:
-name: 按照文件名來查找文件守谓;
-perm: 按照文件權(quán)限來查找文件;
-prune: 使用這一項可以使find命令不在當前指定的目錄中查找舟扎,如果同時使用-depth選項分飞,那么-prune將被find命令忽略悴务;
-user: 按照文件屬主來查找文件睹限;
-group: 按照文件所屬的組來查找文件;
-mtime -n +n :按照文件的更改時間來查找文件讯檐,-n 表示文件更改時間距現(xiàn)在n天以內(nèi)羡疗;+n表示文件更改時間距現(xiàn)在n天以前,同理還有-atime和-ctime選項别洪;
-ngroup: 查找無有效所屬組的文件叨恨,即文件所屬的組在etc/groups中不存在;
-nuser: 查找無有效所屬主的文件挖垛,即文件屬主在etc/passwd中不存在痒钝;
-newer file1 ! file2: 查找更改時間比file1新但比file2舊的文件;
-type :查找某一類型的文件痢毒,比如b, d, c[字符設(shè)備文件], p, l, f ;
-size n :查找文件長度為n塊的文件送矩,帶有c時表示文件長度以字節(jié)計;
-depth:查找文件時哪替,首先查找當前目錄中的文件栋荸,然后再在其子目錄中查找;
-fstype: 查找位于某一類型文件系統(tǒng)中的文件凭舶,這些文件系統(tǒng)類型通常在配置文件etc/fstab中晌块;
-mount: 查找文件時不跨越文件系統(tǒng)mount點;
-follow: 如果find命令遇到符號鏈接文件帅霜,就追蹤至鏈接所指向的文件匆背;
-admin n :查找系統(tǒng)中最后N分鐘訪問的文件;
-cmin n: 查找系統(tǒng)最后N分鐘改變文件狀態(tài)的文件身冀;
-mmin n :查找系統(tǒng)中最后N分鐘改變文件數(shù)據(jù)的文件钝尸;
-atime n:查找系統(tǒng)中最后n*24小時訪問的文件蜂大;
5. 使用實例:
i:按類型查找:find . -type f -name "*.log";
ii:查找當前目錄所有目錄并排序:find . -type d |sort;
iii: 查找當前目錄大于1K文件:find -size +1000c -print ;?