我想知道当我在命令中使用时using+
和命令;
末尾之间有什么区别?-exec
find
find .... -exec ... \;
VS
find .... -exec ... +
我想知道当我在命令中使用时using+
和命令;
末尾之间有什么区别?-exec
find
find .... -exec ... \;
VS
find .... -exec ... +
-exec ... \;
将一个接一个地运行。因此,如果您有三个文件,则 exec 行将运行三次。-exec ... {} +
用于一次可以处理多个文件的命令(例如cat
,stat
,ls
)。通过找到的文件find
像xargs
命令一样链接在一起。这意味着更少的分叉,对于小型操作,可能意味着大幅加速。这是一个包含 10,000 个空文件的性能演示。
同样,这仅适用于可以采用多个文件名的命令。您可以通过查看其联机帮助页来判断您的命令是否与此类似。这是来自的概要
man cat
:省略号
[FILE]...
表示它可以包含多个文件。+
只能用于单个命令,并且{}
一行中必须只有一个。\;
可以与多个零对多组一起操作。