Unix find中参数的顺序

Unix find中参数的顺序,unix,find,solaris,Unix,Find,Solaris,在find命令中指定标准的顺序是否重要?在Solaris上 find /my/directory ! -type d -mtime -3 -ls 找不到目录,但 find /my/directory -mtime -3 -ls ! -type d 是的。手册页似乎表明,每个主对象都被单独视为一个布尔表达式,结果只是和在一起,而-ls主对象只是一个总是返回TRUE的对象。-ls是查找的操作 当你说: find /my/directory -mtime -3 -ls ! -type d -ls

find
命令中指定标准的顺序是否重要?在Solaris上

find /my/directory ! -type d -mtime -3 -ls
找不到目录,但

find /my/directory -mtime -3 -ls ! -type d

是的。手册页似乎表明,每个主对象都被单独视为一个布尔表达式,结果只是和在一起,而
-ls
主对象只是一个总是返回TRUE的对象。

-ls
查找
的操作

当你说:

find /my/directory -mtime -3 -ls ! -type d
-ls
之后的部分基本上被忽略,您得到的结果与您通过以下方式得到的结果相同:

find /my/directory -mtime -3 -ls

@rojomoke我不知道Solaris,但GNU find手册页提到“根据优先级规则从左到右计算给定表达式”。@rojomoke Solaris
find
manual页面说明在您的案例中,原色是串联的。串联是绝对有序的。还要注意,
-类型d
仅因为后面没有任何操作而无效。