天天看點

RHCE 學習筆記(14)- 檔案系統(2) - 搜尋檔案

這一部分主要學習了如何搜尋檔案。

常用的檔案搜尋指令有locate,which,whereis和find, 下面依次看看

locate是通過一個資料庫來利用名字搜尋。他的速度很快,不過資料庫更新比較慢,一周才更新一次,是以最新的資訊可能找不到,需要手動更新updatedb之後才能查到

例如

RHCE 學習筆記(14)- 檔案系統(2) - 搜尋檔案

which 和 whereis 一般用來搜尋某個指令所在的路徑

RHCE 學習筆記(14)- 檔案系統(2) - 搜尋檔案

下面重點來看看 find

find 的基本文法格式是  find 目錄 -屬性 值

如果不設定目錄,預設為目前目錄

屬性主要通過以下8個方面來搜尋

-name

-size

-user/group

-uid/gid

-perm 

-type

-ctime/cmin

-newer

RHCE 學習筆記(14)- 檔案系統(2) - 搜尋檔案

例1: 通過-name 名字來搜尋 ,如果要忽略大小寫,可以用-i, 這和grep一樣

RHCE 學習筆記(14)- 檔案系統(2) - 搜尋檔案
RHCE 學習筆記(14)- 檔案系統(2) - 搜尋檔案
RHCE 學習筆記(14)- 檔案系統(2) - 搜尋檔案

例2: 通過- size 來搜尋,首先建立4個塊檔案,分别是1m,2m,3m,4m

RHCE 學習筆記(14)- 檔案系統(2) - 搜尋檔案

+2m代表2m以上,-4m則表示4m以下

RHCE 學習筆記(14)- 檔案系統(2) - 搜尋檔案

-a 表示 and(和), -o 表示or (或者),可以利用這種方式設定多組條件

RHCE 學習筆記(14)- 檔案系統(2) - 搜尋檔案
RHCE 學習筆記(14)- 檔案系統(2) - 搜尋檔案

注意,find的預設搜尋是遞歸的搜尋,會搜尋目前目錄下的所有子目錄,是以他連子目錄test也顯示了

RHCE 學習筆記(14)- 檔案系統(2) - 搜尋檔案

例3 通過 -user/group 搜尋,也可以通過-uid/gid 搜尋

RHCE 學習筆記(14)- 檔案系統(2) - 搜尋檔案

例4: 通過 -perm 進行權限的搜尋,注意-表示所有的條件必須全部滿足;而/表示u,g,o滿足任何一項的條件即可

RHCE 學習筆記(14)- 檔案系統(2) - 搜尋檔案

例5: 通過-type 搜尋類型,比如我建立了一個軟連接配接,可以指定l來搜尋

RHCE 學習筆記(14)- 檔案系統(2) - 搜尋檔案
RHCE 學習筆記(14)- 檔案系統(2) - 搜尋檔案

例6:  通過時間來搜尋,比如建立時間超過25分鐘的檔案

RHCE 學習筆記(14)- 檔案系統(2) - 搜尋檔案

例7: 通過檔案的比較來搜尋,比如比bb2更新的檔案

RHCE 學習筆記(14)- 檔案系統(2) - 搜尋檔案

find還有兩種常見的組合用法,查找後執行指令 -exec 指令 {} \  ,那個{}代表的是查找的結果;或者是通過管道把結果作為參數給 xargs 後面的指令使用

例8: 輸出查找檔案的屬性,兩種方式都是可以的

RHCE 學習筆記(14)- 檔案系統(2) - 搜尋檔案