メインコンテンツへ
ソフトウェアコンピュータシステム

Unixライクなファイルシステムにおいて、カレントディレクトリが /home/user/projects のとき、次の相対パス ../../documents/../docs/file.txt の絶対パスとして正しいものはどれか。

ア./home/docs/file.txt正解
イ./home/user/docs/file.txt
ウ./home/user/documents/docs/file.txt
エ./docs/file.txt

解説

相対パスは「現在地から道案内」。`..`は「1つ上の階層へ」。道順をたどるだけ!地図を頭に描いてステップごとに進もう。

なぜ ア が正解か

起点: /home/user/projects。ステップ1: `..` → /home/user。ステップ2: `..` → /home。ステップ3: `documents` → /home/documents。ステップ4: `..` → /home(documentから出て戻る)。ステップ5: `docs` → /home/docs。ステップ6: `file.txt` → /home/docs/file.txt。絶対パス = /home/docs/file.txt。

なぜ イ は間違いか

/home/user/docs/file.txtになるのは`..`を1回だけ辿った場合。相対パスには`../../`(2回の親移動)があり/homeまで上がる必要がある。

なぜ ウ は間違いか

/home/user/documents/docs/file.txtはdocumentsから`..`を適用せず直接docsに進んだ誤り。`..`でdocumentsから出ることを忘れている。

なぜ エ は間違いか

/docs/file.txtになるには/homeより上(ルートに近い方向)に移動する必要がある。`../../`は/home/user/projectsから/homeまでしか上がらない。

出典: AI生成問題(学習用)