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

stat -Lオプションの使い方を解説|シンボリックリンクをたどってファイル情報を確認しよう

stat -Lオプション|シンボリックリンクを辿って対象ファイルの情報を表示する
stat -Lオプション|シンボリックリンクを辿って対象ファイルの情報を表示する

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

生徒

「先生、statコマンドでリンクファイルの情報を見ると、リンク先じゃなくてリンクそのものの情報が表示されますよね?」

先生

「そうだね。でも、-Lオプションを使えば、リンクの先にあるファイルの情報を直接確認できるんだよ。」

生徒

「なるほど!リンクの中身をたどって、元のファイルの情報が知りたいときに便利なんですね。」

先生

「そのとおり!それではstat -Lの基本的な使い方を紹介していこう。」

1. stat -Lとは?

1. stat -Lとは?
1. stat -Lとは?

stat -Lオプションは、シンボリックリンク(symbolic link)の先にある実際のファイルの情報を表示するためのオプションです。

シンボリックリンクとは、別のファイルやディレクトリへの「案内標識」のようなもので、リンク先の場所にアクセスするための目印です。

Linuxでは、通常のstatコマンドでシンボリックリンクを指定すると、リンク自体の情報が表示されます。しかし-Lオプションを付けると、リンクの先にあるファイルの情報を直接取得できます。

2. シンボリックリンクを使った基本例

2. シンボリックリンクを使った基本例
2. シンボリックリンクを使った基本例

まず、通常のstatコマンドでシンボリックリンクの情報を表示してみましょう。


ln -s /etc/hosts mylink
stat mylink
  File: mylink -> /etc/hosts
  Size: 11        Blocks: 0          IO Block: 4096   symbolic link
Device: 802h/2050d      Inode: 1234567     Links: 1
Access: 2025-09-16 10:00:00.000000000 +0900
Modify: 2025-09-16 09:50:00.000000000 +0900
Change: 2025-09-16 09:51:00.000000000 +0900

このように、statではmylinkというリンクそのものの情報が表示されます。リンク先の中身は見られません。

次に、-Lオプションを使って、リンク先(この場合/etc/hosts)のファイル情報を表示してみましょう。


stat -L mylink
  File: /etc/hosts
  Size: 230        Blocks: 8          IO Block: 4096   regular file
Device: 802h/2050d      Inode: 5678901     Links: 1
Access: 2025-09-16 09:59:00.000000000 +0900
Modify: 2025-08-01 10:00:00.000000000 +0900
Change: 2025-08-01 10:01:00.000000000 +0900

このように、リンクではなくリンク先のファイルの情報を直接確認することができました。

3. statとstat -Lの違いを比較しよう

3. statとstat -Lの違いを比較しよう
3. statとstat -Lの違いを比較しよう

初心者が混乱しやすいポイントとして、「statstat -Lって何が違うの?」という疑問があります。以下のように覚えると良いでしょう:

  • stat:リンクの情報(案内標識そのもの)を表示
  • stat -L:リンク先の実際のファイルの情報を表示

つまり、ファイルの中身や実体の更新日時などを確認したい場合には-Lオプションが必要です。

4. 絶対パス・相対パスでの挙動の違い

4. 絶対パス・相対パスでの挙動の違い
4. 絶対パス・相対パスでの挙動の違い

リンクの種類には「絶対パス」と「相対パス」があり、stat -Lはどちらでも有効です。ただし、リンクが壊れている(先のファイルが存在しない)場合にはエラーになります。


ln -s /nonexistent target
stat -L target
stat: cannot statx 'target': No such file or directory

このように、リンク先が消えていたり存在しないと、stat -Lではエラーが出る点も覚えておきましょう。

5. 他のオプションとの組み合わせ

5. 他のオプションとの組み合わせ
5. 他のオプションとの組み合わせ

stat -Lは、他のオプションと組み合わせて使うことも可能です。たとえば、--formatオプションで表示内容をカスタマイズできます。


stat -L --format="%n: %s bytes" mylink
/etc/hosts: 230 bytes

このように、リンク先のファイル名とサイズだけを表示させるといった使い方もできます。スクリプト内での活用やログ用途にも便利です。

6. ls -lとの違いは?

6. ls -lとの違いは?
6. ls -lとの違いは?

ls -lコマンドでもリンクとそのリンク先の関係をある程度は確認できます。


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

しかし、この情報ではファイルの詳細なサイズや最終更新日時までは確認できません。正確なファイル情報を知りたい場合にはstat -Lが適しています

関連記事:
カテゴリの一覧へ
新着記事
New1
ファイル・ディレクトリ操作
stat -Lオプションの使い方を解説|シンボリックリンクをたどってファイル情報を確認しよう
New2
ファイル・ディレクトリ操作
realpath -eオプションの使い方を解説!Linuxで存在するファイルのみ絶対パスを取得する方法
New3
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
New4
ファイル・ディレクトリ操作
touch --referenceオプションの使い方を完全ガイド!初心者でもわかるタイムスタンプのコピー方法
人気記事
No.1
Java&Spring記事人気No1
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.2
Java&Spring記事人気No2
ファイル・ディレクトリ操作
rmコマンドとは?Linuxでファイルやディレクトリを削除する基本
No.3
Java&Spring記事人気No3
ファイル・ディレクトリ操作
cpコマンドとは?Linuxでファイルやディレクトリをコピーする基本操作を初心者向けに解説
No.4
Java&Spring記事人気No4
ファイル・ディレクトリ操作
Linuxのls -Rオプションを完全ガイド!初心者でもわかるディレクトリの階層表示方法