首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在mac中使用shell命令递归地更改文件和文件夹的权限

在mac中使用shell命令递归地更改文件和文件夹的权限
EN

Stack Overflow用户
提问于 2010-09-30 20:21:20
回答 5查看 138.8K关注 0票数 34

在Linux中,我们可以使用以下命令递归地更改文件和文件夹的权限模式。

查找“/User/Test/Desktop/PATH”-exec * chmod 777 {} \;

我怎么能对mac做同样的操作,因为我重复地得到了下面的错误。

查找: TEST_FILE:没有这样的文件或目录

EN

回答 5

Stack Overflow用户

发布于 2010-09-30 20:26:06

问题是,*正在由您的shell进行解释,并且正在扩展到一个名为TEST_FILE的文件,该文件恰好位于您当前的工作目录中,因此您告诉find执行不存在的名为TEST_FILE的命令。我不知道你想用那个*做什么,你应该把它去掉。

此外,您应该使用成语-exec program '{}' \+而不是-exec program '{}' \;,这样find就不会为每个文件分叉一个新的进程。对于;,每个文件都要分叉一个新进程,而对于+,它只分一个进程,并在一个命令行上传递所有文件,对于chmod这样的简单程序来说,这样的命令行效率要高得多。

最后,chmod可以使用-R标志自行执行递归更改,因此,除非需要搜索特定的文件,否则只需执行以下操作:

代码语言:javascript
运行
复制
chmod -R 777 /Users/Test/Desktop/PATH
票数 48
EN

Stack Overflow用户

发布于 2010-09-30 20:23:09

您可以只使用-R (递归)标志。

代码语言:javascript
运行
复制
chmod -R 777 /Users/Test/Desktop/PATH
票数 41
EN

Stack Overflow用户

发布于 2013-05-20 07:31:10

通过使用CHMOD是:

对于递归文件:

代码语言:javascript
运行
复制
chmod -R 777 foldername or pathname

对于非递归:

代码语言:javascript
运行
复制
chmod 777 foldername or pathname
票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3834526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档