【发布时间】:2015-12-14 18:58:54
【问题描述】:
我正在尝试递归更改当前工作目录中所有目录和文件的权限,但不包括其中一个目录。
我已经尝试了以下命令的多种变体,但无法完全正确
找到 . -类型 d ! -name 目录名 -exec chmod -R 700 {} +
【问题讨论】:
-
你试过
-prune选项吗? -
lol hm 不知道 --exclude= 选项,我对 shell 很陌生,但这似乎是一个非常明显的解决方案。我试试看
-
大脑卡在
rsync模式... -
prune 似乎不起作用。这是我尝试过的:[code] find . -type d -prune -o -name dirName -exec chmod -R 700 {} + [/code]
-
好吧,我虽然你会在下面找到答案。您可以使用 original 命令,只需去掉
-R,它将排除您在! -name directoryName中指定的目录。-R现在发生的事情是不管! -name排除,您仍然更改所有目录的模式(因为在directoryName的父 上操作时,chmod正在应用于它,及其所有子项...:)