linux查詢檔案裡面的內容(linux如何查詢檔案)

find

從指定目錄向下遞迴的遍歷其各個子目錄,將滿足條件的檔案或者目錄顯示在終端。

第一個引數是搜尋範圍,比如/、/root、/root/test、之類的路徑

第二個引數可以是-name,-size等,用的最多的是-name

  • find (搜尋範圍) -name (檔名):按照指定的檔名查詢模式查詢檔案。
  • find (搜尋範圍) -user (使用者名稱):按照指定的使用者名稱查詢模式查詢檔案。
  • find (搜尋範圍) -size ( 多少/-多少/多少):按照指定的檔案大小查詢模式查詢檔案(大於多少/小於多少/等於多少)
  • 查詢 /目錄(即根目錄)下所有.txt的檔案:find / -name *.txt

 find / -name *.txt  find / -name mysqld

 find /  -name “ins*”   查詢檔名稱是以ins開頭的檔案    find / -name “ins*” –ls     find / –user itcast –ls       查詢使用者itcast的檔案    find / –user itcast –type d –ls   查詢使用者itcast的目錄    find / -perm -777 –type d-ls    查詢許可權是777的檔案

locate

locate (搜尋檔案)

  • 可以快速定位檔案路徑。locate指令利用事先建立的系統中所有檔名稱及路徑的locate資料庫實現快速定位給定的檔案。locate指令無需遍歷整個檔案系統,查詢速度較快為了保證查詢結果的準確度,管理員必須定期更新locate時刻
  • 在第一次執行之前,必須使用updatedb指令建立locate資料庫。locate 的速度比 find 快,它並不是真的查詢,而是查資料庫,一般檔案資料庫在 /var/lib/slocate/slocate.db 中,所以 locate 查詢並不是實時的,而是以資料庫的更新為準

語法

 locate [-d ][--help][--version][範本樣式...]

引數:

  • -b, --basename -- 僅匹配路徑的基本名稱
  • -c, --count -- 只是輸出找到的數量
  • -e, --existing -- 僅列印出當前現有檔案的條目
  • -q -- 安靜模式,不會顯示任何錯誤訊息。
  • -l, --limit, -n LIMIT -- 將輸出(或計數)限制為LIMIT個條目
  • -n -- 至多顯示 n個輸出。
  • -q, --quiet -- 安靜模式,不會顯示任何錯誤訊息
  • -h, --help -- 顯示幫助
  • -i, --ignore-case -- 忽略大小寫

 -- 必須先更新資料庫  updatedb  -- 查詢a.txt,只顯示前兩個  locate -n 2 a.txt  -- 查詢a.txt  locate a.txt

grep

過濾查詢,表示將前一個命令的處理結果輸出傳遞給後面的命令處理經常跟管道一起使用

  • grep [選項] 查詢內容 原始檔
  • -n:顯示匹配行及行號。
  • -i:忽略大小寫字母。

-- 在檔案中查詢內容 cat hello.txt | grep yes cat test.py | grep print cat test.py | grep -n  print cat test.py | grep -n -i print grep lang anaconda-ks.cfg –color 高亮顯示