日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

linux下find(文件查找)命令的用法总结

發布時間:2025/7/14 62 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux下find(文件查找)命令的用法总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言:我們為什么要學會使用find命令?

?

每一種操作系統都有成千上萬的文件組成,對于linux這樣“一切皆文件”的操作系統來說更不例外,大家應該都能很輕松使用windows下的文件查找功能,但是對linux這一功能可能并不是很熟悉,其實想玩linux的你更要牢牢掌握這個命令,因為linux不像windows那樣有固定的文件名后綴,并且因為linux陣營下百家爭鳴的特性,一個相同的文件在不同的發行版,可能會有不同,所以如果你能牢牢掌握find命令的使用,你在摸索linux的道路上將會順利很多,同時你會發現linux下文件查找功能其實很簡單,而且要比windows下查找功能強大很多很多!好,下面進入正題

?

Linux下查找文件的命令有兩個;locate??find

?

首先說下locatelocate這個命令是對其生成的數據庫進行遍歷(生成數據庫的命令:updatedb,這一特性決定了用locate查找文件速度很快,但是locate命令只能對文件進行模糊匹配,在精確度上來說差了點,簡單介紹下它的兩個選項:

??#locate?

?????????????-i????????//查找文件的時候不區分大小寫?比如:locate??–i???passwd

???????-n???????//只顯示查找結果的前N?????比如:locate??-n??5???passwd

?

下面重點說下findfind在不指定查找目錄的情況下是對整個系統進行遍歷查找

?

??使用格式????find??[指定查找目錄]??[查找規則]??[查找完后執行的action]

?

??[指定查找目錄]例如:

這里要注意的是目錄之間要用空格分開

? [查找規則]?

????????1)根據文件名查找

???????????#??-name???????//根據文件名查找(精確查找)

???????????#??-iname???????//根據文件名查找,但是不區分大小寫?

?

這里另外介紹下文件名通配的知識

?

*表示??通配任意的字符

?

??????????

??表示??通配任意的單個字符

?????????

[ ]?表示?通配括號里面的任意一個字符

?????(2),根據文件所屬用戶和組來查找文件

???????????#??-user?????????//根據屬主來查找文件

???????????#??-group????????//根據屬組來查找文件

?

?

??????????3),根據uid??gid來查找用戶

???????????#find??/tmp??-uid??500??//查找uid500?的文件

???????????#find??/tmp??-gid??1000 //?查找gid1000的文件

?

?

??????????4),-a??and??-o??and??–not的使用

???????????# -a?連接兩個不同的條件(兩個條件必須同時滿足)

?

???

????????? # -o?連接兩個不同的條件(兩個條件滿足其一即可)

??????????# -not?對條件取反的

??????

??

?

??? (5),根據文件時間戳的相關屬性來查找文件

??????????我們可以使用stat命令來查看一個文件的時間信息?如下:

?

??????

???????????#-atime

???????????#-mtime

???????????#-ctime

???????????#-amin

???????????#-mmin

???????????#-cmin

?

?? 所以這里atime,mtime,ctime就是分別對應的“最近一次訪問時間”“最近一次內容修改時間”“最近一次屬性修改時間”,這里的atime的單位指的是“天”,amin的單位是分鐘??

?

???????? ?#find??/tmp??–atime??+5???????????//表示查找在五天內沒有訪問過的文件

??????????#find??/tmp??-atime??-5????????????//表示查找在五天內訪問過的文件

??????????

??????????6),根據文件類型來查找文件

????????????????-type

??????????????????????f?????//?普通文件

??????????????????????d?????//目錄文件

??????????????????????l?????//鏈接文件

??????????????????????b?????//塊設備文件

??????????????????????c?????//字符設備文件

??????????????????????p?????//管道文件

??????????????????????s?????//socket文件

?


??


?

????????7),根據大小來查找文件

?

???????????????-size

?

??????????#find??/tmp??-size???2M???????????//查找在/tmp?目錄下等于2M的文件

??????????#find??/tmp??-size??+2M???????????//查找在/tmp?目錄下大于2M的文件

??????????#find??/tmp??-size??-2M???????????//查找在/tmp?目錄下小于2M的文件

?

?

???????????8),根據文件權限查找文件

?

??????????????-perm

?

??????????#find??/tmp??-perm??755???????????//查找在/tmp目錄下權限是755的文件

??????????#find??/tmp??-perm??+222??????????//表示只要有一類用戶(屬主,屬組,其他)的匹配寫權限就行

??????????#find??/tmp??-perm??-222??????????//表示必須所有類別用戶都滿足有寫權限

?

???????????9),-nouser??and??-nogroup

?

??????????#find??/??-nogroup –a –nouser???????//在整個系統中查找既沒有屬主又沒有屬組的文件(這樣的文件通常是很危險的,作為系統工程師的我們應該及時清除掉)

?

??[查找完執行的action]

?

?????????# -print?????????????????????????????? ??//默認情況下的動作

?????????# -ls???????????????????????????????? ? ??//查找到后用ls?顯示出來

?????????# -ok??[commend]????????????? ??//查找后執行命令的時候詢問用戶是否要執行

? ??????# -exec [commend]???????????? ?//查找后執行命令的時候不詢問用戶,直接執行

?

?

這里要注意{}的使用:替代查找到的文件

?

??

?? ??#find??/tmp??-atime??+30??–exec rm –rf??{}??\?#刪除查找到的超過30天沒有訪問過文件

?

?????我們也可以使用xargs來對查找到的文件進一步操作

????

?

?

………………………………………………………………………………………ok! ?


轉載于:https://blog.51cto.com/cgsxxj/1828392

總結

以上是生活随笔為你收集整理的linux下find(文件查找)命令的用法总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。