天天看點

Linux常用指令--檔案搜尋指令1 檔案搜尋指令locate2 指令搜尋指令whereis /which3 檔案搜尋指令 find 4 grep指令5 find指令與grep的差別

本文主要記錄Linux常用指令中的檔案搜尋指令,如下。

  • 檔案搜尋指令locate
  • 指令搜尋指令 whereis 與which
  • 檔案搜尋指令 find
  • 字元串搜尋指令grep
  • find指令與grep的差別

1 檔案搜尋指令locate

locate [filname]
           

locate指令搜尋檔案是基于背景資料庫搜尋的,在背景資料庫中按檔案名搜尋,搜尋速度更快是以比find那種需要掃描所有地方的指令的搜尋速度要快些,且消耗資源比較小。

背景資料庫目錄 /var/lib/mlocate  一天一更新,是以對于剛建立的檔案,使用該指令進行查找将會搜尋不到所建立的檔案。這個時候若想使用該指令查找檔案,使用指令updatedb更新資料庫即可。這裡需要使用管理者權限喲。。

updatedb
           

linux版本不同目錄可能不同 可使用locate locate指令查找相關檔案

/etc/updatedb.conf 配置檔案,配置篩選規則 locate\whereis\which指令會按照這個配置檔案搜尋檔案,

PRUNE_BIND_MOUNTS = "yes"
#開啟搜尋限制 yes 表示配置項全生效 no 表示配置項不生效
PRUNEFS =
#搜尋時,不搜尋的檔案系統
PRUNENAMES = 
#搜尋時,不搜尋的包含這些關鍵字的檔案
PRUNEPATHS =
#搜尋時,不搜尋這些路徑下更新的檔案
           

優點:搜尋速度快

缺點:隻能按照檔案名來搜尋

2 指令搜尋指令whereis /which

#whereis /which檢視的都是外部安裝的指令 不能檢視shell内部指令 比如cd 

#whereis搜尋指令所在路徑及幫助文檔所在位置

選項:

        -b   隻查找可在執行檔案

        -m  至查找幫助檔案

舉個例子 查找ls指令

Linux常用指令--檔案搜尋指令1 檔案搜尋指令locate2 指令搜尋指令whereis /which3 檔案搜尋指令 find 4 grep指令5 find指令與grep的差別

/bin/ls 代表指令檔案 /usr/share/man/man1/ls.1.gz代表幫助文檔

想要這條指令幹嘛的 whatis ls

Linux常用指令--檔案搜尋指令1 檔案搜尋指令locate2 指令搜尋指令whereis /which3 檔案搜尋指令 find 4 grep指令5 find指令與grep的差別

# which 指令檢視指令的所在位置 ,若指令有别名也會顯示别名

Linux常用指令--檔案搜尋指令1 檔案搜尋指令locate2 指令搜尋指令whereis /which3 檔案搜尋指令 find 4 grep指令5 find指令與grep的差別

3 檔案搜尋指令 find

指令 :

find [搜尋範圍] [搜尋條件]

#避免大範圍搜尋,會非常耗費資源

# find是在系統中搜尋符合條件的檔案名,如果需要比對,使用通配符比對,通配符是完全比對

find /root -iname install.log

#不區分大小寫

find /root -user root

#按照所有者來搜尋

find /root -nouser

#查找沒有所有者的檔案

find /var/log -mtime +10

#查找十天前修改的檔案

-10 10天内修改的檔案 10 10天當天修改的檔案 +10十天前修改的檔案

atime 檔案通路時間 ctime 改變檔案屬性 mtime 修改檔案内容

find /etc -size 25k

#搜尋指定檔案大小的檔案 k是小寫 M是大寫

知道i節點檢視檔案名

find /root -inum i節點

Linux常用指令--檔案搜尋指令1 檔案搜尋指令locate2 指令搜尋指令whereis /which3 檔案搜尋指令 find 4 grep指令5 find指令與grep的差別

條件

-a  and邏輯與

-o or 邏輯或

-exec/-ok 指令 {} \;    #對搜尋結果執行操作

舉個栗子:

#查找/etc/目錄下,大于20KB且小于40KB的檔案

Linux常用指令--檔案搜尋指令1 檔案搜尋指令locate2 指令搜尋指令whereis /which3 檔案搜尋指令 find 4 grep指令5 find指令與grep的差別

 #查找/etc/目錄下,大于20KB且小于40KB的檔案,并且顯示詳細資訊

Linux常用指令--檔案搜尋指令1 檔案搜尋指令locate2 指令搜尋指令whereis /which3 檔案搜尋指令 find 4 grep指令5 find指令與grep的差別

 4 grep指令

# 在指定的檔案中所搜符合條件的字元串

grep [選項] 字元串 檔案名

選項:

         - i 忽略大小寫

         -v 排除指定字元串

Linux常用指令--檔案搜尋指令1 檔案搜尋指令locate2 指令搜尋指令whereis /which3 檔案搜尋指令 find 4 grep指令5 find指令與grep的差別

5 find指令與grep的差別

  • find指令:在系統當中搜尋符合條件的檔案名,如果比對,使用通配符比對,通配符是完全比對
  • grep指令:在檔案當中搜尋符合條件的字元串,如果需要比對,使用正規表達式進行比對,正規表達式包含比對

繼續閱讀