
ディレクトリにファイルが含まれていないすべてのディレクトリに固定ビットを設定したいと思います。これを行うことができるワイルドカードはありますか?
#sudo chmod g+s /var/www/<WILD_CARD_FOR_ALL_DIRECTORIES>
答え1
ディレクトリのみを一致させるために使用されます*/
。
chmod g+s /var/www/*/
すべてのディレクトリとサブディレクトリを一致させるには、以下を使用します(bashで有効になっている**/*/
場合)。globstar
shopt -s globstar
chmod g+s /var/www/**/*/
答え2
find を使用できます。以下の例をご覧ください。
find /var/www/ -type d -exec chmod g+s {} \;
答え3
これはワイルドカードではないので、回答できなかったことをお詫び申し上げます。ただし、現在のディレクトリのすべてのディレクトリを一覧表示し、それを処理するか削除するかを
ls -al |grep ^d | awk '{print$NF}'
決定するのはユーザーの役割です。.
..
echo $(ls -al |grep ^d | awk '{print$NF}')
ワイルドカードのように動作しますか?