GNU/Linux >> Linux の 問題 >  >> Linux

所有者/グループを再帰的に変更するより迅速な方法は?

chown を使用 の再帰オプション:

chown -R owner:group * .[^.]*

* の両方を指定 そして .[^.]* find のすべてのファイルとディレクトリに一致します でしょう。現在推奨されるセパレータは : です . の代わりに . (justins が指摘したように、.* を使用して . を含むように展開できるため、安全ではありません および .. 、結果は chown になります 親ディレクトリとそのすべてのサブディレクトリの所有権を変更します。)

現在のディレクトリの所有権も変更したい場合は、次のように簡略化できます

chown -R owner:group .

chown のようなコマンドの場合 独自の再帰がある場合、そのオプションを使用するのが最速です:

 chown -R owner:group * .[^.]*

警告!一部のシェルでは、フォーム chown -R owner:group * .* ルート ディレクトリ / の所有者を置き換えます。 .*だから ../../../../root, ../bin ... etc を意味します .すべてのパス。ただし、最も広く使用されているシェル、bash 、適用されません ... 、拡張パターン。

ただし、find の使用を遅くする主な問題を知っておくと役に立ちます。 chmown を呼び出すことです 見つかったすべてのディレクトリとファイルで。使用するのがはるかに高速です:

find . -type f -exec chown <owner>:<group> {} +
find . -type d -exec chown <owner>:<group> {} +

毎回 chown コマンドラインに収まる数のパラメータで呼び出されます。

この変更は、chown のような再帰オプションが組み込まれていない他のコマンドでも機能します。 、 同じように。また、そのような再帰オプションがあり、それを使用できない状況 (たとえば、chmod を使用する場合) で機能します (速度が向上します)。 、ディレクトリのみを変更したい)。


Linux
  1. ファイルパーミッションにおけるユーザーとグループ所有者の優先順位?

  2. Chownがグループを変更できる場合、なぜChgrpが作成されたのですか?

  3. Linuxでchownコマンドを使用して所有権を変更する方法

  1. 所有者とグループを変更する 12 の Linux chown コマンドの例

  2. Linux での chown コマンドの例

  3. 特定の所有者のみの所有者とグループを変更する

  1. C で所有者とグループを変更しますか?

  2. Bash でファイル拡張子を再帰的に変更する

  3. ls を所有者とグループでソートするにはどうすればよいですか?