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

realpathコマンドとは?Linuxでシンボリックリンクを解決して絶対パスを表示する基本

realpathコマンドとは?Linuxでシンボリックリンクを解決して絶対パスを表示する基本
realpathコマンドとは?Linuxでシンボリックリンクを解決して絶対パスを表示する基本

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

生徒

「Linuxでファイルの場所を調べたいときに、realpathっていうコマンドがあるって聞いたんですけど、何をしてくれるんですか?」

先生

realpathコマンドは、ファイルの本当の場所、つまり絶対パスを表示してくれるんですよ。シンボリックリンクが使われていても、それをたどって本当のパスを教えてくれます。」

生徒

「シンボリックリンクってなんですか? 難しそう…」

先生

「大丈夫です。実際にはとてもシンプルな考え方ですから、一緒に分かりやすく見ていきましょう!」

1. realpathコマンドとは?

1. realpathコマンドとは?
1. realpathコマンドとは?

realpath(リアルパス)コマンドは、Linuxで指定したファイルやディレクトリの絶対パス(どこにあっても一意に示せる完全なパス)を表示するためのコマンドです。

Linuxでは、ファイルの場所を「相対パス」と「絶対パス」で指定できますが、realpathはその中でも絶対パスを明確に表示してくれるので、迷子になりにくくなります。

2. シンボリックリンクとは何かを理解しよう

2. シンボリックリンクとは何かを理解しよう
2. シンボリックリンクとは何かを理解しよう

シンボリックリンクとは、簡単に言えば「ショートカット」のようなものです。Windowsで見かける「近道アイコン」と同じようなもので、別のファイルやディレクトリを指し示す特別なファイルです。

シンボリックリンクがあると、見た目は別の場所にファイルがあるように見えても、実際には違う場所のものを参照している、ということがあります。

このときrealpathを使えば、リンク先の本当の場所を知ることができます。

3. realpathコマンドの基本的な使い方

3. realpathコマンドの基本的な使い方
3. realpathコマンドの基本的な使い方

以下のようにrealpathコマンドにファイル名を指定すると、そのファイルの絶対パスを表示してくれます。


realpath sample.txt
/home/user/documents/sample.txt

この例では、カレントディレクトリにあるsample.txtというファイルの本当の場所が表示されています。

4. シンボリックリンクを使った例

4. シンボリックリンクを使った例
4. シンボリックリンクを使った例

たとえば、以下のようにシンボリックリンクを作成してみます。


ln -s /etc/hosts myhosts

このコマンドで、/etc/hostsへのリンクがmyhostsという名前で作られます。では、これに対してrealpathを実行してみましょう。


realpath myhosts
/etc/hosts

このように、myhostsというリンクの本当の参照先、つまり/etc/hostsが表示されます。これがrealpathの便利なポイントです。

5. 相対パスから絶対パスを取得する例

5. 相対パスから絶対パスを取得する例
5. 相対パスから絶対パスを取得する例

カレントディレクトリにあるファイルやディレクトリを相対パスで指定していても、realpathを使えば、それがどこにあるか一発でわかります。


realpath ../pictures/photo.jpg
/home/user/pictures/photo.jpg

このように、..(親ディレクトリ)などを含むパスでも、きれいな形に整えてくれます。

6. よくある用途や活用場面

6. よくある用途や活用場面
6. よくある用途や活用場面

realpathコマンドは、以下のような場面で非常に役立ちます。

  • シンボリックリンクの先が本当に存在しているか確認したいとき
  • スクリプトなどで正確なパスが必要なとき
  • 相対パスから絶対パスに変換したいとき

特に、複数人で作業するプロジェクトでは、相対パスのままでは動かないこともあるので、realpathで正確なパスを使うのは安心です。

7. basenameやdirnameとの違い

7. basenameやdirnameとの違い
7. basenameやdirnameとの違い

realpathは「絶対パスを得る」ためのコマンドですが、似たような名前のbasenamedirnameもよく使われます。

  • realpath → 絶対パスを出力
  • basename → ファイル名だけ抽出
  • dirname → ディレクトリ部分だけ抽出

例で比較してみましょう。


realpath ./project/main.py
/home/user/project/main.py

basename ./project/main.py
main.py

dirname ./project/main.py
./project

このように、出力される内容が異なるので、それぞれの用途に応じて使い分けることが大切です。

まとめ

まとめ
まとめ

realpathコマンドの重要ポイントを振り返る

ここまで学んできたように、realpathコマンドはLinux環境においてファイルやディレクトリの正確な位置を把握するために欠かせない基本コマンドの一つです。特に、相対パスと絶対パスの違いを理解しながら操作することは、日々の作業効率を大きく向上させます。

Linuxでは複数のディレクトリを移動しながら作業することが多く、現在位置を基準とした相対パスでは、思わぬミスや混乱が発生することがあります。そこでrealpathコマンドを使うことで、どのディレクトリにいても対象ファイルの絶対パスを一意に取得できるため、作業の正確性が格段に上がります。

シンボリックリンク解決の理解が深まる

また、シンボリックリンクの存在はLinux初心者にとってつまずきやすいポイントですが、realpathコマンドを使うことでリンクの実体を簡単に確認できます。リンク元とリンク先の関係を正しく理解することで、ファイル管理やトラブルシューティングのスキルも自然と身についていきます。

例えば、設定ファイルやログファイルなどが別の場所にリンクされているケースでは、見た目だけでは実体が分かりません。しかしrealpathを使えば、内部的に参照されている本来のパスを瞬時に確認できます。

実務で役立つ具体的な活用方法

実務においては、シェルスクリプトの中でパスを安全に扱うためにrealpathが頻繁に利用されます。特に複数環境で動作するスクリプトでは、相対パスのままでは正しく動作しないケースがあるため、絶対パスへ変換する処理は非常に重要です。


realpath ./config/settings.conf
/home/user/project/config/settings.conf

このように、設定ファイルの位置を明確にすることで、環境差異によるエラーを未然に防ぐことができます。

basenameやdirnameとの使い分け

realpathコマンドは絶対パスの取得に特化していますが、basenameやdirnameと組み合わせることで、より柔軟な処理が可能になります。例えば、ファイル名だけを取り出したり、ディレクトリ部分だけを抽出したりすることで、スクリプトの可読性や保守性が向上します。


realpath ./app/logs/error.log
/home/user/app/logs/error.log

basename /home/user/app/logs/error.log
error.log

dirname /home/user/app/logs/error.log
/home/user/app/logs

これらを組み合わせることで、より実践的なファイル操作が可能になります。

初心者が意識すべきポイント

初心者のうちは、相対パスと絶対パスの違いを曖昧なまま使ってしまいがちですが、realpathを積極的に使うことで自然と理解が深まります。また、エラーが発生したときにパスを確認する習慣をつけることで、問題解決能力も向上します。

Linuxコマンドを学習する上で重要なのは、単にコマンドを覚えることではなく、実際に手を動かして試しながら理解することです。realpathはその第一歩として非常に適したコマンドです。

この記事を通じて、realpathコマンドの基本から応用まで理解できたはずです。日々の作業の中で積極的に使い、Linux操作のスキルをさらに高めていきましょう。

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

生徒

「realpathコマンドって、ただパスを表示するだけかと思っていましたが、こんなに重要な役割があるんですね。」

先生

「そうですね。特にシンボリックリンクを解決できる点が大きな特徴です。見えているパスと実際の場所が違うことはよくありますからね。」

生徒

「相対パスと絶対パスの違いも、実際にコマンドを使うことで理解できました。今まで曖昧だった部分がスッキリしました。」

先生

「それは良いですね。Linuxではパスの扱いがとても重要なので、realpathは基本としてしっかり覚えておきましょう。」

生徒

「basenameやdirnameとの違いも分かってきました。用途によって使い分けるのが大切なんですね。」

先生

「その通りです。それぞれの役割を理解して組み合わせることで、より効率的な作業ができるようになります。」

生徒

「これからはスクリプトを書くときにもrealpathを使って、絶対パスで安全に処理するようにします。」

先生

「とても良い心がけです。基本コマンドをしっかり活用できれば、Linux操作はどんどん楽になりますよ。」

関連記事:
カテゴリの一覧へ
新着記事
New1
テキスト・データ処理
grep -Lオプションの使い方を完全解説!一致しなかったファイル名を表示しよう
New2
ファイル・ディレクトリ操作
realpathコマンドとは?Linuxでシンボリックリンクを解決して絶対パスを表示する基本
New3
権限とユーザー管理
idコマンドの使い方!現在のユーザー情報を確認するLinux基本コマンド
New4
ファイル・ディレクトリ操作
touch -tオプションの使い方を完全ガイド!初心者でもわかる日時形式のタイムスタンプ設定
人気記事
No.1
Java&Spring記事人気No1
Linuxコマンドの基本
Linuxコマンドとは?基本の考え方とシェルとの関係を初心者向けに徹底解説
No.2
Java&Spring記事人気No2
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.3
Java&Spring記事人気No3
テキスト・データ処理
grepコマンドとは?Linuxで文字列を検索する基本をやさしく解説!
No.4
Java&Spring記事人気No4
ファイル・ディレクトリ操作
pwdコマンドとは?初心者でもわかる現在の作業ディレクトリの確認方法を解説!