我们知道在Linux中有许多许多的文件,有的时候凭借我们的记忆我们可能要找很久很久才能够找到我们所需要的文件,之前我们稍有提到过一个命令叫做find 它确实是一个十分重要的命令。
find的基本用法:
和时间有关的参数:-atime、-ctime、-mtime、-newer
** 以-mtime为例,看看与事件有关的选项的用法:
-mtime n:在n天之前的“一天之内”被更改的文件
-mtime +n:在n天之前(不包含n这天)被更改过的文件
-mtime -n:在n天之内(包含n这天)被更改过的文件
我们观察时间轴可知时间是这样的
命令效果:
还有一个和其他时间参数不一样的奇葩叫做-newer
他是用来帮我们确定比某个文件新的文件的文件名
2.和文件权限相关的参数
-name:根据文件名查找
-type [+/-]size:根据文件大小进行查找
-perm mode:查找的文件权限下正好等于mode的文件
-perm -mode:查找文件权限必须全部包含mode的文件
-perm +mode:查找文件权限包含任一mode的文件
命令效果:
3.其他参数
-exec commond:"commond"是一条命令 我们可以在查找到之后对这些文件名进行下一步操作
-print:将查找的结果打印到屏幕上,此操作是默认的。
**图中完整命令为:find -name test -exec ls -l {} \;
{}代表find命令查找到的结果是额外命令的开始
\;代表find额外命令的结束\此处是用于转义
注意:此处的额外命令不可以使用别名
我们知道find命令是很慢的。原因是它时直接去硬盘上查找数据,而whereis和locate是在数据库里查找信息,但是数据库的数据是可以随便更改得,所以如果使用whereis和locate有时会出现错误的结果,如果你想要使用更快的方法,就必须常常更新我们的数据库哟~