chmod 在 764 上抛出缺失操作数,在 664 上抛出 OK

chmod 在 764 上抛出缺失操作数,在 664 上抛出 OK

为了调试目的,我将项目中的所有内容设置为777rwxrwxrwx),我想降低开放度并将根文件夹中的目录(而不是文件)设置为664rw-rw-r--)。

为了做到这一点我使用了(来自如何使用 bash 命令列出文件夹?):

chmod 664 -- */

这按预期工作。然后我意识到我需要目录上的执行位才能进入它们。所以我尝试了:

chmod 764 -- */

但这引发了一个missing operand after "764"错误。

我可以手动更改权限(chmod 764 <dir-name>),并且目录并不多,所以这不是一个大问题,但我想了解一下。

为什么我不能用 将chmod 764 */我当前路径中的目录设置为rwxrw-r--

答案1

如果你已经设置了 shell glob 选项,那么这将是有意义的

  • *包括以 开头的名称.,以及
  • 不匹配任何内容的通配符会消失,而不是保留其本身。(例如,如果您没有任何名称以 开头的文件foo,则该命令echo foo*会打印一个空白行,而不是foo*逐字打印。)

如果以上情况属实,则第一个命令设置为模式 664,这意味着您在发出第二个命令时.没有读取权限。因此无法展开,并变为。.*/chmod 764 -- */chmod 764 --

相关内容