find . a* -exec chmod o+r {} \;
find . *d -exec chmod o+x {} \;
我想赋予o+r
以“a”开头的所有文件和o+x
以“d”结尾的所有文件,但这些行似乎会影响目录下的所有文件。
答案1
将a*和d*放在引号下,这样shell就不会展开它们,并添加-name关键字。例如,如果您只想搜索文件而不是目录,则添加 -type f。
find . -name 'a*' -type f -exec chmod o+r {} \;
find . -name '*d' -type f -exec chmod o+x {} \;
如果您只想更改当前目录而不是子目录,请添加 -maxdepth 选项
find . -maxdepth 1 -name 'a*' -type f -exec chmod o+r {} \;
find . -maxdepth 1 -name '*d' -type f -exec chmod o+x {} \;