Linux搜索查找命令


Linux搜索查找指令

find,用於在文件樹中查找文件並作相應的處理

-name:按照文件名查找文件

-perm:按照文件權限查找文件

-user:按照文件屬主來查找文件

-size:按照指定的文件大小查找文件【+n:大於,-n:小於,n:等於】

-group:按照文件所屬的組來查找文件

-mtime<-n><+n>:按照文件更改時間來查找文件,-n表示n天之內,+n表示n天以前

-newer file1 file2:查找更改時間在file1和file2之間的文件

例如:

  • find -mtime -2:查找48小時修改過的文件

  • find -name ".log":查找當前目錄以".log"結尾的文件

  • find /opt/soft/test -perm 777:查找指定目錄下權限為777的文件

  • find -type f -name "*.log":查找當前目錄下以".log"結尾的普通文件

  • find -type d | sort:查找當前所有目標目錄並排序

  • find /home/wansw -size +20M:查找大於20M的文件

locate指令,可以快速定位文件路徑,利用事先建立的系統中的所有文件名稱和路徑的locate數據庫,無需遍歷整個文件系統,查詢速度較快,為了保證查詢准確性,需要定期更新。

  • updatedb:第一次運行前,創建locate數據庫

grep,用於過濾/搜索指定字符串。可以使用正則表達式,能配合多種命令使用。

用法:grep 【選項】 查找內容 源文件

-A:顯示符合的行及之后的內容

-B:顯示符合的行及之前的內容

-C:顯示符合的行及前后的內容

-c:計算符合的行數目

-n:顯示匹配行和行號

-i:忽略大小寫

規則表達式

:'grep'表示匹配所有以grep開頭的行

'表示匹配所有以grep結尾的行

.:'gr.p'表示匹配'gr'后面接任意字符然后是'p'

:'grep'表示匹配一個或多個空格后緊跟grep的行

[]:[Gg]rep表示匹配Grep與grep

[]:[A-FH-Z]rep表示匹配不以A-F、H-Z開頭並緊跟rep的行

例如(grep命令大多數時候多要和別的命令一起使用才有意義):

ps -ef | grep -c SVN:查找指定的進程的個數

cat test.txt | grep -f test2.txt:從text2.txt中讀取關鍵字后在test.txt中搜索

cat test.txt | grep nf text2.txt:從text2.txt中讀取關鍵字后在text.txt中搜索並顯示行號

grep 'linux' text.txt test2.txt:從多個文件中搜索關鍵字'linux'

cat test.txt | grep -E 'ed|at':顯示包含ed或at的行


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM