カテゴリ: Linuxコマンド集 更新日: 2026/02/04

find -userオプションの使い方を完全ガイド!初心者でもわかる所有者ユーザーでファイルを検索する方法

find -userオプション|所有者ユーザーで検索する
find -userオプション|所有者ユーザーで検索する

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

生徒

「Linuxで、ある特定の人が作ったファイルだけを探すことってできますか?」

先生

「はい、findコマンドの-userオプションを使えば、そのユーザーが所有しているファイルだけを検索できますよ。」

生徒

「それって、管理者が誰のファイルかを確認したい時に使えそうですね!」

先生

「そのとおりです!それでは、-userオプションの基本から応用まで、わかりやすく解説していきましょう。」

1. findコマンドとは?膨大なファイルから一瞬で探し出す最強ツール

1. findコマンドとは?膨大なファイルから一瞬で探し出す最強ツール
1. findコマンドとは?膨大なファイルから一瞬で探し出す最強ツール

Linuxにおけるfindコマンドは、コンピュータ内の広大なディレクトリ(フォルダ)の中から、特定の条件に一致するファイルやディレクトリを「検索・抽出」するための非常に強力なツールです。

WindowsやMacの検索ボックスと似ていますが、より細かく「作成者(所有者)」「ファイル形式」「更新日時」「サイズ」などを指定して、ピンポイントでデータを見つけることができます。プログラミング未経験の方でも、基本さえ覚えればサーバー内の整理整頓やトラブルシューティングが格段に楽になります。

【例えばこんな時に便利!】
  • 「誰が作ったかわからない不要なファイルを一斉に削除したい」
  • 「特定のユーザーが昨日の18時以降に作成したファイルだけを確認したい」
  • 「サーバー内の特定の場所にある、巨大なログファイルを探し出したい」

例えば、現在いるディレクトリ(フォルダ)の中身をシンプルにすべて表示したい場合は、以下のようなコマンドを実行します。これがfindコマンドの最も基本的な動きです。


find .
.
./memo.txt
./photo.jpg
./projects
./projects/report.pdf

このように、指定した場所(上記では「.」が今いる場所を指します)から、その下にあるすべての階層のファイルをリストアップしてくれます。今回の記事のメインテーマである「所有者(オーナー)」での検索は、この強力な機能を応用した高度な検索手法の一つです。

2. -userオプションとは?

2. -userオプションとは?
2. -userオプションとは?

-userオプションは、「このユーザーが所有しているファイルだけを探して!」という指示をするためのものです。

所有者(オーナー)とは、ファイルやディレクトリを作成したユーザーのことです。Linuxでは、ファイルごとに誰が所有者なのかが明確に記録されています。

3. 基本構文と使い方

3. 基本構文と使い方
3. 基本構文と使い方

-userオプションの基本的な書き方はこちらです。


find [検索する場所] -user [ユーザー名]

たとえば、今いる場所(カレントディレクトリ)から、ユーザー「taro」が所有しているファイルを探したいときは次のようにします。


find . -user taro

このコマンドで、「taro」さんが作ったファイルだけが一覧で表示されます。

4. 使用例とコマンド実行結果

4. 使用例とコマンド実行結果
4. 使用例とコマンド実行結果

4-1. 一般ユーザーで「taro」のファイルを検索


find . -user taro
./report.txt
./work/memo.txt
./images/photo.jpg

4-2. ルートユーザーが「www-data」の所有ファイルを探す


find /var/www -user www-data
/var/www/index.html
/var/www/html/style.css

5. よくある使い方の組み合わせ

5. よくある使い方の組み合わせ
5. よくある使い方の組み合わせ

5-1. 所有者が「taro」かつサイズが1MB以上のファイルを検索


find . -user taro -size +1M

ユーザー「taro」のファイルのうち、1MBを超える大きなファイルだけを見つけたいときに使えます。

5-2. 所有者「taro」かつ名前に「.log」を含むファイル


find . -user taro -name "*.log"

「taro」さんが作ったログファイル(拡張子が.log)だけを探します。

6. 所有者ユーザー名を調べるには?

6. 所有者ユーザー名を調べるには?
6. 所有者ユーザー名を調べるには?

自分のパソコンやLinuxサーバーで使われているユーザー名が分からないときは、ls -lコマンドで確認できます。


ls -l
-rw-r--r-- 1 taro staff 1234 Sep 15 10:00 memo.txt

この例では、「taro」が所有者で、「staff」がグループ名です。ファイルの左から3番目がユーザー名です。

7. -userと一緒によく使われるオプション

7. -userと一緒によく使われるオプション
7. -userと一緒によく使われるオプション

7-1. -type f(ファイルのみ)

所有者が「taro」で、ファイルだけを検索したいときに使います。


find . -user taro -type f

7-2. -type d(ディレクトリだけ)

所有者が「taro」で、ディレクトリだけを探したい場合はこちら。


find . -user taro -type d

7-3. -groupオプションとの併用

ユーザーだけでなく、グループ所有者も条件に加えたいときは、-groupオプションと組み合わせます。


find . -user taro -group staff

このコマンドでは、「taro」さんが所有者で、グループが「staff」であるファイルを探します。

8. UID(ユーザーID)での検索も可能

8. UID(ユーザーID)での検索も可能
8. UID(ユーザーID)での検索も可能

ユーザー名の代わりにUID(ユーザーID)を使って検索することもできます。


find . -uid 1000

UIDはLinuxシステム内でユーザーを識別する番号で、/etc/passwdファイルを見ると確認できます。ただし初心者の方は通常はユーザー名を使うほうが簡単です。

まとめ

まとめ
まとめ

Linuxシステムを運用していく中で、特定のユーザーが作成したファイルを特定しなければならない場面は多々あります。例えば、ディスク容量が不足してきた際に、特定のユーザーが大きなファイルを溜め込んでいないか調査したり、プロジェクトを離れたメンバーのデータを整理したりといった作業です。今回解説したfindコマンドの-userオプションは、まさにそうした「所有者」をキーにした検索において、最も強力かつシンプルな解決策となります。

find -userオプションの重要性と活用シーン

Linuxはマルチユーザー環境が前提のOSです。そのため、ファイルの権限管理(パーミッション)とセットで「誰がそのファイルを持っているか」という情報は非常に重要視されます。-userオプションを使いこなすことで、複雑なディレクトリ構造の中から目的のファイルを瞬時に見つけ出すことが可能になります。

特にシステム管理者(rootユーザー)にとっては、セキュリティ監査やリソース管理の観点から必須のスキルと言えるでしょう。一般ユーザーであっても、自分のファイルを整理したり、共有ディレクトリ内で自分の成果物だけをリストアップしたりする際に役立ちます。

コマンドの実践的な応用例

基本を理解したら、次は実務で使える組み合わせを覚えておきましょう。単に所有者を探すだけでなく、他の条件を組み合わせることで検索精度を飛躍的に高めることができます。

特定のユーザーが所有する不要な一時ファイルを削除する準備

例えば、ユーザー「guest」が作成した一時ファイル(.tmp)をすべて探し出したい場合は、以下のように実行します。


find /tmp -user guest -name "*.tmp"
/tmp/guest_session_01.tmp
/tmp/test_data_backup.tmp

ルート権限でシステムの所有状況を一括チェックする

システム全体を見渡す必要がある場合は、sudoを使用するかルートユーザーに切り替えて実行します。以下の例では、Webサーバーの実行ユーザーである「www-data」が所有するディレクトリ構造をルートディレクトリからスキャンしています。


find / -user www-data -type d
/var/www/html
/var/lib/php/sessions
/var/log/apache2

所有者不明のファイルを探すテクニック

ユーザーが削除された後などに、所有者が存在しない「孤立したファイル」が残ることがあります。これは-nouserオプションで検索できます。-userと併せて覚えておくと非常に便利です。


find . -nouser
./old_project/orphan_file.txt

さらにステップアップするために

findコマンドの真骨頂は、検索した結果に対して「何らかの処理を行う」ことにあります。-execオプションを使えば、見つけたファイルをそのまま移動したり、削除したり、中身を表示したりすることができます。

例えば、ユーザー「linux-user」のファイルをすべて特定のバックアップフォルダへ移動させるといった一連の流れも、1行のコマンドで完結します。こうした自動化の第一歩として、まずは「正確にファイルを見つける」ための-userオプションをマスターしましょう。

Linuxの操作は、こうした小さな積み重ねが作業効率を劇的に変えていきます。最初は難しく感じるかもしれませんが、実際に自分の手でコマンドを叩き、結果を確認するプロセスを楽しんでみてください。

先生と生徒の振り返り会話

生徒

「先生、-userオプションについて詳しく教えていただきありがとうございました!特定のユーザーを指定するだけで、あんなに膨大なファイルの中から一瞬で見つかるなんて感動しました。」

先生

「それは良かったです。Linuxのファイルシステムにはたくさんの情報が詰まっていますから、findコマンドを使いこなすと、まるで魔法のようにデータを取り出せるようになりますよ。」

生徒

「先ほど教えていただいたls -lでユーザー名を確認してから、find . -user [ユーザー名]という流れが一番スムーズですね。試しに自分の名前で検索してみたら、忘れていたファイルがいくつか出てきました(笑)」

先生

「ははは、それは良い発見でしたね。ちなみに、もし存在しないユーザー名を指定してしまったらどうなると思いますか?」

生徒

「ええと、エラーになりますか?それとも何も表示されないんでしょうか。」

先生

「基本的には『そのようなユーザーは存在しません』というエラーメッセージが出ます。もしプログラムなどで自動化する場合は、ユーザー名が正しいかどうかも重要になりますね。あと、大文字と小文字も区別されるので注意してください。」

生徒

「なるほど、細かいところまで気をつける必要がありますね。あ、もう一つ質問なんですが、複数のユーザーのファイルを一度に探すことはできますか?」

先生

「鋭い質問ですね!その場合は -o(OR条件)を使います。例えば find . \( -user taro -o -user hanako \) という風に書けば、二人どちらかの所有ファイルを同時に探せますよ。括弧を使うときはエスケープが必要になるので、少し応用編になりますが。」

生徒

「おお、それは便利そうです!条件を組み合わせることで、どんどん複雑な検索もできるようになるんですね。もっと色々なオプションを組み合わせて試してみたくなりました。」

先生

「その意気です。まずは -user で確実に特定のユーザーのファイルを見つけられるようになって、それからサイズや日付、ファイルタイプなどを組み合わせてみてください。習得すれば、システム管理がぐっと楽になりますよ。」

生徒

「はい!まずは自分のホームディレクトリで、色々なパターンを練習してみます。ありがとうございました!」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Linuxのfindコマンドで特定の所有者が作成したファイルだけを絞り込むにはどうすればいいですか?

Linuxで特定のユーザーが所有しているファイルやディレクトリを検索するには、findコマンドにハイフンuserオプションを組み合わせて使用します。このオプションの後に検索したいユーザー名を指定するだけで、システム内の膨大なデータの中から、その特定の所有者が管理している項目だけを効率的にリストアップすることが可能です。例えば、サーバー管理の現場で特定の担当者が作成した設定ファイルやドキュメントを素早く見つけ出したい時に、このfindコマンドのユーザー指定検索は非常に重宝されます。
関連記事:
カテゴリの一覧へ
新着記事
New1
テキスト・データ処理
grep -sオプションの使い方を完全ガイド!エラーを非表示にして静かに検索しよう
New2
ファイル・ディレクトリ操作
mv --backupオプションの使い方|バックアップを作成しながら安全に移動する方法
New3
ファイル・ディレクトリ操作
lsコマンドの-rオプション|逆順(降順)でファイルを並べる方法を初心者向けに解説!
New4
ファイル・ディレクトリ操作
find -printオプションとは?初心者でも理解できるLinux検索結果の出力方法
人気記事
No.1
Java&Spring記事人気No1
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.2
Java&Spring記事人気No2
ファイル・ディレクトリ操作
cdコマンドとは?Linuxでディレクトリを移動する基本を初心者向けに解説
No.3
Java&Spring記事人気No3
テキスト・データ処理
grepコマンドとは?Linuxで文字列を検索する基本をやさしく解説!
No.4
Java&Spring記事人気No4
ファイル・ディレクトリ操作
lsコマンドの-lオプションでファイルの詳細情報を一覧表示しよう!初心者でもわかる使い方と意味を徹底解説