递归地更改文件及其内部所有内容的权限

递归地更改文件及其内部所有内容的权限

所以我想创建一个名为更改所有权限接受一个参数争论这样,当changeAllPermissions argument调用时,Group 和 Other 都无权读取、写入或执行争论。如果争论是一个目录,那么权限就会改为争论以及递归地里面的所有内容。

这是我所知道的

例如,我知道如何创建别名

alias myAlias=ls

我还知道如何递归列出文件

ls -R

要更改我的问题所述的权限,我会这样做

chmod go-rwx

但我很难将所有这些整合在一起。

任何帮助表示赞赏。

谢谢朋友。

答案1

chmod已经有一个递归标志 ( -R)。从联机帮助页:

   -R, --recursive
          change files and directories recursively

因此,如果您想要一个函数来为您执行此操作,您可以编写类似的内容

function myFunc() {
    chmod -R go-rwx -- "$1"
}

或者别名:

alias myAlias='chmod -R go-rwx'

答案2

我还没有测试过这个,但这就是我想到的:

alias changeAllPermissions='chmod -R go-rwx $1'

-R 选项递归地更改权限。

相关内容