如何更改 Linux 上的权限

如何更改 Linux 上的权限

如何将当前目录及其所有子目录中的所有 *.java 文件设置为所有用户都具有读取权限?

我还想将当前目录和所有子目录中大小至少为 1 千字节的所有文件设置为管理员组。

答案1

选择:要设置当前目录中所有 .java 文件的读取权限,请使用以下命令:

chmod -R 444 *.java

将当前目录和所有子目录中大小至少为 1 KB 的所有文件设置为属于管理员组。

find /yourdirectorypath -size +1k -exec chgrp admin {} \;

笔记:“-R”表示递归,它也会覆盖你的子目录

答案2

如何将当前目录及其所有子目录中的所有 *.java 文件设置为所有用户都具有读取权限?

在 bash ≥4.0 和 zsh 中:

chmod a+r ./**/*.java

在任何符合 POSIX 的系统上(即任何非古老的 ​​unix 变体等):

find . -name '*.java' -exec chmod a+r {} +

将当前目录和所有子目录中大小至少为 1 KB 的所有文件设置为属于管理员组。

在 zsh 中:

chgrp admin ./**/*(.L+1023)

在任何符合 POSIX 的系统上:

find . -type f -size +1023c -exec chgrp admin {} +

答案3

使用 find 和 xargs

find . -name \*.java | xargs chmod o+r

或者

find . -name \*.java -print0 | xargs -0 chmod o+r

第二个版本处理文件或目录名中的空格。

您可能还需要修复目录权限。

find . -type d -print0 | xargs -0 chmod o+rx

您可以避免更新已经正确的权限。查看 find 的手册页并查看有关权限的部分。

答案4

要设置当前目录中所有 .java 文件的读取权限,请使用此命令

chmod +r *.java

相关内容