find命令小结


写在前面

对于玩linux的人来说,目录搜索和文件定位是必不可少需要掌握的技能,那么自然而然对find命令就不会陌生。但是呢,我发现绝大多数的人(包括我在内)由于对它缺乏更深的了解,因此并不能高效地使用它,充其量会个find path -name pattern(即通过文件名搜索定位文件)。其实呢,find命令提供了很多功能,如果能够花点时间去学习掌握,势必会大大增加工作的效率。
有一点需要注意,那就是find命令相对其它命令来说是稍微有那么一点复杂的。复杂在哪呢? 如果你去查看find的man手册,肯定会看到它里面有个表达式(expression)的概念(学过程序设计的人一定对编程语言里的表达式概念不会陌生,而find命令里的表达式概念与编程语言里的表达式概念是非常相像的。关于编程语言里的表达式概念可以参考我的一篇关于C语言表达式的博文《C语言基本概念之表达式》),我认为对这个表达式的了解程度是判断一个人对find命令熟练与否的标志。


find命令格式

先来整体把握一下find命令的格式。一图胜千言,如下:
find命令格式


find命令工作机制

简述find命令工作机制是这样的:沿着PATH指定的文件层次结构向下遍历,匹配符合expressiontests指定的条件的文件,并对其执行expression中指定的actions。 其中PATH我们可以一次性连续给出多个路径,find命令在遍历搜索完一个路径之后,会继续搜索遍历下一个路径。也可以省略PATH,此时PATH的默认值是“.”,即当前目录。


EXPRESSION

文章一开始就说了,学习find命令时掌握expression是重中之重。它告诉find命令如何匹配符合条件的文件,并对匹配到的文件执行哪些相应的操作(actions)。

从上面的find命令格式中我们可以看到一个完整的expression可以由optionstestsactions以及operators组成。


参考链接

《Linux find运行机制详解》

《File and directory operations of Linux basic commands》

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值