Linux 如何提高更改文件和文件夹权限的性能?
我将我的工作项目权限串联设置为:Linux 如何提高更改文件和文件夹权限的性能?,linux,ubuntu,permissions,find,chmod,Linux,Ubuntu,Permissions,Find,Chmod,我将我的工作项目权限串联设置为: 755适用于所有目录 644用于所有文件 我通过运行“下一步”命令来执行此操作: $ find /path/to/project -type d -exec chmod 0755 {}; $ find /path/to/project -type f -exec chmod 0644 {}; 它工作正常,但有点慢,尤其是在虚拟机上 我能否以任何其他方式改进此任务的性能?参考-[ 1.此处消耗的大部分时间用于为每个条目加载chmod进程。为了避免这种情况,
- 755适用于所有目录
- 644用于所有文件
$ find /path/to/project -type d -exec chmod 0755 {};
$ find /path/to/project -type f -exec chmod 0644 {};
它工作正常,但有点慢,尤其是在虚拟机上
我能否以任何其他方式改进此任务的性能?参考-[ 1.此处消耗的大部分时间用于为每个条目加载chmod进程。为了避免这种情况,请使用xargs-
find /path/to/project -type d -print0 | xargs -0 chmod 755
find /path/to/project -type f -print0 | xargs -0 chmod 644
2.幸运的是,您可以选择不使用
find
,这会使查找速度更快。参考链接中的第二个答案解释了如何根据您的需要编写chmod命令[
1.此处消耗的大部分时间用于为每个条目加载chmod进程。为了避免这种情况,请使用xargs-
find /path/to/project -type d -print0 | xargs -0 chmod 755
find /path/to/project -type f -print0 | xargs -0 chmod 644
2.幸运的是,您可以选择不使用find
,这会使查找速度更快。参考链接中的第二个答案解释了如何根据您的需要编写chmod命令
find /path/to/project -type d -exec chmod 0755 {} +
这会将尽可能多的参数分组到chmod
也可以考虑使用<代码> CHMOD-R ,然后再触摸目录。
你可以做
find /path/to/project -type d -exec chmod 0755 {} +
这会将尽可能多的参数分组到chmod
也可以考虑使用<代码> CHMOD-R ,然后再触摸目录。
可以直接使用命令:
其中a-x+x
-删除目录树中所有文件的执行权限(即递归),同时允许目录浏览
构造a-x+x
删除任何文件和目录的所有(a
,即用户、组和其他)的执行位(-x
),然后将其(+x
)添加到所有目录(以及可执行文件,但由于前面的-x
)中。
以类似的方式
go+r-w
向group和其他(go
)添加读取权限(+r
)并删除写入权限(-w
)。您可以直接使用以下命令:
其中a-x+x
-删除目录树中所有文件的执行权限(即递归),同时允许目录浏览
构造a-x+x
删除任何文件和目录的所有(a
,即用户、组和其他)的执行位(-x
),然后将其(+x
)添加到所有目录(以及可执行文件,但由于前面的-x
)中。
以类似的方式,
go+r-w
向group和其他人(go
)添加读取权限(+r
)并删除写入权限(-w
)。谢谢!您的参考链接对我非常有用!您的参考链接对我非常有用。chmod-r
设置两者的权限(文件和目录)而不是单独的文件/目录,因此它将不正确地更改权限。最后如何处理+
-这是一个有趣的想法,谢谢!我没有说chmod-R
。不过,使用chmod-R
进行完全扫描,然后使用find-typed-exec chmod 755{}进行dir+
会更快。是的,你说得对,我首先不明白你的意思我假设chmod-R
同时设置权限(文件和目录)而不是单独的文件/目录,因此它将错误地更改权限。最后如何处理+
-这是一个有趣的想法,谢谢!我没有说关于chmod-R
。不过,使用chmod-R
进行完全扫描,然后只使用find-type d-exec chmod 755{}进行dir+
会更快。是的,你是对的,我首先不明白你的意思。W,很酷,非常感谢!你能解释一下做什么a-x+x
选项吗?我添加了一些注释,以防它们对其他人有用。哇,很酷,非常感谢!你能解释一下做什么a-x+x
选项吗?我已经添加了一些评论,以防对其他人有用。