Linux文件搜索命令find的用法

2017-03-28 11:00 阅读 772 次 评论 0 条

不管在Windows还是Linux中,最重要的问题不是说你能搜索到这个文件,而是最好少用搜索,应该是你在整个服务器的规划里面,把所以的文件目录规划的很好。就像如果你在家里找衣服,如果不是你乱扔,就不可能花费太长的时间。因为搜索会占用大量的系统资源,但是有一些操作比如被他人非法修改的文件,的确find命令是一个很好的选择。

文件搜索命令find的一般格式

find一般搜索使用实例

大家可能会认为只要文件名包含init,比如initab,123init都会被匹配到,linux不同于windows,linux中的搜索就是精准搜索,也就是说,只有文件名为init的文件才可以搜索到。那么如果linux下我想搜索文件名包含init的文件怎么办呢?

在linux当中,一个数据块是512字节,即0.5K,文件的大小以数据块来计算,因此100MB=102400KB=204800。数据块是linux文件中存储的最小单位。+n:大于,-n:小于,n:等于。

user表示根据所有者查找,当然,我们也可以使用-group根据所属组来搜索。

通过时间属性来搜索

我习惯性把上述的3个时间属性称为ACM,在这里我附上前面一篇关于ACM的博文方便大家记忆:https://www.1024do.com/?p=2318

-10表示10分钟之内,+10代表的就是10分钟以前。其他时间属性的操作与此一致。

find中的多条件命令

-a在这里表示两个条件同时满足,与之对应的还有-o,表示两个条件满足任意一个即可。

-exec在这里起一个链接作用,与-ok的区别在于,它不需要确认,而-ok会进行安全检查。ls -l表示显示文件信息,{}表示对find查询的结果替换,\表示转义符,;表示结束。

通过文件类型搜索

根据i节点查找

即inum,每个文件或目录都有一个i节点,这里不详细描述,只简单介绍一下其用法,具体情况大家可以自行百度,我们可以通过寻找一个文件、目录的inum节点而对其进行其他操作。

从图中可以看出,通过查看文件或目录的i节点,就可以对其进行附加的操作。

总结:find命令可以精准的搜索到你的预期要求,当其他命令不能搜索到某个文件或目录时,find确实给我们带来了很多便捷,但是,find命令在搜索的时候是从硬盘进行遍历的,因此会非常耗费硬盘的资源,这样就会使搜索时间提高,随之而来的就是效率的低下,所以说,find是一把双刃剑,带给我们便捷的途中,也难免让我们耗费更多的资源与时间。

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:Linux文件搜索命令find的用法 | 术与道的分享
分类:操作系统 标签:,
1024do.com导航_术与道导航平台

发表评论


表情