chmod 递归,但不包括起始目录

chmod recursive, but exclude starting directory

据我所知,我 运行 遇到了 chmod 的局限性 - 希望在诉诸于编写一些查找脚本之前在这里挑选更有经验的人。

我想 chmod -R 文件夹中的所有文件和目录,但不要管文件夹本身。在此过程中,我需要完全避免更改起始目录的权限,因此简单的 chmod -R 后跟非递归 chmod 来重置起始目录的权限不是一个选项。

有什么想法吗?

只需给出 chmod 目录内的所有文件和子目录,而不是目录本身。这很容易用 glob 模式完成:

chmod -R dir/*

如果你想考虑隐藏文件和目录,你可以在bash中shopt -s dotglob