系統(tǒng)之家 - 系統(tǒng)光盤下載網(wǎng)站!

當(dāng)前位置:系統(tǒng)之家 > 系統(tǒng)教程 > Linux中find命令

Linux中如何巧妙運用find命令(2)

時間:2014-12-26 11:30:59 作者:qipeng 來源:系統(tǒng)之家 1. 掃描二維碼隨時看資訊 2. 請使用手機瀏覽器訪問: https://m.xitongzhijia.net/xtjc/20141226/33502.html 手機查看 評論

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

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

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

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

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

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

  代碼如下:

 。踨oot@localhost ~]# find 。 -type f -atime 7

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

 。踨oot@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的文件

 。踨oot@localhost tmp]# find 。 -type f -size +2k

  #大于2k的文件

 。踨oot@localhost tmp]# find 。 -type f -size -2k

  #小于2k的文件

  7、刪除匹配的文件

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

  代碼如下:

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

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

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

  代碼如下:

 。踨oot@localhost tmp]# find 。 -type f -perm 644

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

 。踨oot@localhost tmp]# find 。 -type f -user reed

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

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

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

  代碼如下:

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

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

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

  代碼如下:

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

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

 。踨oot@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、跳過指定的目錄

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

  代碼如下:

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

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

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

標(biāo)簽 命令 find

發(fā)表評論

0

沒有更多評論了

評論就這些咯,讓大家也知道你的獨特見解

立即評論

以上留言僅代表用戶個人觀點,不代表系統(tǒng)之家立場

其他版本軟件

熱門教程

人氣教程排行

Linux系統(tǒng)推薦

官方交流群 軟件收錄