サブディレクトリだけをchmodする方法は?

サブディレクトリだけをchmodする方法は?

次のディレクトリツリーが与えられた場合:

.
├── d1
│   └── workspace
├── d2
│   └── workspace
├── d3
│   └── workspace
├── d4
│   └── workspace
└── d5
    └── workspace

workspace次のように、すべてのディレクトリの権限を設定する必要があります。

chmod -R 774 d1/作業スペース
chmod -R 774 d2/作業スペース
...

1つのコマンドですべてのディレクトリに対して上記の操作をどのように実行できますかworkspace?次のコマンドを実行できます。

chmod -R 774*

ただし、これにより親ディレクトリのスキーマも変更されるため、望ましくありません。

ベストアンサー1

最上位ディレクトリではワイルドカードを使用できます。

chmod 774 d*/workspace

あるいは、より具体的に指定するには、ワイルドカードをたとえば後ろにd数字が続くように制限することもできます。

chmod 774 d[0-9]/workspace

より一般的なアプローチはfind

find d* -maxdepth 1 -name workspace -type d -exec chmod 774 "{}" \;

おすすめ記事