十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊
量身定制 + 運營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
find,用于在文件樹中查找文件并作相應(yīng)的處理
10年積累的成都做網(wǎng)站、網(wǎng)站建設(shè)經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有甘德免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
-name:按照文件名查找文件
-perm:按照文件權(quán)限查找文件
-user:按照文件屬主來查找文件
-size:按照指定的文件大小查找文件【+n:大于,-n:小于,n:等于】
-group:按照文件所屬的組來查找文件
-mtime-n+n:按照文件更改時間來查找文件,-n表示n天之內(nèi),+n表示n天以前
-newer file1 file2:查找更改時間在file1和file2之間的文件
例如:
find -mtime -2:查找48小時修改過的文件
find -name ".log":查找當(dāng)前目錄以".log"結(jié)尾的文件
find /opt/soft/test -perm 777:查找指定目錄下權(quán)限為777的文件
find -type f -name "*.log":查找當(dāng)前目錄下以".log"結(jié)尾的普通文件
find -type d | sort:查找當(dāng)前所有目標(biāo)目錄并排序
find /home/wansw -size +20M:查找大于20M的文件
locate指令,可以快速定位文件路徑,利用事先建立的系統(tǒng)中的所有文件名稱和路徑的locate數(shù)據(jù)庫,無需遍歷整個文件系統(tǒng),查詢速度較快,為了保證查詢準(zhǔn)確性,需要定期更新?!禠inux就該這么學(xué)》
updatedb:第一次運行前,創(chuàng)建locate數(shù)據(jù)庫
grep,用于過濾/搜索指定字符串??梢允褂谜齽t表達(dá)式,能配合多種命令使用。
用法:grep 【選項】 查找內(nèi)容 源文件
-A:顯示符合的行及之后的內(nèi)容
-B:顯示符合的行及之前的內(nèi)容
-C:顯示符合的行及前后的內(nèi)容
-c:計算符合的行數(shù)目
-n:顯示匹配行和行號
-i:忽略大小寫
規(guī)則表達(dá)式
:'grep'表示匹配所有以grep開頭的行
'表示匹配所有以grep結(jié)尾的行
.:'gr.p'表示匹配'gr'后面接任意字符然后是'p'
:'grep'表示匹配一個或多個空格后緊跟grep的行
[]:[Gg]rep表示匹配Grep與grep
[]:[A-FH-Z]rep表示匹配不以A-F、H-Z開頭并緊跟rep的行
例如(grep命令大多數(shù)時候多要和別的命令一起使用才有意義):
ps -ef | grep -c SVN:查找指定的進(jìn)程的個數(shù)
cat test.txt | grep -f test2.txt:從text2.txt中讀取關(guān)鍵字后在test.txt中搜索
cat test.txt | grep nf text2.txt:從text2.txt中讀取關(guān)鍵字后在text.txt中搜索并顯示行號
grep 'linux' text.txt test2.txt:從多個文件中搜索關(guān)鍵字'linux'
cat test.txt | grep -E 'ed|at':顯示包含ed或at的行
日常我們開發(fā)時,我們會遇到各種各樣的奇奇怪怪的問題(踩坑o(╯□╰)o),這個常見問題系列就是我日常遇到的一些問題的記錄文章系列,這里整理匯總后分享給大家,讓其還在深坑中的小伙伴有繩索能爬出來。
同時在這里也歡迎大家把自己遇到的問題留言或私信給我,我看看其能否給大家解決。
在Linux中我們經(jīng)常需要查找一些文件或者根據(jù)文件內(nèi)容進(jìn)行查找到底在哪些文件里面,這時就需要用到本節(jié)要講到的find命令了,這個命令可以讓我們進(jìn)行查找到想要的文件,話不多說下面直接開始本節(jié)的干貨。
1、查找當(dāng)前目錄下的指定文件(當(dāng)前目錄向下無限極)
2、全文搜索符合于文件名的
3、不區(qū)分大小寫文件名的搜索
4、列出當(dāng)前目錄及子目錄下的所有文件
5、查找近10天內(nèi)被更新過的文件(-ctime 天 -cmin分鐘 )
6、根據(jù)文件內(nèi)容查找文件
7、在特定文件類型下根據(jù)文件內(nèi)容查找文件
以上就是我整理的常用的查詢文件命令,整理出來供大家一起使用,有需要補充的歡迎在留言區(qū)進(jìn)行留言補充,謝謝大家~~~
1、grep [選項] 字符串 文件名(在文件中匹配符合條件的字符串)
選項:
-i 忽略大小寫
-v 排除指定的字符串
例子:
grep "test" a.txt(在a.txt中搜索匹配test的字符串)
注意:
find命令:在系統(tǒng)中搜符合條件文件名,使用通用符,通用符是完全匹配
grep命令:在文件中搜索符合條件字符串,使用正則匹配,正則包含匹配
文件搜索命令(只能搜索文件)
locate 文件名
在后臺數(shù)據(jù)庫中按文件名搜索,搜索速度快????? /var/lib/mlocate(locate文件數(shù)據(jù)庫)??? 這個數(shù)據(jù)庫默認(rèn)一天更新一次,強制更新命令:updatedb
按照/etc/updatedb.conf配置文件里面規(guī)則進(jìn)行搜索
搜索命令的命令:whereis
whereis 命令名???????????????????????????????? 作用:搜索命令所在路徑及幫助文檔所在位置
-b(只查找可執(zhí)行文件)????? -m(只查找?guī)椭募?
which? 文件名??? 作用:搜索命令所在路徑及別名
PATH環(huán)境變量:定義的是系統(tǒng)搜索命令的路徑
find [搜索范圍] [搜索條件]
find? /root?? -nouser(搜索沒有所有者的文件)
find? /var/log? -mtime +10 (查找10天前修改的文件)??????????? atime(文件訪問時間)? ctime(改變文件屬性的時間)? mtime(修改文件內(nèi)容的時間)
find ? .? -size 25k(查找當(dāng)前目錄等于25k的文件)???????????? find?? .?? -size?? +10M(查找當(dāng)前目錄大于10M的文件)
find? /etc? -size +20k? -a? -size -50k (查找/etc下大于20k小于50k的文件)?????? -a(and)?? -o(or)
find? /etc? -size +20k? -a? -size -50k -exec ls -lh {} \; (查找/etc下大于20k小于50k的文件,并顯示詳細(xì)信息)?《Linux就該這么學(xué)》 一起學(xué)習(xí)更多命令
ls -i 文件名(查看該文件的i節(jié)點)
grep [選項] 字符串 文件名
-i (忽略大小寫)?? -v(排除指定字符串)
Linux中的通配符:
*?? :匹配任意內(nèi)容?? ?? ? ?? :匹配任意一個字符 ? ? ?? [] ?? 匹配任意一個中括號內(nèi)的字符