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 高亮顯示