天天看點

Linux基礎篇五——find it !

  我們知道在Linux中有許多許多的檔案,有的時候憑借我們的記憶我們可能要找很久很久才能夠找到我們所需要的檔案,之前我們稍有提到過一個指令叫做find 它确實是一個十分重要的指令。

  find的基本用法:

  和時間有關的參數:-atime、-ctime、-mtime、-newer

  ** 以-mtime為例,看看與事件有關的選項的用法:

      -mtime n:在n天之前的“一天之内”被更改的檔案

      -mtime +n:在n天之前(不包含n這天)被更改過的檔案

      -mtime -n:在n天之内(包含n這天)被更改過的檔案

      我們觀察時間軸可知時間是這樣的

Linux基礎篇五——find it !

  指令效果:

Linux基礎篇五——find it !
Linux基礎篇五——find it !
Linux基礎篇五——find it !
Linux基礎篇五——find it !
Linux基礎篇五——find it !
Linux基礎篇五——find it !
Linux基礎篇五——find it !

      還有一個和其他時間參數不一樣的奇葩叫做-newer 

      他是用來幫我們确定比某個檔案新的檔案的檔案名

Linux基礎篇五——find it !
Linux基礎篇五——find it !

  2.和檔案權限相關的參數

   -name:根據檔案名查找

   -type [+/-]size:根據檔案大小進行查找

   -perm mode:查找的檔案權限下正好等于mode的檔案

   -perm -mode:查找檔案權限必須全部包含mode的檔案

   -perm +mode:查找檔案權限包含任一mode的檔案

Linux基礎篇五——find it !
Linux基礎篇五——find it !
Linux基礎篇五——find it !
Linux基礎篇五——find it !
Linux基礎篇五——find it !
Linux基礎篇五——find it !
Linux基礎篇五——find it !

  3.其他參數

   -exec commond:"commond"是一條指令 我們可以在查找到之後對這些檔案名進行下一步操作

   -print:将查找的結果列印到螢幕上,此操作是預設的。

Linux基礎篇五——find it !

**圖中完整指令為:find -name test -exec ls -l {} \;

    {}代表find指令查找到的結果是額外指令的開始

     \;代表find額外指令的結束\此處是用于轉義

      注意:此處的額外指令不可以使用别名

Linux基礎篇五——find it !

    我們知道find指令是很慢的。原因是它時直接去硬碟上查找資料,而whereis和locate是在資料庫裡查找資訊,但是資料庫的資料是可以随便更改得,是以如果使用whereis和locate有時會出現錯誤的結果,如果你想要使用更快的方法,就必須常常更新我們的資料庫喲~

繼續閱讀