什么是通配符来选择目录中的所有目录

Nec*_*twi 14 directory wildcards

我想为目录中不包括文件的所有目录设置粘滞位。是否有任何通配符可以做到这一点?

#sudo chmod g+s /var/www/<WILD_CARD_FOR_ALL_DIRECTORIES>
Run Code Online (Sandbox Code Playgroud)

dog*_*ane 25

用于*/仅匹配目录。

chmod g+s /var/www/*/
Run Code Online (Sandbox Code Playgroud)

要匹配所有目录和子目录,请使用**/*/(前提是您已globstar在 bash 中启用):

shopt -s globstar
chmod g+s /var/www/**/*/
Run Code Online (Sandbox Code Playgroud)

  • 效果很好,但一旦扩展的命令行长度超过命令行长度限制就会中断。-&gt; http://www.cyberciti.biz/faq/argument-list-too-long-error-solution/ (2认同)

Rah*_*til 13

你可以使用 find ,见下面的例子

find /var/www/ -type d -exec chmod g+s {} \;
Run Code Online (Sandbox Code Playgroud)

  • 这很好,但不是通配符 - 但它的优点是不会因为目录太多而失败 (3认同)