カテゴリ: Linuxコマンド集 更新日: 2025/11/11

find -groupオプションの使い方を解説!初心者でもできる所有グループによるファイル検索

find -groupオプション|所有グループで検索する
find -groupオプション|所有グループで検索する

先生と生徒の会話形式で理解しよう

生徒

「Linuxで、特定のグループが所有しているファイルだけを探す方法ってありますか?」

先生

「あるよ!findコマンドの-groupオプションを使えば、所有グループを指定して検索できるんだ。」

生徒

「えっ、所有グループって何ですか?」

先生

「いい質問だね!それじゃあ、まずは『所有グループ』とは何か、そしてfind -groupの基本的な使い方を、順番に説明していくね。」

1. 所有グループとは?

1. 所有グループとは?
1. 所有グループとは?

Linuxでは、ファイルやディレクトリには所有ユーザー所有グループという2つの「持ち主」が設定されています。例えば、ある会社の「営業部」グループが共有で使うファイルであれば、そのファイルの所有グループはsalesなどになります。

この所有グループに属するユーザーたちは、ファイルに対して「読み取り」「書き込み」などの操作を許可されていることが多いです。

2. find -groupオプションの基本

2. find -groupオプションの基本
2. find -groupオプションの基本

findコマンドは、ファイルを条件に応じて検索できる便利なLinuxコマンドです。-groupオプションを使えば、特定の所有グループを指定して、そのグループが所有しているファイルだけを検索できます。

たとえば、グループ名がdevelopersのファイルを検索するには、以下のように入力します。


find /path/to/search -group developers
/path/to/search/app1.py
/path/to/search/scripts/run.sh

この例では、/path/to/searchというディレクトリの中から、所有グループがdevelopersのファイルを探しています。

3. グループ名がわからないときは?

3. グループ名がわからないときは?
3. グループ名がわからないときは?

「そもそも、どんなグループがあるのかわからない…」というときは、/etc/groupというファイルを見てみましょう。ここには、Linuxに登録されているすべてのグループ名が一覧で記載されています。


cat /etc/group
root:x:0:
daemon:x:1:
developers:x:1001:user1,user2
sales:x:1002:user3,user4

このように、グループ名(例:developers、sales)が表示されます。

4. 自分が所属するグループを確認するには?

4. 自分が所属するグループを確認するには?
4. 自分が所属するグループを確認するには?

自分がどのグループに所属しているかを調べたい場合は、groupsコマンドを使ってみましょう。


groups
user1 wheel developers

この例では、user1というユーザーはwheeldevelopersという2つのグループに所属していることがわかります。

5. ファイルの所有グループを確認するには?

5. ファイルの所有グループを確認するには?
5. ファイルの所有グループを確認するには?

特定のファイルがどのグループに属しているかを確認したいときは、ls -lコマンドを使いましょう。


ls -l sample.txt
-rw-rw-r-- 1 user1 developers 2048 Sep 16 10:00 sample.txt

developersと表示されている部分が「所有グループ」です。

6. グループID(GID)で検索する方法

6. グループID(GID)で検索する方法
6. グループID(GID)で検索する方法

-groupオプションでは、グループ名だけでなくGID(Group ID)を指定することも可能です。GIDは、グループごとに割り当てられた数字です。


find /path/to/search -group 1002
/path/to/search/sales_report.csv

このようにGIDを直接指定しても、グループ名と同じように検索できます。

7. よくある組み合わせ例

7. よくある組み合わせ例
7. よくある組み合わせ例

findコマンドでは、-groupオプションと他の条件を組み合わせることで、より細かい検索ができます。

  • 特定のグループでかつファイルサイズが大きいものを探す:

find /var/log -group admin -size +5M
/var/log/admin/error.log
  • 所有グループがstaffで、更新日が7日以内のファイル:

find /home/shared -group staff -mtime -7
/home/shared/projectA/plan.txt

8. 所有グループの変更(補足)

8. 所有グループの変更(補足)
8. 所有グループの変更(補足)

検索ではありませんが、chgrpコマンドを使えば、ファイルの所有グループを変更できます。


chgrp sales report.csv

このコマンドで、report.csvの所有グループをsalesに変更できます。

ただし、グループを変更するには、適切な権限(多くの場合はrootユーザー)または対象グループへの所属が必要です。

関連記事:
カテゴリの一覧へ
新着記事
New1
テキスト・データ処理
grep -hオプションの使い方|ファイル名を表示せずに一致行だけを出力する方法
New2
ファイル・ディレクトリ操作
find -mindepthオプションの使い方を完全ガイド!検索の最小深さを指定して効率よくファイル検索
New3
ファイル・ディレクトリ操作
Linuxのlsコマンド-iオプション完全ガイド!初心者でもわかるi-node番号の表示方法
New4
ファイル・ディレクトリ操作
stat --dereferenceオプションの使い方を解説|-Lと同じようにシンボリックリンク先の情報を表示しよう
人気記事
No.1
Java&Spring記事人気No1
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.2
Java&Spring記事人気No2
テキスト・データ処理
grepコマンドとは?Linuxで文字列を検索する基本をやさしく解説!
No.3
Java&Spring記事人気No3
ファイル・ディレクトリ操作
cd ~ の使い方を完全解説!ホームディレクトリへの移動方法と初心者向けLinuxコマンド入門
No.4
Java&Spring記事人気No4
ファイル・ディレクトリ操作
statコマンドとは?Linuxでファイルやディレクトリの詳細情報を確認する基本