• <output id="aynwq"><form id="aynwq"><code id="aynwq"></code></form></output>

    <mark id="aynwq"><option id="aynwq"></option></mark>
  • <mark id="aynwq"><option id="aynwq"></option></mark><label id="aynwq"><dl id="aynwq"></dl></label>
  • 學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 操作系統(tǒng) > Linux教程 > Linux中如何運用find命令

    Linux中如何運用find命令

    時間: 孫勝652 分享

    Linux中如何運用find命令

      我們都知道Linux下查找文件的命令是find命令,運用該命令可以很快的搜到自己想要的文件,那么find命令有哪些使用技巧呢?下面小編就給大家介紹下Linux中find命令的巧妙運用。

      find命令的工作方式是沿著文件層次結(jié)構(gòu)向下遍歷,匹配符合條件的文件,并執(zhí)行相應(yīng)的操作。

      1、根據(jù)文件名或正則表達(dá)式匹配搜索

      選項-name的參數(shù)指定了文件名所必須匹配的字符串,我們可以將通配符作為參數(shù)使用,“*.txt”匹配所有以.txt結(jié)尾的文件名。

      代碼如下:

      [root@localhost test]# touch {data,log,file,F(xiàn)ile,LOG}_{1,2,3,4,5,6}_{.txt,.pdf,.log,.conf}

      [root@localhost test]# find 。 -name “*.txt” –print

      如果想匹配多個條件中的一個,可以使用-o參數(shù)。

      代碼如下:

      [root@localhost test]# find 。 \( -name “*.txt” -o -name “*.log” \)

      選項-iname忽略字母大小寫

      選項-path的參數(shù)可以使用通配符來匹配文件路徑或文件。

      2、否定參數(shù)

      find 用 “!”來否定參數(shù),匹配所有不以.txt結(jié)尾的文件名。

      代碼如下:

      [root@localhost test]# find 。 ! -name “*.txt” –print

      3、基于目錄深度的搜索

      find命令在使用時會遍歷所有的子目錄,我們可以采用-maxdepth和-mindepth來限制find命令遍歷的深度。

      -maxdepth: 指定最大深度;

      -mindepth:指定最小深度。

      代碼如下:

      [root@localhost ~]# find 。 -maxdepth 1 -type f

      列出當(dāng)前目錄的所有普通文件,這兩個命令要緊跟在目標(biāo)路徑之后。

      4、根據(jù)文件類型搜索

      代碼如下:

      find 。 –type d –print

      5、根據(jù)文件時間進(jìn)行搜索

      Linux文件系統(tǒng)中每一個文件都有三種時間戳

      訪問時間(-atime):用戶最近一次訪問文件的時間;

      修改時間(-mtime):文件內(nèi)容最后一次被修改的時間。

      變化時間(-ctime):文件元數(shù)據(jù)(metadata,例如權(quán)限或所有權(quán))最后一次改變的時間。

      -atime,-mtime,-ctime作為時間參數(shù),單位是天,可以使用+表示大于,-表示小于。

      代碼如下:

      [root@localhost ~]# find 。 -type f -atime 7

      #打印出正好在7天前被訪問過的文件

      [root@localhost ~]# find 。 -type f -mtime +7

      #打印修改時間大于7天的文件

      [root@localhost ~]# find 。 -type f -ctime -7

      #打印出修改時間小于7天的文件

      類似的參數(shù)還有,-amin(訪問時間),-mmin(修改時間),-cmin(變化時間),以分鐘為單位。

      find另一個漂亮的特性是-newer參數(shù),我們可以指定一個用于比較時間戳的參數(shù)文件,然后找出比參數(shù)文件更新的所有文件。

      find 。 –type f –newer file.txt

      p 在當(dāng)前目錄找出比file.txt修改時間更長的所有文件。

      6、基于文件大小的搜索

      搜索可以使用的單位

      b——塊(512字節(jié)); c——字節(jié); w——字(2字節(jié));

      k——千字節(jié) ; M——兆字節(jié); G——吉字節(jié)。

      代碼如下:

      [root@localhost tmp]# find 。 -type f -size 2k

      #等于2k的文件

      [root@localhost tmp]# find 。 -type f -size +2k

      #大于2k的文件

      [root@localhost tmp]# find 。 -type f -size -2k

      #小于2k的文件

      7、刪除匹配的文件

      -delete可以用來刪除find查找到的匹配文件。

      代碼如下:

      [root@localhost tmp]# find 。 -type f -name “.sWp” –delete

      #刪除當(dāng)前目錄下所有的.swp文件

      8、基于文件權(quán)限和所有權(quán)的匹配

      代碼如下:

      [root@localhost tmp]# find 。 -type f -perm 644

      #查找當(dāng)前目錄權(quán)限為644的文件

      [root@localhost tmp]# find 。 -type f -user reed

      #查找當(dāng)前目錄文件所有者為reed的文件

      9、結(jié)合find 執(zhí)行命令或動作

      find命令可以借助選項-exec與其他命令進(jìn)行結(jié)合。

      代碼如下:

      [root@localhost tmp]# find 。 -type f -user reed -exec chown cathy {} \;

      #將當(dāng)前目錄文件擁有者為reed的文件改為cathy

      { }是一個特殊的字符串,對于每一個匹配的文件,{ }會被替換成相應(yīng)的文件名。

      代碼如下:

      [root@localhost test]# find 。 -type f -mtime +10 -name “*.log” -exec cp {} /data/bk_log \;

      #將當(dāng)前目錄大于10天的log文件復(fù)制到/data/bk_log目錄

      [root@localhost test]# find /tmp/test/ -type f -name “*.txt” -exec printf “Text file: %s\n” {} \;

      Text file: /tmp/test/File_6_.txt

      Text file: /tmp/test/file_4_.txt

      Text file: /tmp/test/data_3_.txt

      Text file: /tmp/test/data_1_.txt

      #列出目錄的所有txt文件

      10、跳過指定的目錄

      有時間我們查找時需要跳過一些子目錄

      代碼如下:

      [root@localhost test]# find 。 \( -name “jump_dir” -prune \) -o \( -type f -print \)

      # \( -name “jump_dir” -prune \) 指定要跳過的子目錄的名字

      上面就是Linux中巧妙運用find命令的方法介紹了,只要合理運用find命令,就能達(dá)到意想不到的效果,在使用Linux命令時,我們不僅要會用,還有學(xué)會怎么用,你記住了嗎?

    312221 主站蜘蛛池模板: 国产免费怕怕免费视频观看| 日本人护士免费xxxx视频| 特黄AAAAAAAAA毛片免费视频| 无人高清视频免费观看在线动漫| 国产成人精品一区二三区在线观看| 亚洲人成777| 动漫成年美女黄漫网站国产| 欧美人与牲动交xxxx| 国产精品毛片va一区二区三区| 亚洲欧美在线观看| 4480新热播影院| 欧美人善交videosg| 国产激情视频一区二区三区| 亚洲xxxxxx| 成年人在线看片| 日本口工全彩漫画| 国产一区二区三区影院| 中文字幕不卡在线高清| 精品欧美亚洲韩国日本久久| 巫山27号制作视频直播| 免费看污成人午夜网站| 99精品久久99久久久久| 欧美精品一区二区三区在线| 国产精品成人第一区| 亚洲a级片在线观看| 麻花传剧mv在线看星空| 日日干夜夜操s8| 午夜国产精品久久影院| freee×xx性欧美| 欧美野性肉体狂欢大派对| 国产精品vⅰdeoXXXX国产| 久久精品国产亚洲7777| 色播亚洲视频在线观看| 巨r精灵催眠动漫无删减| 亚洲精品高清国产一久久| 7777久久亚洲中文字幕蜜桃| 欧美一区二区三区久久综| 国产免费一期二期三期四期| 中文字幕乳授乳奶水电影小说| 看AV免费毛片手机播放| 国产精品美女久久久久AV福利|