在Linux中,我们可以使用以下命令递归地更改文件和文件夹的权限模式。
查找“/User/Test/Desktop/PATH”-exec * chmod 777 {} \;
我怎么能对mac做同样的操作,因为我重复地得到了下面的错误。
查找: TEST_FILE:没有这样的文件或目录
发布于 2010-09-30 20:26:06
问题是,*
正在由您的shell进行解释,并且正在扩展到一个名为TEST_FILE
的文件,该文件恰好位于您当前的工作目录中,因此您告诉find
执行不存在的名为TEST_FILE
的命令。我不知道你想用那个*
做什么,你应该把它去掉。
此外,您应该使用成语-exec program '{}' \+
而不是-exec program '{}' \;
,这样find
就不会为每个文件分叉一个新的进程。对于;
,每个文件都要分叉一个新进程,而对于+
,它只分一个进程,并在一个命令行上传递所有文件,对于chmod
这样的简单程序来说,这样的命令行效率要高得多。
最后,chmod
可以使用-R
标志自行执行递归更改,因此,除非需要搜索特定的文件,否则只需执行以下操作:
chmod -R 777 /Users/Test/Desktop/PATH
发布于 2010-09-30 20:23:09
您可以只使用-R (递归)标志。
chmod -R 777 /Users/Test/Desktop/PATH
发布于 2013-05-20 07:31:10
通过使用CHMOD是:
对于递归文件:
chmod -R 777 foldername or pathname
对于非递归:
chmod 777 foldername or pathname
https://stackoverflow.com/questions/3834526
复制相似问题