はじめに
chgrp
コマンドは、Linuxのディレクトリまたはファイルの所有権を変更します。各ファイルは、所有しているユーザーまたはグループに関連付けられており、ファイルの読み取り、書き込み、または実行を実行できるユーザーまたはグループを定義するルールがあります。
このチュートリアルでは、chgrp
の使用方法を学習します ファイルのグループ所有権を変更するコマンド。
前提条件
- Linuxを実行しているシステム
- sudo権限を持つユーザーアカウント
- ターミナルへのアクセス( Ctrl + Alt + T )
chgrpコマンドとは何ですか?
chgrp
(change group)コマンドは、ファイルまたはディレクトリが属するグループ名を変更します。 Linuxの各ファイルはユーザーによって作成されますが、各ユーザーはグループに属します。ファイルのグループ所有権を変更すると、ファイルへのアクセスと変更の権限も変更されます。
chgrp
以降 コマンドにはスーパーユーザー権限が必要です。sudo
を使用してコマンドを実行することを忘れないでください 適切に実行するためのプレフィックス。
chgrpコマンド構文の説明
chgrp
コマンド構文は次のとおりです。
chgrp [OPTION] [GROUP_NAME] [DIRECTORY/FILE_NAME]
-
[OPTION]
- 追加オプション。それらがなくてもコマンドを使用できます。 -
[GROUP_NAME]
-ファイルを割り当てるグループ。 -
[DIRECTORY/FILE_NAME]
-ターゲットディレクトリ/ファイル。
[OPTIONS]
は:
オプション | 説明 |
---|---|
-f 、--silent 、--quiet | エラーメッセージを表示せずにコマンドを実行します。 |
-v 、--verbose | 処理されたすべてのファイルのアクションの詳細を出力します。 |
-c 、--changes | --verbose に似ています 、ただし、変更を加えた場合にのみ報告します。 |
--dereference | シンボリックリンク自体ではなく、各シンボリックリンクの指示対象に影響します。 |
-h 、--no-dereference | 参照ファイルの代わりにシンボリックリンクに影響します。このオプションは、シンボリックリンクの所有権を変更できるシステムでのみ使用してください。 |
--no-preserve-root | 「/」を特別に処理しません(デフォルト設定)。 |
--preserve-root | 「/」で再帰的に操作できません。 |
--reference=RFILE | ファイルのグループ名を参照ファイルのグループ名に変更します。 |
-R 、--recursive | ファイルとディレクトリを再帰的に操作します。 |
-H | コマンドライン引数がディレクトリへのシンボリックリンクである場合、それをトラバースします。 -R と組み合わせて使用します オプション。 |
-L | 再帰的トラバーサルでは、検出されたディレクトリへのすべてのシンボリックリンクをトラバースします。 -R と組み合わせて使用します オプション。 |
-P | シンボリックリンクをトラバースしません。 -H の場合、これがデフォルトです 、 -L 、または -P 指定されていません。 -R と組み合わせて使用します オプション。 |
--help | ヘルプファイルを表示して終了します。 |
--version | バージョン情報を出力して終了します。 |
[GROUP_NAME]
属性は、ファイルまたはディレクトリが実行時に取得する新しいグループです。 グループIDを指定することもできます ( GID )グループ名の代わりに +を追加します サイン。
[DIRECTORY/FILE_NAME]
は、グループの所属を変更するターゲットディレクトリまたはファイル名です。
次のコマンドを実行して、ファイルまたはディレクトリがどのグループに属しているかを確認できます。
ls -l
出力には、次の画像のようにグループの所有権が一覧表示されます。
この出力では、 ls
コマンドは、phoenixNAPディレクトリに含まれる各ファイルとサブディレクトリの詳細を表示します。ここでの各ファイルとディレクトリの所有者とグループはboskoです。 。
chgrpコマンド:5つの例
chgrp
の使用方法の5つの例を見てください 指図。以下に、ディレクトリグループの所有権を変更する、参照ファイルに一致するようにグループの所有権を変更する、実行の詳細を表示する、コマンドエラーを非表示にするためのコマンドとサンプル出力を示します。
ディレクトリグループの変更
ディレクトリグループの所有権を変更する場合は、 [FILE_NAME]
の代わりにディレクトリ名を配置します コマンドの属性:
chgrp [GROUP_NAME] [DIRECTORY_NAME]
ディレクトリのグループ名を見てください例 chgrp
を使用する前後 指図。ディレクトリのグループがデフォルトのboskoから変更されました フェニックスナップへ コマンドの使用:
sudo chgrp phoenixnap example
グループの所有権を再帰的に変更する
-R
オプションを使用すると、ディレクトリ、そのサブディレクトリ、およびその中のすべてのコンテンツのグループ所有権を再帰的に変更できます。構文は次のとおりです。
sudo chgrp -R [GROUP_NAME] [DIRECTORY_NAME]
たとえば、次のコマンドは、例のグループ所属を変更します ディレクトリとそのすべてのファイル:
sudo chgrp -R phoenixnap example
上の画像では、例のサブディレクトリ内のファイルが表示されています。 フェニックスナップもあります グループの所有権。
参照ファイルに一致するようにグループを変更
ファイルのグループを別のグループと一致するように変更する場合は、ファイルを参照してください 、次の構文を使用します:
chgrp [OPTION] --reference=[RFILE_NAME] [FILE_NAME]
[RFILE_NAME]
構文は参照ファイルの名前ですが、 [FILE_NAME]
ターゲットファイルの名前です。
たとえば、ファイル atom_273.snapのグループ所有権を変更するには テストと同じにする ファイル、実行します:
sudo chgrp --reference=test atom_273.snap
chgrp実行の詳細を表示する
-c
オプションを使用すると、ユーザーは変更のリストを表示できます chgrp
指定された各ファイルに作成しました。このリストは、変更が正しいことを確認したい場合に役立ちます。適用された変更を確認するには、次のコマンドを使用します。
sudo chgrp -c -R [GROUP_NAME] [DIRECTORY/FILE_NAME]
例で発生した変更を一覧表示するには ディレクトリ、実行します:
sudo chgrp -c -R bosko example
この場合、例のグループを変更しました ディレクトリとそれに含まれるすべてのファイル、および chgrp
発生したすべての変更を一覧表示します。
chgrpコマンドエラーを非表示にする
-f
オプションを使用すると、ユーザーは chgrp
を実行するときに潜在的なエラーメッセージを抑制できます。 指図。コマンドエラーを非表示にするための構文は次のとおりです。
sudo chgrp -f [GROUP_NAME] [DIRECTORY/FILE_NAME]
たとえば、ここでは chgrp
を使用しました 存在しないファイルに対するコマンド:
sudo chgrp phoenixnap nonexistentfile
そのようなファイルまたはディレクトリがないため、ファイルにアクセスできないことが出力に表示されます。
ただし、 -f
を使用して同じコマンドを実行する オプションはこのエラーを抑制します: