![FIND 操作数和参数顺序](https://linux22.com/image/1330809/FIND%20%E6%93%8D%E4%BD%9C%E6%95%B0%E5%92%8C%E5%8F%82%E6%95%B0%E9%A1%BA%E5%BA%8F.png)
我有一个查找命令,但我不确定我是否正确地放置了我的参数。
find / -xdev -size -size -262144000c -o -type d \( -name .snapshot -o -name man -o -name Man -o -fstype mvfs \) -prune -o -type f
我只想查找不在 .snapshot、man 目录或 MVFS 文件系统中且大小小于 250MB 的文件。
我是否需要将尺寸命令放在括号中?我是否需要使用 -a 而不是 -o?
谢谢!
答案1
将我对问题的评论复制到答案中......
find / -type d \( -name .snapshot -o -name man -o -name Man -o -fstype mvfs \) -prune -o -xdev -size -262144000c -type f -print
-a
-o
如果没有指定,则表达式之间是隐含的。
(我的声誉不足以创建/编辑评论,我的评论随问题一起迁移自stackoverflow.com。不过,也许@Scott 可以回答并从他的贡献中受益,我学到了一些东西。你应该用同样的方式给他发消息。谢谢。)
答案2
crw 的回答很好。复制我的评论补充答案:
- 我建议将保持
-xdev
在开头(在之后/
)。 - 如果你有
-xdev
,我确信你不需要-fstype
。 - 另外,您可以更改
-name man -o -name Man
为-name "[Mm]an"
。