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

stat --dereferenceオプションの使い方を解説|-Lと同じようにシンボリックリンク先の情報を表示しよう

stat --dereferenceオプション|-Lと同じ挙動を行う方法
stat --dereferenceオプション|-Lと同じ挙動を行う方法

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

生徒

「先生、statコマンドの-Lオプションは覚えました。でも--dereferenceっていうのもあるって聞きました。それって何ですか?」

先生

「いい質問だね。--dereferenceは、-Lと全く同じ動きをするオプションなんだ。つまり、シンボリックリンクのリンク先のファイル情報を表示するんだよ。」

生徒

「そうなんですね!じゃあ-L--dereferenceはどっちを使っても大丈夫なんですか?」

先生

「その通り!表記の仕方が違うだけで、機能は全く同じなんだ。好みに合わせて使い分けてOKだよ。」

1. stat --dereferenceとは?

1. stat --dereferenceとは?
1. stat --dereferenceとは?

Linuxのstatコマンドで--dereferenceオプションを使うと、シンボリックリンク(symbolic link)が指し示す先のファイルの情報を表示することができます。これは短縮形の-Lと全く同じ動きをします。

dereference(デリファレンス)」という言葉は、「参照を解除して中身を見る」という意味で、リンクの中身(つまりリンク先のファイル)を直接調べるという動作をします。

2. シンボリックリンクと--dereferenceの関係

2. シンボリックリンクと--dereferenceの関係
2. シンボリックリンクと--dereferenceの関係

まず、シンボリックリンクとは何かをおさらいしましょう。シンボリックリンクは、別のファイルやディレクトリへの「道しるべ」のようなものです。例えば、ある重要なファイルに別名でアクセスしたいときや、複数の場所から同じファイルを使いたいときに便利です。

statコマンドをそのままリンクに対して使うと、リンクそのものの情報しか表示されません。ですが--dereferenceを使うと、リンク先のファイルの情報を取得できます。

3. --dereferenceの基本的な使い方

3. --dereferenceの基本的な使い方
3. --dereferenceの基本的な使い方

まずは、シンボリックリンクを作ってみましょう。


ln -s /etc/passwd mylink

この状態で通常のstatコマンドを使うと、リンク自体の情報が表示されます。


stat mylink
  File: mylink -> /etc/passwd
  Size: 11        Blocks: 0          IO Block: 4096   symbolic link
Device: 802h/2050d      Inode: 1234567     Links: 1
...

では、--dereferenceを使ってリンク先のファイル情報を表示してみましょう。


stat --dereference mylink
  File: /etc/passwd
  Size: 2813       Blocks: 8          IO Block: 4096   regular file
Device: 802h/2050d      Inode: 2345678     Links: 1
...

このように、リンク先である/etc/passwdのファイル情報が表示されるのがわかります。

4. -Lとの違いは?

4. -Lとの違いは?
4. -Lとの違いは?

-L--dereferenceはまったく同じ動きをします。つまり、機能の違いはありません。

違いがあるのは表記方法だけです:

  • -L:短くて使いやすい(ショートオプション)
  • --dereference:意味が明確でスクリプトなどで見やすい(ロングオプション)

どちらを使うかは、読みやすさ書きやすさの好みで決めて大丈夫です。

5. 組み合わせて便利に使う例

5. 組み合わせて便利に使う例
5. 組み合わせて便利に使う例

--formatオプションと一緒に使うと、リンク先の特定情報だけを表示することも可能です。


stat --dereference --format="%n: %s bytes" mylink
/etc/passwd: 2813 bytes

スクリプトでログをとったり、自動化処理をするときにとても便利です。

6. 他の似たコマンドとの違い

6. 他の似たコマンドとの違い
6. 他の似たコマンドとの違い

初心者にとってはls -lコマンドとの違いも気になるところです。

ls -lはファイルやリンクの属性(パーミッション、所有者など)を表示しますが、ファイルのサイズやタイムスタンプの詳細までは出ません。


ls -l mylink
lrwxrwxrwx 1 user user 11 Sep 16 10:00 mylink -> /etc/passwd

ls -lは見た目は分かりやすいですが、stat --dereferenceのような詳細情報は確認できません。ファイルの内容に関する正確な情報を調べたいときはstatを使いましょう。

まとめ

まとめ
まとめ

stat --dereferenceの重要ポイントを振り返る

ここまで、Linuxコマンドであるstatの--dereferenceオプションについて詳しく見てきました。このオプションは、シンボリックリンクの情報ではなく、そのリンクが指し示している実体ファイルの情報を取得できるという特徴があります。日常的なファイル操作では見落としがちですが、システム管理やトラブルシューティングの場面では非常に役立つ機能です。

特にLinux環境では、設定ファイルやログファイルがシンボリックリンクで管理されているケースが多く存在します。そのような場面で通常のstatコマンドを使うと、リンクそのものの情報しか確認できません。しかし、--dereferenceオプションを使うことで、リンク先のファイルサイズや更新日時、パーミッションなどの詳細情報を正確に取得することができます。

-Lオプションとの関係と使い分け

また、-Lオプションとの違いについても理解しておくことが重要です。結論としては、--dereferenceと-Lは完全に同じ動作をします。そのため、どちらを使用しても結果は変わりません。ただし、コマンドの可読性という観点では、長い形式である--dereferenceの方が意味が分かりやすく、スクリプトやチーム開発においては推奨される場合もあります。

一方で、コマンド入力のスピードを重視する場合には-Lを使うことで効率的に操作することができます。このように、用途や状況に応じて使い分けることができる点もLinuxコマンドの柔軟性の一つと言えるでしょう。

実務で役立つ活用シーン

実務の現場では、シンボリックリンクが設定されている構成を把握することが重要です。例えば、Webサーバーの設定ディレクトリやログファイルの配置では、複数のリンクが複雑に絡み合っていることがあります。このような環境でstat --dereferenceを使うことで、実際に参照されているファイルの正確な情報を素早く確認できます。


stat --dereference /var/log/syslog_link
  File: /var/log/syslog
  Size: 5421       Blocks: 16         IO Block: 4096   regular file
Device: 802h/2050d      Inode: 998877     Links: 1

このように、リンク先の実体ファイルの情報を直接確認できるため、設定ミスやファイルの不整合を早期に発見することが可能になります。Linux初心者の方だけでなく、サーバー管理者やインフラエンジニアにとっても必須の知識と言えるでしょう。

他のオプションとの組み合わせでさらに便利に

statコマンドは、--formatオプションと組み合わせることで、必要な情報だけを抽出することもできます。これにより、ログ出力や自動化スクリプトの中で効率的に情報を扱うことが可能になります。


stat --dereference --format="%n %s %y" mylink
/etc/passwd 2813 2024-09-16 10:00:00.000000000 +0900

このような使い方を覚えておくことで、Linuxコマンドの応用力が大きく向上します。単なる確認作業にとどまらず、スクリプト作成やシステム監視など、幅広い用途に活用できる点も魅力です。

まとめのポイント

  • stat --dereferenceはシンボリックリンク先の情報を表示する
  • -Lオプションと完全に同じ動作をする
  • リンク構造の理解やトラブルシュートに役立つ
  • --formatと組み合わせることで実務効率が向上する

Linuxコマンドを使いこなすためには、こうした細かいオプションの違いを理解し、適切に使い分けることが大切です。今回学んだ内容を実際の環境で試しながら、確実に身につけていきましょう。

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

生徒

statの--dereferenceオプションについて理解できました。シンボリックリンクではなく、リンク先のファイル情報を確認できるのがポイントなんですね。

先生

その通りです。特にLinuxの環境ではシンボリックリンクが多用されるので、このオプションはとても重要です。リンクの実体を正しく把握するために役立ちます。

生徒

-Lオプションと同じという点も分かりました。短く書くなら-L、分かりやすく書くなら--dereferenceという使い分けができそうです。

先生

いい理解ですね。スクリプトでは可読性が重要になるので、あえて長いオプションを使うことも多いです。状況に応じて選びましょう。

生徒

あと、--formatと組み合わせることで必要な情報だけ取得できるのも便利だと感じました。実務でも使えそうです。

先生

その気付きはとても大切です。Linuxコマンドは単体でも便利ですが、組み合わせることでさらに強力になります。今回の内容をしっかり復習して、実際にコマンドを動かしながら理解を深めていきましょう。

関連記事:
カテゴリの一覧へ
新着記事
New1
ファイル・ディレクトリ操作
stat -Lオプションの使い方を解説|シンボリックリンクをたどってファイル情報を確認しよう
New2
ファイル・ディレクトリ操作
realpath -eオプションの使い方を解説!Linuxで存在するファイルのみ絶対パスを取得する方法
New3
テキスト処理とフィルタ
tacコマンドの基本!ファイル内容を逆順に表示する方法
New4
テキスト・データ処理
awk -fオプションの使い方を完全ガイド!初心者でもわかるLinuxテキスト処理の基本
人気記事
No.1
Java&Spring記事人気No1
テキスト・データ処理
catコマンドとは?Linuxでファイル内容を表示・連結する基本
No.2
Java&Spring記事人気No2
ファイル・ディレクトリ操作
pwdコマンドとは?初心者でもわかる現在の作業ディレクトリの確認方法を解説!
No.3
Java&Spring記事人気No3
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.4
Java&Spring記事人気No4
ファイル・ディレクトリ操作
cd ~ の使い方を完全解説!ホームディレクトリへの移動方法と初心者向けLinuxコマンド入門