日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

linux下find命令的使用和总结

發(fā)布時間:2023/11/27 生活经验 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux下find命令的使用和总结 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

背景:find命令十分的好用,特別是在查找文件的時候,這個時候需要和文件通配符一起使用。

1 前言

我們?yōu)槭裁匆獙W會使用find命令?

每一種操作系統(tǒng)都有成千上萬的文件組成,對于linux這樣“一切皆文件”的操作系統(tǒng)來說更不例外,大家應該都能很輕松使用windows下的文件查找功能,但是對linux這一功能可能并不是很熟悉。

其實想玩linux的你更要牢牢掌握這個命令,因為linux不像windows那樣有固定的文件名后綴,并且因為linux陣營下百家爭鳴的特性,一個相同的文件在不同的發(fā)行版,可能會有不同,所以如果你能牢牢掌握find命令的使用,你在摸索linux的道路上將會順利很多,同時你會發(fā)現(xiàn)linux下文件查找功能其實很簡單,而且要比windows下查找功能強大很多很多!好,下面進入正題

2 find介紹?

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

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

  #locate -i        //查找文件的時候不區(qū)分大小寫 比如:locate  –i   passwd-n       //只顯示查找結果的前N行     比如:locate  -n  5   passwd

?

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

?2.1 語法

??使用格式???

 find  [指定查找目錄]  [查找規(guī)則]  [查找完后執(zhí)行的action]

?

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

?

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

?2.2 查找規(guī)則

[查找規(guī)則]?

? ??

(1)根據(jù)文件名查找

 #  -name       //根據(jù)文件名查找(精確查找)#  -iname       //根據(jù)文件名查找,但是不區(qū)分大小寫 

?

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

?

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

?? ? ? ? ??

?

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

?

?????????

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

?

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

#  -user         //根據(jù)屬主來查找文件#  -group        //根據(jù)屬組來查找文件

??????????3)根據(jù)uid??gid來查找用戶

 #find  /tmp  -uid  500  //查找uid是500 的文件#find  /tmp  -gid  1000 // 查找gid是1000的文件

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

ps:有用

# -a 連接兩個不同的條件(兩個條件必須同時滿足)# -o 連接兩個不同的條件(兩個條件滿足其一即可)# -not 對條件取反的

?

?

??????

?

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

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

?

??????

?

           #-atime#-mtime#-ctime#-amin#-mmin#-cmin

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

?

???????? ?#find??/tmp??–atime??+5???????????//表示查找在五天內(nèi)沒有訪問過的文件(也就是5天前天沒訪問的文件)

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

? ? ? ? ? ps:在清理日志的時候,一般使用的是——最近一次內(nèi)容修改的時間

find -mtime +30 -name "*[0-9]*" -exec rm {} \;

?

?

??????????6)根據(jù)文件類型來查找文件

          -typef     // 普通文件d     //目錄文件l     //鏈接文件b     //塊設備文件c     //字符設備文件p     //管道文件s     //socket文件                

?

? ? ? ? ?

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

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

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

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

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

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

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

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

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

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

?

???????????(9)-nouser??and??-nogroup

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

?

? 2.3 [查找完執(zhí)行的action]

         # -print                                 //默認情況下的動作# -ls                                     //查找到后用ls 顯示出來# -ok  [commend]                //查找后執(zhí)行命令的時候詢問用戶是否要執(zhí)行# -exec [commend]              //查找后執(zhí)行命令的時候不詢問用戶,直接執(zhí)行

?

?

?

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

?

?

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

?

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

????
………………………………………………………………………………………ok! ? ??以上就是關于find的使用方法,排版有點失敗,主要是字體調粗后無法調細了,悲催……但是希望各位讀者看完這邊博客后能有所收獲… 3 補充知識

1.刪除文件命令:

find?對應目錄?-mtime?+天數(shù)?-name?"文件名"?-exec?rm?-rf?{}?\;

實例命令:

find?/opt/soft/log/?-mtime?+30?-name?"*.log"?-exec?rm?-rf?{}?\;

說明:

將/opt/soft/log/目錄下所有30天前帶".log"的文件刪除。具體參數(shù)說明如下:

find:linux的查找命令,用戶查找指定條件的文件;

/opt/soft/log/:想要進行清理的任意目錄;

-mtime:標準語句寫法;

+30:查找30天前的文件,這里用數(shù)字代表天數(shù);

"*.log":希望查找的數(shù)據(jù)類型,"*.jpg"表示查找擴展名為jpg的所有文件,"*"表示查找所有文件,這個可以靈活運用,舉一反三;

-exec:固定寫法;

rm?-rf:強制刪除文件,包括目錄;

{}?\;?:固定寫法,一對大括號+空格+\+;?

?

轉載于:https://www.cnblogs.com/lixuwu/p/7816390.html

總結

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。