Linux文件查找詳解
10年積累的成都網(wǎng)站設(shè)計、網(wǎng)站制作經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識你,你也不認(rèn)識我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有昌邑免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
我們之前學(xué)過的grep、egrep以及fgrep命令是Linux的文本查找命令,只是單純地匹配字符串的命令,而不是文件查找命令。
·文件查找的常用命令
1,locate:
locate是在全系統(tǒng)查找文件的命令,但是locate的查找是非實時的、非精確的,進(jìn)行模糊匹配的一種查找方式,因為此種文件查找的方式是根據(jù)全系統(tǒng)文件數(shù)據(jù)庫進(jìn)行的,而該數(shù)據(jù)庫只有在每天晚上才會更新,因此是非實時查找,但是這個文件數(shù)據(jù)庫我們可以手動生成,為了使我們可以實時的查找文件,我們可以手動更新該數(shù)據(jù)庫。
生成文件數(shù)據(jù)庫的命令:updatedb
優(yōu)點:locate命令執(zhí)行速度快
2,find:
find命令支持實時查找,精確查找,而且支持多種查找標(biāo)準(zhǔn),但是find命令的執(zhí)行速度慢,這是因為find命令是遍歷指定目錄下的所有文件進(jìn)行查找,所以執(zhí)行速度慢。
用法格式:
->find 查找路徑 查找標(biāo)準(zhǔn) 查找以后的處理動作
查找路徑可以省略,省略以后就表示默認(rèn)查找當(dāng)前目錄
查找標(biāo)準(zhǔn)默認(rèn)為查找指定路徑下的所有文件
查找處理動作(action),默認(rèn)為輸出至標(biāo)準(zhǔn)輸出
(1)查找(匹配)標(biāo)準(zhǔn)(選項):
->-name(嚴(yán)格區(qū)分大小寫查找) 'filename':對文件名做精確匹配
支持文件名通配
*->用來實現(xiàn)匹配任意長度的任意字符
?->用來實現(xiàn)匹配單個字符
[]->用來實現(xiàn)匹配指定范圍內(nèi)的任意單個字符
->-iname:文件名匹配不區(qū)分大小寫
->-regex:基于正則表達(dá)式進(jìn)行文件名查找
格式:-regex pattern
->-user:根據(jù)文件的屬主來進(jìn)行文件的查找
格式:-user username
->-group:根據(jù)文件的屬組來進(jìn)行文件的查找
格式:-group groupname
->-uid:根據(jù)uid查找,一旦某個用戶被刪除之后,此前所有屬于這個用戶的文件的屬主將變?yōu)檫@個用戶的id號
格式:-uid uid
->-gid:根據(jù)gid查找,一旦某個用戶的屬組被刪除之后,此前所有屬于這個用戶基本組的文件的屬組將變成這個用戶的基本組id號
格式:-gid gid
->-nouser:查找沒有屬主的文件
->-type:根據(jù)文件類型來查找文件
f:普通文件
d:目錄
c:字符設(shè)備
b:塊設(shè)備
l:鏈接文件
p:管道設(shè)備
s:套接字設(shè)備
->-size:根據(jù)文件大小來查找文件
[+|-]#:+表示大于,-表示小于,#表示數(shù)值大小(不加+|-表示等于),只寫#表示精確查找。
k表示KB
M表示MB
G表示GB
大小匹配的法則:精確查找時會有誤差,但是誤差一般小于1,且小于所要匹配的數(shù)值。
·組合條件查找,默認(rèn)為邏輯與關(guān)系
->-a:邏輯與關(guān)系
->-o:邏輯或關(guān)系
->-not:邏輯非關(guān)系
練習(xí):
1,查找/tmp目錄下,不是目錄且不是套接字類型的文件
2,查找/tmp/test目錄下,屬主不是user1,也不是user2的文件
·根據(jù)時間戳查找文件
時間為天數(shù):
格式:
->-mtime [+|-]#:修改時間
->-ctime [+|-]#:改變時間
->-atime [+|-]#:訪問時間
->#表示距離現(xiàn)在的第#天有動作,+#表示距離現(xiàn)在的第#天之前有動作,-#表示距離現(xiàn)在的第#天之后有動作
時間為分鐘
格式:
->-mmin [+|-]#:修改時間
->-cmin [+|-]#:改變時間
->-amin [+|-]#:訪問時間
->#表示距離現(xiàn)在的第#分鐘有動作,+#表示距離現(xiàn)在的第#分鐘之前有動作,-#表示距離現(xiàn)在的第#分鐘之后有動作
·根據(jù)權(quán)限來查找
格式:
->-perm MODE:表示精確匹配
->-perm +MODE:三位權(quán)限任意一位匹配即滿足條件
->-perm -MODE:文件權(quán)限能完全包含此MODE才符合條件
(2)查找以后的處理動作(action):
默認(rèn)為-print(顯示出來)
->-ls:類似于命令ls -l的形式顯示每一個文件的詳細(xì)信息
->-ok:-ok表示處理動作的每一步都需要用戶確認(rèn)
固定格式:-ok COMMAND {} \;
花括號表示的是前面find命令查找到的文件名
->-exec:-exec的處理動作不需要用戶確認(rèn),一氣呵成
固定格式:-exec COMMAND {} \;
練習(xí):
1,查找/var目錄下屬主為root并且屬組為mail的所有文件
2,查找/usr目錄下不屬于root、bin或student的文件
3,查找/etc目錄下最近一周內(nèi)內(nèi)容修改過且不屬于root及student用戶的文件
4,查找當(dāng)前系統(tǒng)上沒有屬主或?qū)俳M且最近一天內(nèi)曾被訪問過的文件,并將其屬主屬組均修改為root
5,查找/etc目錄下大于1M的文件,并將其文件名寫入/tmp/etc/largefiles
xargs方法:
6,查找/etc目錄下所有用戶都沒有寫權(quán)限的文件,顯示出其詳細(xì)信息
分享標(biāo)題:Linux文件查找
URL地址:http://chinadenli.net/article28/jgghcp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站、網(wǎng)站策劃、網(wǎng)站內(nèi)鏈、網(wǎng)頁設(shè)計公司、網(wǎng)站排名、用戶體驗
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)