
すべてのディレクトリに権限を付与しようとしていますが、質問は一般的です。すべてのファイルを処理するのではなく、g+rx
必要なファイルだけをchmodを使用して実行する方法です。find
私はこれを試しました:
find /path -type d \! -perm /g+rx -exec chmod g+rx "{}" ";"
/path
私はそれを「権限のないすべてのディレクトリを見つけて実行する」と理解していg+rx
ますchmod g+rx
。
ただし、IO統計を見ると、このコマンドは常に多くの書き込み(編集:確認を使用exec echo...
)を生成するため、必要なディレクトリだけでなくすべてをchmodsします。繰り返し実行されると、書き込みは生成されません。
答え1
ここにあります。少し間違ったアラームです。否定的なテストで「!」を使用すると、私のシェルに問題がありますfind
。 「-not」に変更すると正常に動作し始めました。