如何在Unix中一次性将多个目录赋予777权限?

11

我在一个根目录下有几个子目录。有时我想一次性给这些目录赋予 chmod 777 权限。

我知道我们可以单独为每个目录给出 chmod -r 777 abcd,但我想一次性为需要的所有目录授权。

示例:

XYZ -- Parent Directory 

ABCD EGF GHY JHF OIEDF -- These are sub directories.

now i want to give chmod 777 to ABCD EGF GHY . at a time to all these directories.

提前感谢。


1
需要更改目录以及其中的文件吗?如果是,您可以使用 -R 递归地更改文件和目录 - fedorqui
4
这句话是Linux命令,意思是将文件或目录 ABCD、EGF 和 GHY 的访问权限设置为最高级别(读、写和执行权限均为所有用户),翻译成中文就是“将 ABCD、EGF 和 GHY 的权限设置为 777”。 - devnull
2个回答

15
假设XYZ是您文件根目录的路径,您可以使用通配符来精确匹配所需的文件:

假设XYZ是您文件根目录的路径,您可以使用通配符来精确匹配所需的文件:

chmod 777 /XYZ/{ABCD,EGF,GHY}

接下来,您可以使用-R标志对这些文件夹中包含的所有文件和文件夹进行递归操作。

chmod -R 777 /XYZ/{ABCD,EGF,GHY}

要对3个文件夹和它们的父文件夹执行非递归chmod,您可以使用:

chmod 777 /XYZ/{ABCD,EGF,GHY,}

注意最后一个逗号,以便在全局匹配中包含该目录本身。


chmod: 无法访问 `/XYZ/ABCD':没有那个文件或目录。 - Dileep
从我的帖子中:“假设XYZ是您文件根目录的路径,”。将XYZ更改为实际文件路径,或使用相对路径(不带前导/)。 - Geoffroy
chmod 777 /Marin/{TMS,TDA,TDA_AD_AD,TMS_AD_ID} 我是这样写的,如果有错误,请纠正我。 - Dileep
我真的怀疑你的文件系统根目录下有一个名为Marin的文件夹。你是不是指的是/home/Marin - Geoffroy
当您在父文件夹中时,要知道其位置(路径),只需键入 pwd 并使用此值。当您在路径名中键入 ../ 时,则为相对路径,其中 .. 指向父文件夹。 - Geoffroy

1
如果您在与要更改权限的文件/目录相同的目录中,可以运行下面的代码。
chmod -R 777 {ABCD, EGF, GHY, JHF, OIEDF}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接