在阅读一些AWS文档时,我注意到以下命令:
find /var/www -type d -exec sudo chmod 2775 {} +
我熟悉;在查找字符串中结束执行,但从未见过'+'。有人能解释一下吗?
原文:http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/install-LAMP.html
谢谢!
如果使用加号(+
)而不是转义分号,则参数将在传递给命令之前分组在一起。例如:
$ find . -type f -exec echo {} +
. ./bar.txt ./foo.txt
在这种情况下,只创建一个子进程(echo . ./bar.txt ./foo.txt
),这是更高效的,因为它避免了每个参数的fork/exec。
使用转义分号,您将获得为每个参数创建的子进程。
$ find . -type f -exec echo {} ;
.
./bar.txt
./foo.txt