递归 chmod 到 644,其中当前权限等于 755

Sam*_*Sam 3 linux permissions chmod

我将一个项目目录复制到便携式硬盘,擦除我的笔记本电脑并将项目复制回来,但现在 git 报告由于以前具有 644 权限更改为 755 的文件而导致的大量更改。

我可以递归地将所有文件和目录 chmod 为 644,但随后我在 git 中加载了更多更改(因此看起来以前并非所有内容都是 644)。有没有办法只修改具有 755 权限的文件?

roa*_*ima 10

find(请参阅man find)的文档写道,

-perm mode文件的权限位完全是模式(八进制或符号)。[...] 有关一些说明性示例,请参阅示例部分。

所以你可以像这样匹配文件并更改它们的权限

find path/to/files -type f -perm 0755 -exec echo chmod 0644 {} +
Run Code Online (Sandbox Code Playgroud)

echo当您觉得它向您显示您期望的内容时,请删除它,然后再次运行它。

  • +1 用于包含回声及其用于试运行的说明。 (3认同)