我们知道在Linux中有许多许多的文件,有的时候凭借我们的记忆我们可能要找很久很久才能够找到我们所需要的文件,之前我们稍有提到过一个命令叫做find 它确实是一个十分重要的命令。

 


  find的基本用法:

  和时间有关的参数:-atime-ctime-mtime-newer

  ** 以-mtime为例,看看与事件有关的选项的用法:

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

      -mtime +n:在n天之前(不包含n这天)被更改过的文件

      -mtime -n:在n天之内(包含n这天)被更改过的文件

      我们观察时间轴可知时间是这样的

Linux基础篇五——find it !_第1张图片

  命令效果:

Linux基础篇五——find it !_第2张图片


Linux基础篇五——find it !_第3张图片


Linux基础篇五——find it !_第4张图片

    

Linux基础篇五——find it !_第5张图片


Linux基础篇五——find it !_第6张图片

 

Linux基础篇五——find it !_第7张图片


Linux基础篇五——find it !_第8张图片

      还有一个和其他时间参数不一样的奇葩叫做-newer 

      他是用来帮我们确定比某个文件新的文件的文件名

Linux基础篇五——find it !_第9张图片

     

Linux基础篇五——find it !_第10张图片

      

  2.和文件权限相关的参数

   -name:根据文件名查找

   -type [+/-]size:根据文件大小进行查找

   -perm mode:查找的文件权限下正好等于mode的文件

   -perm -mode:查找文件权限必须全部包含mode的文件

   -perm +mode:查找文件权限包含任一mode的文件

  命令效果:

wKiom1c4JTrh_nwFAAAQRJPXNLw071.png


wKioL1c8e0mAB7vMAABLsNlDFrg624.png


Linux基础篇五——find it !_第11张图片


Linux基础篇五——find it !_第12张图片


Linux基础篇五——find it !_第13张图片

Linux基础篇五——find it !_第14张图片


wKiom1c8eY7gSJGjAACsZn9ke64770.png



  3.其他参数

   -exec commond:"commond"是一条命令 我们可以在查找到之后对这些文件名进行下一步操作

   -print:将查找的结果打印到屏幕上,此操作是默认的

wKiom1c4JqPxaW6FAAAaE9cBKyY565.png

**图中完整命令为:find -name test -exec ls -l {} \;

    {}代表find命令查找到的结果是额外命令的开始

     \;代表find额外命令的结束\此处是用于转义

      注意:此处的额外命令不可以使用别名

wKioL1c4KKyR-7y_AAAb3k7ki1E577.png

    我们知道find命令是很慢的。原因是它时直接去硬盘上查找数据,而whereis和locate是在数据库里查找信息,但是数据库的数据是可以随便更改得,所以如果使用whereis和locate有时会出现错误的结果,如果你想要使用更快的方法,就必须常常更新我们的数据库哟~