
特定の名前を持つファイルにのみ CHMOD コマンドを再帰的に適用する方法を知りたいですか?
chmod 755 -R filename
filename
上記のようなものですが、サブフォルダー内に存在するものすべてに適用されるはずです。
答え1
これにより、現在のディレクトリから filename という名前のすべてのファイルが再帰的に検索され、 に渡されますchmod
。
find -name filename | xargs chmod 755
find
より高度なオプションについては、およびのマニュアルページを参照してくださいxargs
。特に、名前にスペースが含まれるファイルに関するエラーが発生した場合は、に-print0
対応するフラグと を確認してください。-0
xargs
答え2
find には同じことを実行する exec パラメータもあります。
find . -name filename -exec chmod 755 {} \;
答え3
find 演算子を使用して一度に複数のファイルに対して+
実行すれば、両方の長所を活かすことができます。chmod
find . -name filename -exec chmod 755 '{}' +
常に'
を で囲む必要があります{}
。そうしないと、スペースを含むファイル名によって問題が発生する可能性があります。この場合、問題にはなりませんが、私はそうする癖があります。