以下のコマンドを実行すると、検索結果の最初のレベル(SubDir *)のみが変更され、サブシーケンス(ChildSubDir *)は変更されていません。 chmodを使って再帰的に検索して実行できるかどうか見てみたいです。
実行するコマンド:
find ./to/path/ -type d -exec chmod 777 {} \;
目次:
DirsRoot
|-->SubDir1
| |-->ChildSubDir1
| |-->OtherFile1
|-->SubDir2
| |-->ChildSubDir2
| |-->OtherFile2
|-File1
|-File2
答え1
検索せずにchmodを再帰的に使用できます。-R
フラグがあります。それは次のとおりです。
$ cd ./to/path
$ chmod -R 777 *
これはchmod
すべてのファイルになります。
ディレクトリのみchmodしたい場合は、コマンドは次のようになります。
find /to/path -type d -exec chmod 777 {} +
詳しくはここ
答え2
次のコマンドを使用すると機能します。
find /to/path/ -type d -print0 | xargs -0 chmod 777