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

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

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

関連記事:
カテゴリの一覧へ
新着記事
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
ファイル・ディレクトリ操作
lsコマンドとは?Linuxでファイルやディレクトリを一覧表示する基本を初心者向けに解説