码迷,mamicode.com
首页 > 其他好文 > 详细

Find搜索命令

时间:2016-12-22 07:20:38      阅读:124      评论:0      收藏:0      [点我收藏+]

标签:find搜索命令

which 是用来搜一个命令的绝对路径

which ls 可以把ls绝对路径搜出来

它搜的话只是在一个变量下 echo $PATH 在这些目录里面去搜 类似于我们运行的命令 它是一个可执行

比如在root下我们去touch一个文档 touch hank 

which hank 是不可能再那些路径中搜不到 我们可以挪到tmp目录下 挪进去之后呢 我们还是搜不到 因为他不是一个可执行的文件 

我们给他加上可执行的文件 chmod a+x 再去搜索就可以搜索到了 which 搜索有一定的局限性 必须要在这些路径下 必须有执行权限才可以搜到

我们也可以用whereis 去搜pwd 可以搜到3个路径

我们用whereis 去搜hank 是搜不到的

locate 也是用来搜一些文件 直接用的话不能用 我们还要安装一个包 yum install -y mlocate

安装完了再去搜 locate ls 他会提示这个文件不存在 

locate是用来记录这个我们搜索这个文件的关键词的所在一个路径的列表库 这个库默认不存在

他会每天去执行一个计划任务 每天去生成这个库 也就是说每天会去更新 只有更新到了才会找到 我们可以手动更新下updatedb

再来查看下 locate ls 可以看到很多路径包含ls 只是非常不精准 只要包含ls 就给列出来 我们搜一下hank locate hank 但是并没搜索到

我们现在去新生成一个文件1234.1

直接去搜 locate 1234.1 搜不到 只有去刷新数据库才可以搜到他 updatedb

我们要向很精准的去搜索一个文件可以用find

find 的用法很简单 有固定的格式 首先要跟一个文件路径

比如我们在tmp目录下搜索hank

find /tmp/ -name ‘hank‘  单引号可加可不加

如果用 find /tmp/ -name "hank*" 需要加双引号 单引号双引号都可以 *就是以hank开头的

我们也可以指定他的类型

find /tmp/ -type d 目录

find /tmp/ -type f 文件

find /tmp/ -type s

find /tmp/ -type b

find /tmp/ -type c

经常用的是:

find /tmp/ -mtime +10 mtime(更改会创建时间的)+10 大于10天的 <10就是-10 一年以内的就是-365  单位是天

find /tmp/ -atime +10 

find /tmp/ -ctime +10

用mtime时间单位有点大

想找到五分钟之内的可以用mmin去实现-5 就是五分钟 +5就是大于五分钟 单位是分钟

find /tmp/ -type f -name hank 可以多个组合使用

find / -num 11221 通过inode号去找到他

也可以加管道符| 去输出给后面的组合

find /var/log -type f -mtime +30 |xargs ls 查看30天的 通常用rm比较多 删除30天的内容

如果给后面的都加一个.bak

find /tmp/ -type f |xargs -i mv {}{}.bak

Find搜索命令

标签:find搜索命令

原文地址:http://sgc666.blog.51cto.com/12342401/1884902

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!