最終更新日:2026年7月25日
fe fe-technology computer-system
まず結論
絶対パスとは、ルートディレクトリから目的のファイルまでをすべて書いたパスです。
相対パスとは、今いる場所であるカレントディレクトリを基準にして、目的のファイルまでを表したパスです。
基本情報技術者試験では、次のように切り分けると分かりやすいです。
先頭が ¥
→ ルートディレクトリから始める絶対パス
先頭が . またはディレクトリ名
→ カレントディレクトリから始める相対パス
.
→ 今いるディレクトリ
..
→ 1階層上のディレクトリ
相対パスが出たら、カレントディレクトリから左から順にたどる のが基本です。
直感的な説明
パスは、ファイルの場所を表す住所のようなものです。
絶対パスは、住所を最初から全部書くイメージです。
¥a¥a¥b¥c
一方、相対パスは、今いる場所から見てどこにあるかを書くイメージです。
.¥..¥..¥a¥b¥file
ここで、. と .. が大事です。
. → 今いる場所
.. → 1つ上の場所
英語では、次のように整理できます。
absolute path:絶対パス
relative path:相対パス
current directory:カレントディレクトリ
parent directory:親ディレクトリ
root directory:ルートディレクトリ
特に parent directory は「親ディレクトリ」、つまり1階層上のディレクトリです。
定義・仕組み
パスに関する用語を整理すると、次のようになります。
| 用語 | 英語表記 | 意味 |
|---|---|---|
| 絶対パス | absolute path | ルートディレクトリから目的の場所までを表すパス |
| 相対パス | relative path | カレントディレクトリを基準にしたパス |
| カレントディレクトリ | current directory | 今いるディレクトリ |
| 親ディレクトリ | parent directory | 1階層上のディレクトリ |
| ルートディレクトリ | root directory | 階層構造の一番上のディレクトリ |
例えば、カレントディレクトリが次だとします。
¥a¥a¥b¥c
ここで、相対パスが次のように与えられた場合を考えます。
.¥..¥..¥a¥b¥file
これは、左から順番に処理します。
開始地点:¥a¥a¥b¥c
. → 今の場所のまま → ¥a¥a¥b¥c
.. → 1階層上へ → ¥a¥a¥b
.. → さらに1階層上へ → ¥a¥a
a → aディレクトリへ → ¥a¥a¥a
b → bディレクトリへ → ¥a¥a¥a¥b
file → fileを指定 → ¥a¥a¥a¥b¥file
したがって、絶対パスは次のようになります。
¥a¥a¥a¥b¥file
公式の出題範囲やシラバスは、IPA:基本情報技術者試験 から確認できます。絶対パスと相対パスは、OSやファイル管理の基本として出題されることがあります。
科目Aでどう出る?
科目Aでは、カレントディレクトリと相対パスが与えられ、対応する絶対パスを選ぶ問題が出やすいです。
選択肢を切るときは、次の順番で考えます。
1. カレントディレクトリを開始地点にする
2. 相対パスを左から順に読む
3. . はそのまま
4. .. は1階層上へ戻る
5. ディレクトリ名やファイル名は順に進む
例えば、次のように、
カレントディレクトリ:¥a¥a¥b¥c
相対パス:.¥..¥..¥a¥b¥file
であれば、まず . は現在地なので変わりません。
その後、.. が2回あるので、2階層上へ戻ります。
¥a¥a¥b¥c
→ ¥a¥a¥b
→ ¥a¥a
そこから a¥b¥file に進みます。
¥a¥a
→ ¥a¥a¥a
→ ¥a¥a¥a¥b
→ ¥a¥a¥a¥b¥file
したがって、絶対パスは ¥a¥a¥a¥b¥file になります。
どんな場面で使う?
ファイル操作やプログラムの入出力を読むときに、パスの考え方は役立ちます。
例えば、次のような場面です。
- 設定ファイルを読み込む
- ログファイルを出力する
- カレントディレクトリを基準にファイルを指定する
- 親ディレクトリにあるファイルへ移動する
このとき、相対パスを絶対パスと同じ感覚で読むと間違えやすくなります。
相対パスは、必ず今いる場所から見る
この感覚を持っておくと、ファイルの場所を追いやすくなります。
よくある誤解・混同
一番多い誤解は、. と .. を混同することです。
| 混同しやすい点 | 正しい理解 |
|---|---|
. は1階層上へ戻る |
. は今いる場所のまま |
.. は今いる場所を表す |
.. は1階層上へ戻る |
先頭が ¥ でないパスもルートから読む |
先頭が ¥ でないならカレントディレクトリ基準 |
| 相対パスは右から読む | 左から順番に処理する |
このような相対パスでは、.. の回数を数えるだけでなく、戻った後にどのディレクトリへ進むかも見ます。
.¥..¥..¥a¥b¥file
この場合、2階層戻ったあと、a、b、file の順に進みます。
戻るだけでは終わらない
戻ったあとに進む部分も処理する
ここを忘れると、選択肢を間違えやすくなります。
まとめ(試験直前用)
- 絶対パスは、ルートディレクトリから目的の場所までを表す
- 相対パスは、カレントディレクトリを基準に目的の場所を表す
.は今いるディレクトリ、..は1階層上のディレクトリ- 先頭が
¥なら絶対パス、そうでなければ相対パスとして考える - 相対パスは、カレントディレクトリから左から順にたどる