2011-10-27 148 views
2

我想改变我的网站中的每个文件夹的文件夹权限,但不是文件。更改文件夹权限只有不是Linux中的文件

我可以通过做ls -l | egrep '^d'一一列举,但有没有办法做到这一点:

chmod 751 | egrep '^d',我得到一个错误的搭配chmod预计3个PARAMS,但我对如何给它从egrep的结果不确定。

我试图通过使用chmod 751 -R *.*作弊,但我有几个文件夹'。'在名字中,这样就行不通了。

回答

11

我想这应该工作:

find . -type d -exec chmod 751 {} \; 
+2

请注意,该命令是递归的,并且也将在子目录上执行(OP的示例仅处理当前目录)。要限制到当前目录,请使用'--maxdepth'选项。 –

0

如果你有列出所需物品的方法来改变你可以随时将它包装在$()(或反引号),以有位首先执行,并放置作为参数,如下所示:

chmod 751 $(ls -l | egrep '^d') 
+0

什么是egrep工作? –

+0

我从他的问题中拿出来,却意外地忽略了第一个问题。 – Thor84no

+0

另一个问题是,它不会正确处理带有空格的文件名,并且如果文件太多,会出现“参数列表太长”的错误。 –