Linuxのchgrpコマンドとは何ですか?
chmod計算機を使用した場合は、Linuxでのファイルのアクセス許可を認識しており、おそらくグループの所有権を認識しています。
Linuxのchgrpコマンドは、ファイルまたはディレクトリのグループを変更するために使用されます。 「changegroup」の略です。
chgrpコマンドの構文は次のとおりです。
chgrp [options] groupname file
5Linuxでのchgrpコマンドの実用例
これらの便利な例でchgrpコマンドを使用する方法を見てみましょう。
1。ファイル/ディレクトリのグループを変更する
これは、chgrpの最も単純で、おそらく最も顕著な使用法です。ファイルまたはディレクトリのグループ所有権を変更するには、次の方法でchgrpコマンドを使用できます。
chgrp group_name file_name
複数のファイルのグループを一度に変更することもできます:
chgrp group_name file1 file2 file3
ファイルと同じディレクトリにいる必要はありません。絶対パスまたは相対パスも指定できます。
現在の特権が重要です。グループをadminまたはrootに変更しようとすると、スーパーユーザー権限が必要になる場合があります。このような場合、「操作は許可されていません」というエラーが表示されます。
ヒント :chgrpはタブ補完をサポートしています。グループ名に数文字を入力し、タブを押すだけで、それらの文字にどのグループが存在するかを確認できます。
2。 chgrpを再帰的に使用して、すべてのファイルとサブディレクトリのグループを変更します
デフォルトでは、ディレクトリでchgrpを使用すると、ディレクトリのグループのみが変更されます。ファイルとサブディレクトリは同じままです。
ディレクトリとサブディレクトリ内のすべてのファイルのグループを変更する場合は、再帰オプション-Rを使用できます。
chgrp -R group_name path_to_directory
3。グループを変更できたかどうかを確認する
「ls-l」コマンドを使用して、グループが変更されたかどうかを確認できます。しかし、前のセクションで見た再帰オプションを使用するように、一度に複数のファイルのグループを変更した場合はどうなりますか?
chgrpは、chgrpコマンドが実行した操作を通知する詳細モードを提供します。オプション-vを使用して、冗長モードでchgrpコマンドを実行できます。
chgrp -vR abhishek samplechanged group of 'sample/agatha.txt' from sudo to abhishek
group of 'sample/a.text' retained as abhishek
changed group of 'sample/text/sherlock.txt' from sudo to abhishek
changed group of 'sample/text' from sudo to abhishek
changed group of 'sample' from sudo to abhishek
詳細モードでは、ファイルのグループが同じままであるかどうかもわかります。グループの所有権が実際に変更されたファイルについてのみこの情報を表示する場合は、オプション-cを使用できます。
ヒント :chgrpを使用して、コマンドの実行権限を(binまたはinitで)付与したり、(rootではなく)特定のグループに属するすべてのユーザーがコマンドを実行できるようにしたりできます。
4。参照ファイルと同じようにグループの所有権を変更します
ファイルAのグループをファイルBと同じように変更したいとします。どのように変更しますか?ファイルBのグループを検索してから、ファイルBのグループ名でchgrpコマンドを使用できます。
ええと、それはそれを行う一つの方法です。ただし、chgrpは、グループの名前を明示的に使用する代わりに、参照ファイルに基づいてグループを変更する専用の方法を提供します。
chgrp --reference=file2 file1
これは、ファイルのグループ所有者を参照ファイルとして変更する必要があるスクリプトを作成している場合に特に役立ちます。
5。シンボリックリンクでのchgrpの使用
デフォルトでは、シンボリックリンクでchgrpコマンドを使用すると、シンボリックリンクのグループがそのままの状態で変更されるのは、参照ファイルのグループ所有者です。
たとえば、これはリンクとその参照ファイルの状態です:
ls -l agatha.txt link.txt
-r--r--rw- 1 abhishek abhishek 457 Aug 10 11:55 agatha.txt
lrwxrwxrwx 1 abhishek abhishek 10 Aug 19 10:19 link.txt -> agatha.txt
ここで、シンボリックリンクのグループを次のように変更すると、次のようになります。
chgrp sudo link.txt
参照ファイルのグループが変更されている間、シンボリックリンクのグループは同じままです。
ls -l agatha.txt link.txt
-r--r--rw- 1 abhishek sudo 457 Aug 10 11:55 agatha.txt
lrwxrwxrwx 1 abhishek abhishek 10 Aug 19 10:19 link.txt -> agatha.txt
参照ファイル自体ではなく、シンボリックリンクのグループ所有権のみを変更する場合は、-hオプションを使用できます。
chgrp -h sudo link.txt
ただし、Linuxではリンクのアクセス許可には意味がないため、お勧めしません。ここで重要なのは参照ファイルです。
グループの変更にchownを使用できるのに、なぜchgrpを使用するのですか?
chownコマンドを使用してファイルのグループを変更することもできますが、chownコマンドでグループのみを変更することは標準ではありません。また、この目的でchownを使用すると混乱する可能性があります。 chgrpは非常に簡単で、ファイルまたはディレクトリのグループを変更するにはchgrpコマンドを使用することをお勧めします。
chgrpコマンドの例が気に入っていただけたでしょうか。質問や提案、または簡単な感謝がある場合は、下のコメントボックスを使用してください。