如何更改文件而不是目录的chmod?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (31)

我需要使用chmod将所有文件递归更改为664.我想跳过这些文件夹。我正在考虑做这样的事情

ls -lR | grep ^-r | chmod 664

这不起作用

提问于
用户回答回答于

解决这两个问题的解决方案是:

find . -type f -print0 | xargs -0 chmod 644
用户回答回答于

另一种方法是使用find ... -exec ...详情如下:

find . -type f -exec chmod 644 {} \;

问题是-exec开始chmod每个文件的进程。xargs方法避免了这种情况,而且如果有一个版本的findxargs它可以处理“路径名中的空格”问题;

此外,如果文件太多,或者路径名的聚合长度太大,那么使用就会中断。

所属标签

可能回答问题的人

  • 天使的炫翼

    17 粉丝531 提问36 回答
  • 富有想象力的人

    3 粉丝0 提问30 回答
  • 学生

    3 粉丝476 提问28 回答
  • o o

    4 粉丝494 提问27 回答

扫码关注云+社区

领取腾讯云代金券