檔案查詢locate find

2021-07-28 12:53:18 字數 3394 閱讀 4936

grep:  檔案內容過濾

find:   檔案查詢,針對檔名

一、命令檔案 

# which ls                      //從path環境變數 (echo $path)

# whereis vim

二、任意檔案

a.  locate(查詢的資料庫: /var/lib/mlocate/mlocate.db)  

計畫任務:每天自動更新資料庫 /etc/cron.daily/mlocate.cron

手動更新資料庫:updatedb

# locate ifcfg-eth0

b.  find

find [options] [path...] [expression]

按檔名:

[root@localhost ~]# find /etc -name "ifcfg-eth0"

[root@localhost ~]# find /etc -iname "ifcfg-eth0"    //-i忽略大小寫

[root@localhost ~]# find /etc -iname "ifcfg-eth*"

按檔案大小:

[root@localhost ~]# find /etc -size +5m   //大於5m

[root@localhost ~]# find /etc -size 5m

[root@localhost ~]# find /etc -size -5m

[root@localhost ~]# find /etc -size +5m -ls   //-ls找到的處理動作

指定查詢的目錄深度:

-maxdepth levels

-mindepth levels

[root@localhost~]# find / -maxdepth 3 -a  -name "ifcfg-eth0"

按時間找(atime,mtime,ctime):

[root@localhost ~]# find /etc -mtime +5   //修改時間超過5天

[root@localhost ~]# find /etc -mtime 5//修改時間等於5天

[root@localhost ~]# find /etc -mtime -5   //修改時間5天以內

按檔案屬主、屬組找:

[root@localhost ~]# find /home -user jack   //屬主是jack的檔案

[root@localhost ~]# find /home -group hr   //屬組是hr組的檔案

[root@localhost ~]# find /home -user jack -group hr

[root@localhost ~]# find /home -user jack -a -group hr

[root@localhost ~]# find /home -user jack -o -group hr

[root@localhost ~]# find /home -nouser

[root@localhost ~]# find /home -nogroup

[root@localhost ~]# find /home -nouser -o -nogroup 

按檔案型別:

[root@localhost ~]# find /dev -type f  //f普通

[root@localhost ~]# find /dev -type d  //d目錄

[root@localhost ~]# find /dev -type l  //l鏈結

[root@localhost ~]# find /dev -type b  //b塊裝置

[root@localhost ~]# find /dev -type c  //c字元裝置

[root@localhost ~]# find /dev -type s  //s套接字

[root@localhost ~]# find /dev -type p  //p管道檔案

按檔案許可權:

[root@localhost ~]# find . -perm 644 -ls

[root@localhost ~]# find . -perm -644 -ls

[root@localhost ~]# find . -perm -600 -ls

[root@localhost ~]# find . -perm -222 -ls                 //全域性可寫

[root@localhost ~]# find /sbin -perm -4000 -ls //包含set uid

[root@localhost ~]# find /sbin -perm -2000 -ls //包含set gid

[root@localhost ~]# find /sbin -perm -1000 -ls //包含sticky

按正規表示式:

-regex pattern

[root@localhost ~]# find /etc  -regex  '.*ifcfg-eth[0-9]'

.*      任意多個字元

[0-9]  任意乙個數字

找到後處理的動作 actions: (預設動作-print)==

-print

-ls-delete

-exec            後面跟自定義的shell命令

-ok               後面跟自定義的shell命令

[root@localhost ~]# find /etc -name "ifcfg*"

[root@localhost ~]# find /etc -name "ifcfg*" -print

[root@localhost ~]# find /etc -name "ifcfg*" -ls

[root@localhost ~]# find /etc -name "ifcfg*" -exec cp -rvf {} /tmp \;

[root@localhost ~]# find /etc -name "ifcfg*" -ok cp -rvf {} /tmp \;

[root@localhost ~]# find /etc -name "ifcfg*" -exec rm -rf {} \;

[root@localhost ~]# find /etc -name "ifcfg*" -delete

注:find結合xargs

[root@localhost ~]# find . -name "yang*.txt" |xargs rm -rf

[root@localhost ~]# find /etc -name "ifcfg-eth0" |xargs -i {} cp -rf {} /var/tmp

linux之檔案查詢locate find

locate 根據事先構建的索引庫進行查詢檔案,索引庫會再每天系統空閒時自動構建。特性 模糊匹配,查詢速度快,非實時查詢,有可能返回之前已經刪除的檔案或者新建的檔案無法被查詢到,因為索引還沒有被建立。locate options pattern.命令 作用 b 只匹配 basename c返回查詢到...

12 檔案查詢locate find

locate命令 非實時查詢,資料庫查詢 速度快 依賴於事先構建的索引 索引在系統較為空閒時自動構建 週期性任務 updatedb 構建最新的索引 超級耗資源 locate 字串 搜尋所有路徑中是否有字串 find命令 檔案系統上查詢指定符合條件的檔案 實時查詢慢 find 選項 查詢路徑 查詢條件...

vim檔案查詢

vim查詢檔案 查詢檔案 假定現在你在編輯乙個 c 程式,該程式有這樣一行 include inits.h 你想要檢視檔案 inits.h 裡有些什麼.把游標移到該檔名上,並鍵入 gfvim 就會找到並開啟這個檔案.那麼,如果該檔案不在當前目錄裡怎麼辦?vim 將利用 path 選項來尋找這個檔案....