chgrp コマンドは、ファイルまたはディレクトリのグループ所有者を変更するためのコマンドです。GNU coreutils に含まれており、Linux および FreeBSD で提供されています。基本的な動作は共通していますが、オプションに微細な違いがあります。

基本的な使い方

編集
chgrp [オプション] グループ名 ファイル...

主なオプション(GNU coreutils版)

編集
主なオプション
オプション 説明
-c, --changes グループが変更されたファイルに関する情報を表示
-f, --silent, --quiet エラーメッセージを表示しない
-v, --verbose 実行された変更を詳細に表示
-R, --recursive ディレクトリを再帰的に処理
-h, --no-dereference シンボリックリンクそのものに対して操作

ファイルのグループを変更

編集
chgrp developers file.txt

file.txt のグループ所有者を developers に変更。

ディレクトリを再帰的に変更

編集
chgrp -R developers directory/

directory/ 内のすべてのファイルとサブディレクトリのグループ所有者を developers に変更。

グループ変更の詳細表示

編集
chgrp -v developers file.txt

file.txt のグループ所有者を developers に変更したことを詳細に表示。

シンボリックリンクのグループを変更

編集
chgrp -h developers symlink

シンボリックリンク symlink のグループ所有者を developers に変更。

FreeBSD 版との違い

編集

FreeBSD でも chgrp コマンドは提供されていますが、GNU coreutils 版といくつか違いがあります。

主な違い:

編集
  1. -v(詳細表示)オプションが異なる
    • FreeBSD では、chgrp -v オプションはデフォルトで詳細表示しない。
    • 一方、GNU 版ではデフォルトで詳細表示される。
  2. -h(シンボリックリンク)オプションの動作が異なる
    • FreeBSD の chgrp はシンボリックリンクに対してもグループ変更が行われるが、GNU 版では -h オプションが必要。
  1. GNU coreutils 版を FreeBSD で使う方法
    • coreutils パッケージをインストールすると、gchgrp という名前で GNU 版 chgrp が使える。
    pkg install coreutils
    gchgrp developers file.txt  # GNU coreutils 版の chgrp
    

詳しくは、それぞれの環境で man chgrp を確認してください。