方法一:find命令
武江網站制作公司哪家好,找成都創新互聯公司!從網頁設計、網站建設、微信開發、APP開發、響應式網站等網站項目制作,到程序開發,運營維護。成都創新互聯公司成立于2013年到現在10年的時間,我們擁有了豐富的建站經驗和運維經驗,來保證我們的工作的順利進行。專注于網站建設就選成都創新互聯公司。
find是最常見和最強大的查找命令,你可以用它找到任何你想找的文件。
命令格式:find 指定目錄 指定條件 指定動作
- 指定目錄: 所要搜索的目錄及其所有子目錄。默認為當前目錄。
- 指定條件: 所要搜索的文件的特征。
- 指定動作: 對搜索結果進行特定的處理。
如果什么參數也不加,find默認搜索當前目錄及其子目錄,并且不過濾任何結果(也就是返回所有文件),將它們全都顯示在屏幕上。
使用實例:
$ find . -name 'my*'
搜索當前目錄(含子目錄,以下同)中,所有文件名以my開頭的文件。
$ find . -name 'my*' -ls
搜索當前目錄中,所有文件名以my開頭的文件,并顯示它們的詳細信息。
$ find . -type f -mmin -10
搜索當前目錄中,所有過去10分鐘中更新過的普通文件。如果不加-type f參數,則搜索普通文件+特殊文件+目錄。
方法二:locate命令
locate命令其實是"find -name"的另一種寫法,但是要比后者快得多,原因在于它不搜索具體目錄,而是搜索一個數據庫(/var/lib/locatedb),這個數據庫中含有本地所有文件信息。Linux系統自動創建這個數據庫,并且每天自動更新一次,所以使用locate命令查不到最新變動過的文件。為了避免這種情況,可以在使用locate之前,先使用updatedb命令,手動更新數據庫。
使用實例:
$ locate /etc/sh
搜索etc目錄下所有以sh開頭的文件。
$ locate ~/m
搜索用戶主目錄下,所有以m開頭的文件。
$ locate -i ~/m
搜索用戶主目錄下,所有以m開頭的文件,并且忽略大小寫。
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數據庫,無需遍歷整個文件系統,查詢速度較快,為了保證查詢準確性,需要定期更新。《Linux就該這么學》
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的行
linux shell中使用vi命令打開文本文件后,如果需要查找字符
從開頭搜索
在命令模式下,輸入 / 你要查找的字符
按下回車,可以看到vim把光標移動到該字符處
再按n(小寫)查看下一個匹配
按N(大寫)查看上一個匹配(capslock切換大小寫,也可以在小寫狀態下按shift+n)
從結尾處搜索
?要搜索的字符串或字符
搜索后,打開別的文件發現也被高亮了,怎么關閉?
命令行模式下,輸入:nohlsearch或者:set nohlsearch
可以簡寫成noh喝set-noh
分享文章:linux命令查找一個字 linux常用命令查找
本文路徑:http://m.kartarina.com/article4/dogesoe.html
成都網站建設公司_創新互聯,為您提供品牌網站建設、靜態網站、網站排名、全網營銷推廣、手機網站建設、品牌網站制作
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯