Linux常用命令 檔案搜尋命令

2021-08-19 20:36:03 字數 3766 閱讀 6468

1、

find             /usr/bin/find #查詢檔案或目錄,任何檔案皆可,如,壓縮包等

語法:find [

搜尋路徑

] [搜尋選項

] filename

a)  find /etc -name  檔名           //-name 最常見的選項 按檔名搜尋

eg:find /etc -name init // 在目錄

/etc

中查詢檔案

init檔案

注意:1-盡量縮小查詢範圍,不要在根目錄下查詢,不然:查詢速度非常慢;占用大量系統資源.

2-占用系統資源越少越好,而且盡量在伺服器壓力較小時用find進行查詢.

4-使用萬用字元

:*用於匹配任意字元

find /etc -name init*   //查詢所有以init

開頭的檔案  *匹配任意字元

find /etc -name *init*   //init左右都沒有空格,用於查詢所有包含

init

?:用於匹配單個字元

find /etc -name init???   //這個檔案會有七個字元,?匹配單個字元

find /etc -name ?init??  //   

find /etc  -iname ?init??  //   搜尋時不區分大小寫

b)find /etc -size 

檔案大小    

//以資料塊為單位的! 1資料塊=512位元組= 0.5kb,        1k = 2blocks

100m=?

blocks

100m = 102400k = 102400*2blocks

e.gfind /etc -size +163840 -a -size -204800   在/etc下查詢大於80mb小於100mb的檔案

find /etc -size -204800 #在/etc

下查詢大於

80mb

小於100mb

的檔案find /etc -size 204800 #在/etc

下查詢等於

100mb

的檔案,不常用!

c)find /etc -user username    更具所有者查詢

d)通過時間屬性查詢:

1、以天為單位: ctime,

atime

,mtime

2、以分鐘為單位: cmin,

amin

,mmin  //更為常用

c-change 改變:表示檔案的屬性被修改過,比如:所有者,所屬組,許可權

a-access 訪問:檔案被瀏覽過

m-modify 修改:檔案內容被修改過

-多長時間之內,+

超過多少時間

e.g.

find /etc -mtime -1   

find /etc -amin -60        //60分鐘內被訪問過的

find /home -cmin -120

e)find /etc -type 

檔案型別     //根據檔案型別查詢

f 二進位制檔案

l 軟鏈結檔案

d 目錄

eg: find /etc -name init* -a -type f

f)-inum      //根據i節點進行查詢

新建的檔案不好刪除可以通過刪除i節點

e.g.

touch -- -abc #刪除

:rm -- -abc

touch 「a b」 #刪除

:rm 「a b」

ls  -i 

find . -inum 159341                                  / /注意點表示當前目錄

find . -inum 159341 -exec rm -f {} \;        //i

節點為159341的檔案,並刪除它

附-find連線符:

1、 -a:

and 邏輯與

-o:or 邏輯或

e.g.

find /etc -size +163840 -a -size 204800 #查詢

>80m,<100m

的檔案find /etc -name init* -a -type f #查詢名為

init

並且為二進位制的檔案

,並不包含目錄

2、find ….. -exec 

命令 {} \; #固定格式,只能這樣來寫

{}   :find的查詢結果

\    :轉義符-使得符號命令使用本身的含義

;   :語句結束

e.g.

find /etc -name inittab -exec ls -l {} \;          // 

在/etc

下查詢inittab

檔案並顯示其詳細資訊

find /home -user sax -exec rm -rf {} \;              //刪除使用者

sax所有的檔案

find /home -user sax -ok 

ls -l {} \;             //-ok連線符,  所有的目錄,每一條都需要確認

find /etc -name init* -ok rm -rf {} \;          //刪除時詢問  

find /etc -name init* -ok rm -f {} \;          //刪除時詢問  

2、locate[list file in databases]: /usr/bin/locate     在檔案資料庫中查詢檔案

格式:locate [

搜尋關鍵字

] 說明:

#是linux

所特有的命令

,尋找檔案或目錄

,最好用於快速

定位系統命令,配置檔案等

#雖然搜尋速度很快,但有時候會找不到

#locate是在檔案資料庫中查詢的,所以速度會很快

#但是如果資料庫沒有及時更新,他就會找不到,

更新資料庫

updatedb [update a database for mlocate]:   /usr/bin/updatedb

注意:tmp中檔案是不在檔案資料庫,locate區分大小寫   locate -i name 不區分大小寫

注意:其執行許可權為:root

!!!3、

which /usr/bin/which        //顯示系統命令所在目錄,

絕對目錄,不能查詢檔案

格式:which [系統命令

]   //還可以看到別名

e.g. which ls

附-whereis:也可以查詢到命令的絕對路徑

與whereis

不同,which會列出這個命令的別名記錄,而whereis還會顯示出這個命令的幫助文件所在位置  /usr/share

4、grep: /bin/grep        //在檔案中搜尋字串匹配的行並輸出

格式: grep [指定字串

] [原始檔

]  //區分大小寫  

grep -i  [

指定字串

] [原始檔

]  //不區分大小寫

grep 

-v  ^#

[原始檔

]     //    -v 排除以關鍵字開始的行,這裡是以#開始的行

e.g. grep ftp  /etc/services 

Linux常用命令 檔案搜尋命令

1 which 語法 which 命令名稱 功能描述 顯示系統命令所在目錄 範例 which ls 2 find 語法 find 搜尋路徑 搜尋關鍵字 功能描述 查詢檔案或目錄 範例 find etc name init 在目錄 etc中查詢init find size 204800 在根目錄下查詢...

Linux常用命令( ) 檔案搜尋命令

命令所在路徑 bin find 執行許可權 所有使用者 語法 find 搜尋範圍 匹配條件 功能描述 檔案搜尋 範例 例子作用 語法 find etc name init 在目錄 etc中查詢檔案init iname 不區分大小寫 find size 204800 在根目錄下查詢大於100mb的檔案...

Linux常用命令之檔案搜尋命令

檔案搜尋命令find 搜尋會占用大量資源 linux中少用搜尋,盡量整理好檔案目錄及檔案 windows中搜尋可以使用軟體 everything 基於ntfs分割槽 linux與windows不同的時,windows是模糊查詢,linux是精準查詢 語法 find 搜尋範圍 匹配條件 搜尋範圍只有 ...