1. 程式人生 > >linux命令之檔案搜尋

linux命令之檔案搜尋

1. 顯示系統命令所在目錄

Which [命令] :命令的絕對路徑 + 別名

Whereis [命令] :命令的絕對路徑 + 幫助文件的路徑

2. 查詢檔案或目錄

find  [搜尋路徑] [搜尋的關鍵字]

常用方法

2.1 檔名查詢 :find  /etc  name init (精確匹配檔名)

   注意:如果要模糊查詢:使用萬用字元

* 匹配任意字元 :

init*(以init開頭的檔案)

 *init*(檔名包含init)

? 匹配單個字元 :init???(init開頭的7個字元的檔案)

如果只想查詢某個型別的檔案:

-type: f 二進位制檔案  l 軟連線檔案  d 目錄

注意:連線符  

-a (and)   -o (or) 

範例: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 顯示有多少行