-R不能使用chmod?

时间:2013-08-16 17:37:26

标签: bash chmod

我被要求让我拥有的所有HTML文件都拥有这些权限:RW-RW-R--(所以664我相信,目前它们是644)。

所以我跑了这个:

$ chmod -R 664 *.html

它只更改了该文件夹中的html文件(我去了一个子文件夹并检查了那里的权限,他们没有改变)。我需要更改我拥有的所有文件,因此我从顶级文件夹中运行它。

我的命令错了吗?是一些服务器设置?我相信我之前已经这样做了,但我现在无法上班。

1 个答案:

答案 0 :(得分:2)

使用命令:

chmod -R 664 *.html

shell将扩展给定的文件路径(*.html)并对其进行操作。这将是当前目录中的所有html文件。它不会遍历目录,除非你有一个匹配该模式的目录,在这种情况下,该文件夹下的所有内容都将被更改。

要执行您想要执行的操作,您需要使用find

find . -name "*.html" -exec chmod 664 {} \;

如果要更改的html文件只有一个或两个级别,你可以这样做:

chmod 664 *.html */*.html */*/*.html

等。但find将是一般解决方案。