我被要求让我拥有的所有 HTML 文件都具有以下权限:RW-RW-R--(所以我相信是 664,目前它们是 644)。
所以我运行了这个:
$ chmod -R 664 *.html
它只更改了该文件夹中的 html 文件(我去了一个子文件夹并检查了那里的权限,它们没有改变)。我需要更改我拥有的所有文件,所以我从顶级文件夹运行它。
我的命令错了吗?是服务器设置吗?我相信我以前做过这个,但我现在无法让它工作。
使用命令:
chmod -R 664 *.html
shell 将扩展给定的文件路径 ( *.html
) 并仅对这些路径进行操作。那将是当前目录中的所有 html 文件。除非您有一个与该模式匹配的目录,否则它不会遍历目录,在这种情况下,该文件夹下的所有内容都将被更改。
要做你想做的事,你需要使用find
:
find . -name "*.html" -exec chmod 664 {} \;
如果您要更改的 html 文件只有一层或两层,您可以执行以下操作:
chmod 664 *.html */*.html */*/*.html
等但find
将是一般的解决方案。