这个命令怎么来的:
find . -name \*.css -o -name \*.php -type f
给出了所有 *.css 和 *.php 文件的列表,但添加了“exec”选项:
find . -name \*.css -o -name \*.php -type f -exec chmod 664 {} \;
仅更改文件的文件权限*.php
,而不更改*.css
?
注意:我正在使用 Amazon EC2 Linux。
答案1
您误解了 AND / OR 操作。
find . \( -name \*.css -o -name \*.php \) -type f -exec chmod 664 {} \;
find 尝试找出表达式是真还是假。如果 OR 的左侧已经为真,则无需执行右侧。如果 OR 的优先级高于 AND,则您的方法会有效,但事实并非如此。