---
title: "絶対パスと相対パスとは？カレントディレクトリと親ディレクトリのたどり方【基本情報技術者試験】"
description: "絶対パスと相対パスを、ルートディレクトリ、カレントディレクトリ、親ディレクトリの考え方で整理し、. と .. を含むパスをFE試験で順番にたどる判断軸を解説します。"
last_modified_at: "2026-07-25"
canonical_url: "https://stemtazoo.github.io/fe/absolute-relative-path/"
section: "fe"
---

## まず結論

絶対パスとは、**ルートディレクトリから目的のファイルまでをすべて書いたパス**です。

相対パスとは、**今いる場所であるカレントディレクトリを基準にして、目的のファイルまでを表したパス**です。

基本情報技術者試験では、次のように切り分けると分かりやすいです。

```text
先頭が ¥
→ ルートディレクトリから始める絶対パス

先頭が . またはディレクトリ名
→ カレントディレクトリから始める相対パス

.
→ 今いるディレクトリ

..
→ 1階層上のディレクトリ
```

相対パスが出たら、**カレントディレクトリから左から順にたどる** のが基本です。

## 直感的な説明

パスは、ファイルの場所を表す住所のようなものです。

絶対パスは、住所を最初から全部書くイメージです。

```text
¥a¥a¥b¥c
```

一方、相対パスは、今いる場所から見てどこにあるかを書くイメージです。

```text
.¥..¥..¥a¥b¥file
```

ここで、`.` と `..` が大事です。

```text
.  → 今いる場所
.. → 1つ上の場所
```

英語では、次のように整理できます。

```text
absolute path：絶対パス
relative path：相対パス
current directory：カレントディレクトリ
parent directory：親ディレクトリ
root directory：ルートディレクトリ
```

特に `parent directory` は「親ディレクトリ」、つまり1階層上のディレクトリです。

## 定義・仕組み

パスに関する用語を整理すると、次のようになります。

| 用語 | 英語表記 | 意味 |
|---|---|---|
| 絶対パス | absolute path | ルートディレクトリから目的の場所までを表すパス |
| 相対パス | relative path | カレントディレクトリを基準にしたパス |
| カレントディレクトリ | current directory | 今いるディレクトリ |
| 親ディレクトリ | parent directory | 1階層上のディレクトリ |
| ルートディレクトリ | root directory | 階層構造の一番上のディレクトリ |

例えば、カレントディレクトリが次だとします。

```text
¥a¥a¥b¥c
```

ここで、相対パスが次のように与えられた場合を考えます。

```text
.¥..¥..¥a¥b¥file
```

これは、左から順番に処理します。

```text
開始地点：¥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
```

したがって、絶対パスは次のようになります。

```text
¥a¥a¥a¥b¥file
```

公式の出題範囲やシラバスは、[IPA：基本情報技術者試験](https://www.ipa.go.jp/shiken/kubun/fe.html) から確認できます。絶対パスと相対パスは、OSやファイル管理の基本として出題されることがあります。

## 科目Aでどう出る？

科目Aでは、カレントディレクトリと相対パスが与えられ、対応する絶対パスを選ぶ問題が出やすいです。

選択肢を切るときは、次の順番で考えます。

```text
1. カレントディレクトリを開始地点にする
2. 相対パスを左から順に読む
3. . はそのまま
4. .. は1階層上へ戻る
5. ディレクトリ名やファイル名は順に進む
```

例えば、次のように、

```text
カレントディレクトリ：¥a¥a¥b¥c
相対パス：.¥..¥..¥a¥b¥file
```

であれば、まず `.` は現在地なので変わりません。

その後、`..` が2回あるので、2階層上へ戻ります。

```text
¥a¥a¥b¥c
→ ¥a¥a¥b
→ ¥a¥a
```

そこから `a¥b¥file` に進みます。

```text
¥a¥a
→ ¥a¥a¥a
→ ¥a¥a¥a¥b
→ ¥a¥a¥a¥b¥file
```

したがって、絶対パスは `¥a¥a¥a¥b¥file` になります。

## どんな場面で使う？


ファイル操作やプログラムの入出力を読むときに、パスの考え方は役立ちます。

例えば、次のような場面です。

- 設定ファイルを読み込む
- ログファイルを出力する
- カレントディレクトリを基準にファイルを指定する
- 親ディレクトリにあるファイルへ移動する

このとき、相対パスを絶対パスと同じ感覚で読むと間違えやすくなります。

```text
相対パスは、必ず今いる場所から見る
```

この感覚を持っておくと、ファイルの場所を追いやすくなります。

## よくある誤解・混同

一番多い誤解は、`.` と `..` を混同することです。

| 混同しやすい点 | 正しい理解 |
|---|---|
| `.` は1階層上へ戻る | `.` は今いる場所のまま |
| `..` は今いる場所を表す | `..` は1階層上へ戻る |
| 先頭が `¥` でないパスもルートから読む | 先頭が `¥` でないならカレントディレクトリ基準 |
| 相対パスは右から読む | 左から順番に処理する |

このような相対パスでは、`..` の回数を数えるだけでなく、戻った後にどのディレクトリへ進むかも見ます。

```text
.¥..¥..¥a¥b¥file
```

この場合、2階層戻ったあと、`a`、`b`、`file` の順に進みます。

```text
戻るだけでは終わらない
戻ったあとに進む部分も処理する
```

ここを忘れると、選択肢を間違えやすくなります。

## まとめ（試験直前用）

- 絶対パスは、ルートディレクトリから目的の場所までを表す
- 相対パスは、カレントディレクトリを基準に目的の場所を表す
- `.` は今いるディレクトリ、`..` は1階層上のディレクトリ
- 先頭が `¥` なら絶対パス、そうでなければ相対パスとして考える
- 相対パスは、カレントディレクトリから左から順にたどる
