linux命令之檔案搜尋
1. 顯示系統命令所在目錄
Which [命令] :命令的絕對路徑 + 別名
Whereis [命令] :命令的絕對路徑 + 幫助文件的路徑
2. 查詢檔案或目錄
find [搜尋路徑] [搜尋的關鍵字]
常用方法
2.1 檔名查詢 :find /etc –name init (精確匹配檔名)
注意:如果要模糊查詢:使用萬用字元
* 匹配任意字元 :
init*(以init開頭的檔案)
*init*(檔名包含init)
? 匹配單個字元 :init???(init開頭的7個字元的檔案)
如果只想查詢某個型別的檔案:
-type: f 二進位制檔案 l 軟連線檔案 d 目錄
注意:連線符
範例:find /etc -name init* -a -type f
連線執行符:
命令格式:find ….. –exec 命令 {} \;
-ok 詢問確認
{}表示執行的結果
\表示轉義符:讓符號或命令使用其本身的含義
範例:find /home -name text.txt –exec ls –l {} \;
範例:find /etc -name init* -a -type f
2.2 檔案大小:find /home -size +204800(block) (大於100MB的檔案)
常以資料塊(512)為單位,將檔案大小換算成N個數據塊
大於:+
小於:-
2.3 檔案所有者:find /home -user samlee (查詢所有者為samlee的檔案)
2.4 時間值:
1.天為單位:ctime、atime、 mtime
c-change 改變:檔案的屬性被改過:所有者,所屬組,許可權
a-access 訪問
m-modify 修改:檔案內容被修改過
2.分鐘為單位:cmin、amin、mmin
-之內,+超過:
範例:Find /etc –mmin -120(分鐘)
範例: 在/etc下查詢大於80MB小於100MB的檔案
find /etc –size +163840 –a –size -204800
在/etc下查詢inittab檔案並顯示其詳細資訊
find /etc –name
3. 根據i節點查詢
例如:檔名是:a b(a空格b:touch”a b”) 刪除時候就會出現問題
find /etc –inum [節點號] –exec rm {} \;
4. Locate 查詢檔案或目錄
在updatedb資料庫中,查詢檔案,查詢速度快,常用來查詢系統檔案
5. updated 建立整個系統目錄檔案的資料庫
6. grep 在檔案中找字串,並輸出一行資訊
grep [字串] [檔名]
常配合wc -l 顯示有多少行