晚上群里有人讨论起find命令,为find命令的-o,-a困扰,相当混乱的感觉,特整理了一下。
首先得要提几点find命令的基本知识点,以此为基础进行find命令解析
一:find的基本模式和默认规则
find的基本模式是 find [path] [express] /*man find最上边的命令格式 */
path可以省略,默认是当前目录,
express又区分为options(选项)+tests(条件)+actions(动作),express可以逻辑复合
express中,选项先不介绍了,
test条件是的结果是真和假,可以省略的,若条件省略,则默认为true,ture则执行动作actions
actionf动作也是可以省略的,默认的action是-print,即做输出
由上二条可以看也,整个express省略的话,就是执行-print,打印出所有目录项(包括目录和文件)。
搞清楚了find的模式了,再来看命令就清楚多了
第一条命令: find -true -o -name -print
是复合的expression,分为二个子expression做逻辑或
前部分-true,只有test没有action,默认是-print