質問: 再帰的にchmod 私はフォルダとファイルをchmodしようとしていました:find . -type d -exec chmod 755 {} \; find . -type f -exec chmod 644 {} \; しかし、私は疑問に思っていました: findを使用し、ディレクトリ.と..を除外して1行で実行する方法 find -execとxargsのどちらの方法が良いですか?
回答: sherlockは(1)を取得しました。これは、(2)の場合、xargsが一般的に望ましい方法です。これにより、構文がより合理的になり、シェル呼び出しのオーバーヘッドが少なくなります。スペースと特殊文字を含むパスが作業を台無しにする可能性があるため、それぞれ検索する-print0オプションと-0オプションおよびxargsに注意してください。1回限りの実行の場合、巨大なツリーをchmodingしない限り、違いは実際には問題になりません。スクリプトに形式化するのに十分な頻度でこれを行う場合は、xargsを使用します。