Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 何时使用-在docker中键入d-exec chmod 750/640_Linux_Bash_Docker_Devops - Fatal编程技术网

Linux 何时使用-在docker中键入d-exec chmod 750/640

Linux 何时使用-在docker中键入d-exec chmod 750/640,linux,bash,docker,devops,Linux,Bash,Docker,Devops,我已经开始与Docker合作进行本地开发,从在mac上安装所有东西到容器。通过查看大量项目,我经常看到以下shell命令,尤其是 find /www -type d -exec chmod 750 {} \; \ find /www -type f -exec chmod 640 {} \; 首先,他们试图实现什么,其次,这些命令实际上意味着什么,最后,为什么/什么时候需要使用这些命令 我最近复制并修改了另一个项目,发现拉出这些命令似乎没有什么区别(公平地说,它不再基于相同的基本容器……但仍然

我已经开始与Docker合作进行本地开发,从在mac上安装所有东西到容器。通过查看大量项目,我经常看到以下shell命令,尤其是

find /www -type d -exec chmod 750 {} \; \
find /www -type f -exec chmod 640 {} \;
首先,他们试图实现什么,其次,这些命令实际上意味着什么,最后,为什么/什么时候需要使用这些命令

我最近复制并修改了另一个项目,发现拉出这些命令似乎没有什么区别(公平地说,它不再基于相同的基本容器……但仍然如此)

任何一点启示都将受到极大的赞赏

编辑: 这告诉我们: 内容:在
/www
中查找所有文件夹并执行chmod命令,将权限更改为750
-仍然不确定750,更重要的是,您为什么要这样做。

这些命令将所有文件和目录设置为所有者可读写,组可读,但任何人都不能执行这些文件

你可能想先读一读

/www
下查找所有文件,并将用户设置为具有
r
ead、
w
rite访问权限(6),将组设置为具有
r
ead访问权限(4)。其他用户没有访问权限(0)

查找
/www
下的所有目录,并将用户设置为对这些目录具有
r
ead、
w
rite和e
x
ecute权限(7)以及组具有
r
ead和e
x
ecute权限(5)。其他用户没有权限(0)

\find
后,code>终止
-exec
命令,并且在shell中运行时必须转义,因此它不会被解释为常规
这是shell命令的结尾。这也可以通过
+
实现,因为它不需要转义和删除,因此更易于阅读。如果您在其他地方依赖stdout/stderr,那么效率可能会导致输出差异

这意味着用户可以更改目录并访问其中的文件。由于目录不能在可执行文件的意义上执行,因此执行位被重载以表示其他内容


也是一个很好的工具。

这些命令将所有文件和目录设置为所有者可读写,组可读,但任何人都不能执行这些文件

你可能想先读一读

/www
下查找所有文件,并将用户设置为具有
r
ead、
w
rite访问权限(6),将组设置为具有
r
ead访问权限(4)。其他用户没有访问权限(0)

查找
/www
下的所有目录,并将用户设置为对这些目录具有
r
ead、
w
rite和e
x
ecute权限(7)以及组具有
r
ead和e
x
ecute权限(5)。其他用户没有权限(0)

\find
后,code>终止
-exec
命令,并且在shell中运行时必须转义,因此它不会被解释为常规
这是shell命令的结尾。这也可以通过
+
实现,因为它不需要转义和删除,因此更易于阅读。如果您在其他地方依赖stdout/stderr,那么效率可能会导致输出差异

这意味着用户可以更改目录并访问其中的文件。由于目录不能在可执行文件的意义上执行,因此执行位被重载以表示其他内容


这也是一个很好的工具。

您是否阅读了
find
chmod
命令的文档?感谢您提供的精彩链接,解释shell将成为我的新好友。您是否阅读了
find
chmod
命令的文档?感谢您提供的精彩链接,解释shell将成为我的新好友。感谢您提供的精彩答案和精彩链接,非常感谢。
-exec
的最后一个参数必须为
+
--所以OP的原始代码中的分号不是shell指令,而是一个必要的参数。(
+
表单的效率要高得多,它的行为类似于
xargs
,因为它将尽可能多的参数组合到每个命令上)。感谢您提供了精彩的答案和链接,非常感谢。
-exec
具有强制的最后一个参数
+
--所以OP的原始代码中的分号不是shell指令,而是一个必要的参数。(
+
表单更高效,其行为类似于
xargs
,因为它将尽可能多的参数组合到每个命令上)。
find /www -type f -exec chmod 640 {} \;
find /www -type d -exec chmod 750 {} \;