Linux基础篇五——find it !
2016-05-30 13:35
435 查看
我们知道在Linux中有许多许多的文件,有的时候凭借我们的记忆我们可能要找很久很久才能够找到我们所需要的文件,之前我们稍有提到过一个命令叫做find 它确实是一个十分重要的命令。
find的基本用法:
和时间有关的参数:-atime、-ctime、-mtime、-newer
** 以-mtime为例,看看与事件有关的选项的用法:
-mtime n:在n天之前的“一天之内”被更改的文件
-mtime +n:在n天之前(不包含n这天)被更改过的文件
-mtime -n:在n天之内(包含n这天)被更改过的文件
我们观察时间轴可知时间是这样的
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/b677c307815a5e30d8ce6cab6a14e673.png)
命令效果:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/3d17d2b87ad999bfa253ffc2abc96ad0.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/11d67c94894a27d7f437cfd691f04a8f.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/db9ee8f702a4c6488f9600558d9ee3fa.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/cc20b82470eeca644f7aa0d358e95973.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/fb5fc31ddb9139dce73690287a96e315.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/df6b262f34e268ee7bf389a30e064852.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/65c22693b030cce14a9baa26ad1f4d98.png)
还有一个和其他时间参数不一样的奇葩叫做-newer
他是用来帮我们确定比某个文件新的文件的文件名
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/9bd9d2be8b440b63b7b7cfeb577335cc.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/ce172f3d7e21251769a79b0ad13dd05d.png)
2.和文件权限相关的参数
-name:根据文件名查找
-type [+/-]size:根据文件大小进行查找 -perm mode:查找的文件权限下正好等于mode的文件 -perm -mode:查找文件权限必须全部包含mode的文件 -perm +mode:查找文件权限包含任一mode的文件 命令效果:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/cfc8304cf20505827e471e0d3eba7b8c.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/c6fa90758c0bd684091b13a0dfbadd41.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/f2ea657751f6f2edc7841022d96540d9.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/6c5ceffc487c577ee3880005555c63fe.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/01655f8d440f09256bb5f43d83dcbf1d.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/8581abfdb49c00fc7c52e00241704eca.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/4242bbc9ecce5da429e7c30d54dfd993.png)
3.其他参数
-exec commond:"commond"是一条命令 我们可以在查找到之后对这些文件名进行下一步操作
-print:将查找的结果打印到屏幕上,此操作是默认的。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/3c201f67e229a55a8abb1dcfcbee34ae.png)
**图中完整命令为:find -name test -exec ls -l {} \;
{}代表find命令查找到的结果是额外命令的开始
\;代表find额外命令的结束\此处是用于转义
注意:此处的额外命令不可以使用别名
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/001de1dbc806c69bd42f4fde698e459e.png)
我们知道find命令是很慢的。原因是它时直接去硬盘上查找数据,而whereis和locate是在数据库里查找信息,但是数据库的数据是可以随便更改得,所以如果使用whereis和locate有时会出现错误的结果,如果你想要使用更快的方法,就必须常常更新我们的数据库哟~
本文出自 “Zimomo” 博客,请务必保留此出处http://zimomo.blog.51cto.com/10799874/1773612
find的基本用法:
和时间有关的参数:-atime、-ctime、-mtime、-newer
** 以-mtime为例,看看与事件有关的选项的用法:
-mtime n:在n天之前的“一天之内”被更改的文件
-mtime +n:在n天之前(不包含n这天)被更改过的文件
-mtime -n:在n天之内(包含n这天)被更改过的文件
我们观察时间轴可知时间是这样的
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/b677c307815a5e30d8ce6cab6a14e673.png)
命令效果:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/3d17d2b87ad999bfa253ffc2abc96ad0.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/11d67c94894a27d7f437cfd691f04a8f.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/db9ee8f702a4c6488f9600558d9ee3fa.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/cc20b82470eeca644f7aa0d358e95973.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/fb5fc31ddb9139dce73690287a96e315.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/df6b262f34e268ee7bf389a30e064852.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/65c22693b030cce14a9baa26ad1f4d98.png)
还有一个和其他时间参数不一样的奇葩叫做-newer
他是用来帮我们确定比某个文件新的文件的文件名
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/9bd9d2be8b440b63b7b7cfeb577335cc.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/ce172f3d7e21251769a79b0ad13dd05d.png)
2.和文件权限相关的参数
-name:根据文件名查找
-type [+/-]size:根据文件大小进行查找 -perm mode:查找的文件权限下正好等于mode的文件 -perm -mode:查找文件权限必须全部包含mode的文件 -perm +mode:查找文件权限包含任一mode的文件 命令效果:
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/cfc8304cf20505827e471e0d3eba7b8c.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/c6fa90758c0bd684091b13a0dfbadd41.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/f2ea657751f6f2edc7841022d96540d9.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/6c5ceffc487c577ee3880005555c63fe.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/01655f8d440f09256bb5f43d83dcbf1d.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/8581abfdb49c00fc7c52e00241704eca.png)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/4242bbc9ecce5da429e7c30d54dfd993.png)
3.其他参数
-exec commond:"commond"是一条命令 我们可以在查找到之后对这些文件名进行下一步操作
-print:将查找的结果打印到屏幕上,此操作是默认的。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/3c201f67e229a55a8abb1dcfcbee34ae.png)
**图中完整命令为:find -name test -exec ls -l {} \;
{}代表find命令查找到的结果是额外命令的开始
\;代表find额外命令的结束\此处是用于转义
注意:此处的额外命令不可以使用别名
![](https://oscdn.geek-share.com/Uploads/Images/Content/202001/22/001de1dbc806c69bd42f4fde698e459e.png)
我们知道find命令是很慢的。原因是它时直接去硬盘上查找数据,而whereis和locate是在数据库里查找信息,但是数据库的数据是可以随便更改得,所以如果使用whereis和locate有时会出现错误的结果,如果你想要使用更快的方法,就必须常常更新我们的数据库哟~
本文出自 “Zimomo” 博客,请务必保留此出处http://zimomo.blog.51cto.com/10799874/1773612
相关文章推荐
- Linux基础篇四———管道命令
- Linux基础篇三——链接文件知多少
- Linux基础篇二
- Linux基础篇一
- 《深入理解Linux内核》软中断/tasklet/工作队列
- Linux基础——系统分区
- linux目录结构详细介绍
- VNCViewerWindows下远程连接Linux桌面
- 开发及应用中 Linux与Window 取舍
- 【Linux】Linux中常用操作命令
- LInux如何查看发行版本与查看内核版本
- linux之Too many open files问题-修改linux最大文件句柄数
- CentOS7下Firewall防火墙配置用法详解
- Linux下安装MYSQL (三、设置初始密码 )
- LINUX 三剑客老二(Sed) 日常工作总结
- linux基本命令(46)——vmstat命令
- 软件测试工作中涉及的Linux命令整理
- 西邮linux小组面试题总结(2016-5-30)
- linux基本命令(45)——free命令
- centos构建maven