我将一个项目目录复制到便携式硬盘,擦除笔记本电脑并将项目复制回来,但现在 git 报告由于文件先前的 644 权限更改为 755 而导致大量更改。
我可以递归地将所有文件和目录更改为 644,但随后我在 git 中加载了更多更改(所以看起来并非所有内容都是 644)。有没有办法只 chmod 具有 755 权限的文件?
答案1
find
(参见)的文档man find
写道,
-perm mode
文件的权限位恰好是模式(八进制或符号)。 [...] 有关一些说明性示例,请参阅示例部分。
所以你可以像这样匹配文件并更改它们的权限
find path/to/files -type f -perm 0755 -exec echo chmod 0644 {} +
echo
当您觉得它显示了您所期望的内容时,请删除它,然后再次运行它。
答案2
如果它是 git 存储库的工作树,只需检查文件就可以修复它们的权限。即,做一个git checkout -f
.