国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Linux > 正文

linux文件查找

2024-06-28 16:03:33
字體:
來源:轉載
供稿:網友

linux文件查找

find

文件查找

locate

文件查找:在文件系統(tǒng)上查找符合條件的文件依賴于事先構建好的索引庫 查詢系統(tǒng)上預建的文件索引數(shù)據(jù)庫 /var/lib/mlocate/mlocate.db系統(tǒng)自動實現(xiàn),周期性任務。手動創(chuàng)建跟新數(shù)據(jù)庫(updatedb,非常消耗系統(tǒng)資源) 慎用!

工作特性:

查找速度快 模糊查找 非實時查找,可能文件已經有變動或不存在 是全局查找不是針對某個路徑查找。針對mlocate.db 這個數(shù)據(jù)查找 locate [option]...PATTERN... -b只匹配路徑中的基名 -c統(tǒng)計出共有多少個符合條件的文件 -r使用基本正則表達式 locate passwd 默認的搜索是,只要要路徑中存在passwd就查找出來。 -b 只查匹配基名部分。 -r 使用正則表達式 locate -br passwd$ 查找基名中passwd結尾的文件[root@localhost ~]# locate -br ^passwd$/etc/passwd/etc/pam.d/passwd注意:搜索的關鍵字不用加引號

find命令

實時查找工具,通過遍歷指定起始路徑下文件系統(tǒng)層級結構完成文件查找工作特性: 查找速度略慢 精確查找 實時查找find [OPTIONS] [查找起始路徑] [查找條件] [處理動作] 查找起始路徑:指定具體搜索目標起始路徑;默認為當前目錄 查找條件:指定的查找標準,可以根據(jù)文件名,大小類型。從屬關系,權限、時間戳等標準進行。 默認為,找出指定路徑下的所有文件(效果類似ls) 處理動作:對符合查找條件做出的操作,例如刪除,默認為輸出至標準輸出

查找條件:

表達式: 選項和測試組成 測試: 結果通常為布爾型(true,false)-name “PATTERN” 基于基名查找-iname “PATTERN” 忽略大小寫PATTERN--->glob風格的通配符 * ? [] [^]..... * -regex PATTERN 基于正則表達式查找文件 匹配是整個路徑,而非基名(用的不多)

組合測試:

與:-a 默認為組合邏輯(多個條件同時符合)或:-o (or) 滿足其中一個條件即可非:-not , ! 條件取反

選項

根據(jù)文件的屬主屬組查找

~]#find /tmp -user username -user USERNAME:查找屬主為指定用戶(UID)的文件 -group GRPNAME: 查找屬組為指定組(GID)的文件 -uid UserID:查找屬主為指定的UID號的文件 -gid GroupID:查找屬組為指定的GID號的文件 -nouser:查找沒有屬主的文件 -nogroup:查找沒有屬組的文件注:用戶被刪除,組被刪除,沒有屬主和屬組的文件只剩下UID和GID 沒有屬主和屬組 可用 -ls查看

根據(jù)文件的類型查找

-type TYPE f普通文件 d目錄文件 l符號鏈接文件 b塊設備 c字符設備 p管道文件 s套接字文件例: [root@localhost ~]# find /home/yangyouwei -type f

查找條件

組合條件: 與:-a 默認是與 或:-o 非:-not, ! 德·摩根定律: (非P) 或(非Q)= 非(P 且Q) (非P) 且(非Q) = 非(P 或Q) 示例: !A -a !B = !(A -o B) !A -o !B = !(A -a B)

find示例

find -name snow.png ?搜索名為snow.png的文件find -iname snow.png ?不分大小寫地搜索名為snow.png、Snow.png、SNOW.PNG等等的文件find / -name “*.txt”find /var –name “*log*”find-userjoe -groupjoe搜索被用戶joe 以及組群joe所擁有的文件?find -user joe -not -group joe?find -user joe -o -user jane?find -not /( -user joe -o -user jane /)?find / -userjoe -o -uid500 找出/tmp目錄下,屬主不是root,且文件名不以f開頭的文件 find /tmp/( -not -user root -a -not -name 'f*' /) -ls find /tmp-not /( -user root -o -name 'f*' /) –ls

注-ls動作是對最后一個查找條件的動作。小括號要加轉義符

排除目錄

?示例:查找/etc/下,除/etc/sane.d目錄的其它所有.conf后綴的文件 find /etc -path ‘/etc/sane.d’ -a -PRune -o -name “*.conf” -print

根據(jù)文件大小查找

-size [+|-]#UNIT #為指定大小的數(shù)字 常用單位:K.M.G 大寫 #UNIT-----(#-1,#】 -#UNIT----【0,#-1) +#UNIT----(#,無窮大】 -0---------#-1----#----#+1------->無窮大- | | | | 根據(jù)時間戳查找 以天為單位 相對當前時間的第幾天 -atime [+|-]# +#-------(x>=#+1) 前幾天之前 x+1 -#------(x<#) 前幾天之內 不包括x直到現(xiàn)在 #------(#<=x<#+1) 前第幾天 24小時之內 <------------x+1----x----x—1----------0- | | | | -mtime -ctime 以分鐘為單位 -amin -mmin -cmin

根據(jù)文件權限查找

-perm [+|-] MODE MDOE:精確匹配 MODE 三位數(shù)字表示的權限例如664,755,222... +MODE任何一類用戶(U,G,O)的權限中的任何一位用戶符合條件既滿足條件 find ./ +222 任何一類用只要擁有寫即可 find ./ +621 屬主有讀寫或屬組有寫或其他人有執(zhí)行權限三種情況符合一種即滿足條件 0 表示不關注 -MODE每一類用戶的權限中的每一位同時符合條件即滿足 find ./ -222 表示每一位權限小于等于2 find ./ -666 包括666,650,550,111但是不包括766?find -perm 755會匹配權限模式恰好是755的文件?只要當任意人有寫權限時,find -perm +222就會匹配?只有當每個人都有寫權限時,find -perm -222才會匹配?只有當其它人(other)有寫權限時,find -perm -002才會匹配

處理動作:

-print 輸出至標準輸出;默認動作-ls 類似于對查找到的文件執(zhí)行“l(fā)s -l”-delete 刪除查找到的文件(慎用)-fls /PATH/TO/SOMEFILE 查找到文件的長格式信息保存到指定文件中-ok COMMAND {}/; 對于查找到的文件執(zhí)行由COMMAND表示的命令,每次都需要用戶確認-exec COMMAND {}/; 對于每次查找到的文件執(zhí)行有由COMMAND表示的命令,但是不需要用戶確認 注意:有些命令不能接收過長的參數(shù)此時命令的執(zhí)行會失敗。解決方法,find | xargs COMMAND

find示例

find -name “*.conf” -exec cp {} {}.org /; ?備份配置文件,添加.orig這個擴展名 find /tmp -ctime+3 -user joe -ok rm {} /; ?提示刪除存在時間超過3天以上的joe的臨時文件 find ~ -perm -002 -exec chmodo -w {} /; ?在你的主目錄中尋找可被其它用戶寫入的文件 find /data –type f -perm 644 -name “*.sh” –exec chmod 755 {} /; find /home –type d -ls

練習

1、查找/var目錄下屬主為root,且屬組為mail的所有文件[root@localhost ~]# find /var -user root -group mail/var/spool/mail2、查找/var目錄下不屬于root、lp、gdm的所有文件 find /var -not /( -user root -o -user lp -o -user gdm /) -ls3、查找/var目錄下最近一周內其內容修改過,同時屬主不為root,也不是postfix的文件find -mtime -7 -not /( -user root -o -user postfix /)4、查找當前系統(tǒng)上沒有屬主或屬組,且最近一個周內曾被訪問過的文件[root@localhost ~]# find /( -nouser -o -nogroup /) -a -atime -75、查找/etc目錄下大于1M且類型為普通文件的所有文件[root@localhost ~]# find /etc -size +1M -type f6、查找/etc目錄下所有用戶都沒有寫權限的文件[root@localhost ~]# find /etc/ -not -perm /2227、查找/etc目錄下至少有一類用戶沒有執(zhí)行權限的文件find /etc -perm /666 -ls8、查找/etc/init.d目錄下,所有用戶都有執(zhí)行權限,且其它用戶有寫權限的文件find /etc/rc.d/init.d/ -perm -110 -perm /002
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 林芝县| 绩溪县| 昌平区| 和硕县| 西林县| 喀喇沁旗| 祁连县| 儋州市| 项城市| 淮滨县| 沙田区| 丽水市| 崇仁县| 静海县| 兴宁市| 青阳县| 宁波市| 时尚| 四平市| 邯郸市| 洪泽县| 西青区| 白山市| 宜宾市| 丰县| 武隆县| 团风县| 衡阳县| 丽江市| 巴马| 南召县| 淮南市| 孟津县| 佛冈县| 霍城县| 永川市| 大化| 卢湾区| 巴东县| 玛多县| 宿松县|