Cayenne Asked: 2018-12-08 22:55:32 +0800 CST2018-12-08 22:55:32 +0800 CST 2018-12-08 22:55:32 +0800 CST 我使用 find 命令没有指定目录 772 我没有指定目录就使用了这个命令: sudo find -type d -exec chmod 755 {} \ 可能发生了什么?我在 /var/www/html 文件夹中。它是否更改了 /var/www/html 目录之外的任何权限? command-line permissions chmod find 2 个回答 Voted Sergiy Kolodyazhnyy 2018-12-08T23:39:59+08:002018-12-08T23:39:59+08:00 Ubuntu 使用 GNU find,如果您不指定一个,它将假定当前工作目录。具体来说,它假定.命令找到的所有项目./在传递给-exec命令时都将具有其路径的前缀。所以它只会遍历/var/www/html;如果您当前的工作目录真的/var/www/html没有,那将受到影响。例如,其他实现find可能需要目录参数作为 BSD find。 但是,正如成熟的回答所提到的,您的语法不完整,因此该命令不会运行。最后\会告诉shell命令不完整并显示PS2提示符是> Best Answer mature 2018-12-08T23:03:36+08:002018-12-08T23:03:36+08:00 您错过了 a;或 a{} +并且可以跳过路径(从当前目录开始运行查找) sudo find -type d -exec chmod 755 {} \; 在这种情况下,您的搜索从带有子目录的当前目录开始。但是您显然可以设置目录。 当前目录: sudo find . -type d -exec chmod 755 {} \; 绝对路径: sudo find /var/www/html -type d -exec chmod 755 {} \; 解释: sudo- 以超级用户身份运行 find -type d- 仅搜索目录(如果您只需要文件,请使用find -type f. 如果您不关心文件或目录,只需从命令中删除-type d[f] )。 -exec chmod 755 {} \;- 为 init -exec param 命令中的每个已创建对象运行命令chmod 755(在本例中为find命令)。 -exec chmod 755 {} +- 一次运行命令chmod 755以获得完整的结果。
Ubuntu 使用 GNU
find
,如果您不指定一个,它将假定当前工作目录。具体来说,它假定.
命令找到的所有项目./
在传递给-exec
命令时都将具有其路径的前缀。所以它只会遍历/var/www/html
;如果您当前的工作目录真的/var/www/html
没有,那将受到影响。例如,其他实现find
可能需要目录参数作为 BSDfind
。但是,正如成熟的回答所提到的,您的语法不完整,因此该命令不会运行。最后
\
会告诉shell命令不完整并显示PS2
提示符是>
您错过了 a
;
或 a{} +
并且可以跳过路径(从当前目录开始运行查找)在这种情况下,您的搜索从带有子目录的当前目录开始。但是您显然可以设置目录。
当前目录:
绝对路径:
解释:
sudo
- 以超级用户身份运行find -type d
- 仅搜索目录(如果您只需要文件,请使用find -type f
. 如果您不关心文件或目录,只需从命令中删除-type d[f] )。-exec chmod 755 {} \;
- 为 init -exec param 命令中的每个已创建对象运行命令chmod 755(在本例中为find命令)。-exec chmod 755 {} +
- 一次运行命令chmod 755以获得完整的结果。