基本情報 2022 サンプル問題 問18:テクノロジ系に関する問題
ファイルシステムの絶対パス名を説明したものはどれか。
- aあるディレクトリから対象ファイルに至る幾つかのパス名のうち,最短のパス名
- bカレントディレクトリから対象ファイルに至るパス名
- cホームディレクトリから対象ファイルに至るパス名
- dルートディレクトリから対象ファイルに至るパス名正答
AI解説(初心者・標準・上級)
理解度に合わせて3レベルの解説を無料で読めます。
答えは d「ルートディレクトリから対象ファイルに至るパス名」 です。
パソコンのフォルダ構造を「住所」と考えてください。絶対パスは「東京都〇〇区△△町1-2-3」のように国(一番てっぺん=ルート)から書いた完全住所。どこから見ても同じ場所を指せます。
一方「相対パス」は「ここから2軒先の家」みたいに、今いる場所基準の言い方。立っている場所が変わると指す家も変わります。
👉 覚え方:絶対パス=ルート(/や C:\)スタート、相対パス=今いる場所スタート。
ほかの選択肢:a「最短のパス」は絶対パスの定義ではない/b「カレントディレクトリから」は相対パスの説明/c「ホームディレクトリから」も基準が今の場所寄りなので絶対パスではない。
なぜこれが正解か
正解は d。絶対パス(absolute path)はファイルシステムの最上位(ルートディレクトリ)を起点として対象ファイルに至るパス名。Unix/Linux では `/etc/passwd` のように先頭が `/`、Windows では `C:\Users\zawa\file.txt` のようにドライブレターから始まる。どこから参照しても同じ場所を指す一意性が特徴。
各選択肢の解説
- a:「最短のパス」は絶対パスの定義ではない。短さは結果論で、定義の本質は「起点がルート」であること。
- b:カレントディレクトリ(現在作業中のディレクトリ)を起点とするのは相対パス(relative path)。`./` や `../` を含む形式。
- c:ホームディレクトリ(ユーザーのデフォルトディレクトリ。Unix では `~`)を起点とする概念は存在するが、絶対パスの定義ではない。
覚え方・ひっかけ注意
「絶対=ルートから/相対=カレントから」で覚える。「`/` で始まれば絶対、`./` や `../` または名前から始まれば相対」と覚えると Unix 系で即判別可能。Windows のドライブレター(`C:\`)も絶対パスの一形態。
理論的背景
ファイルシステムは木構造(tree)でディレクトリを階層化し、ルート(根)から葉(ファイル)までの経路をパスで表現する。絶対パスは木の根からの一意経路、相対パスは現在位置(カレントディレクトリ/CWD)からの相対経路。Unix では `.`(カレント)、`..`(親)、`~`(ホーム)といった特殊記号を用いる。POSIX 標準では絶対パスは `/` で始まることが規定されている。
実務での使われ方
- シェルスクリプト:移植性・確実性が必要な場合は絶対パスを使用(cron などで CWD が不定なケースで特に重要)。可読性・移動性重視時は相対パス。
- Web 開発:HTML/CSS で `<img src="/img/logo.png">` はルート相対(サーバルートからの絶対)、`<img src="img/logo.png">` はドキュメント相対。
- セキュリティ:パス・トラバーサル攻撃(`../../etc/passwd`)対策として、ユーザ入力パスは正規化(canonicalize)して絶対パスに変換し、許可ディレクトリ配下か検証するのが定石。
試験での位置づけ
基本情報・応用情報のファイルシステム分野で頻出。シンボリックリンク/ハードリンク/i-node/マウントポイント/chrootまで体系で押さえる。応用情報・情報処理安全確保支援士ではパス・トラバーサル対策(OWASP Top 10 関連)として再登場。
選択肢の発展補足
- b カレントディレクトリ:`pwd` コマンドで取得、`cd` で変更。プロセスごとに保持され子プロセスに継承される。
- c ホームディレクトリ:環境変数 `$HOME` で参照、`~` で展開(チルダ展開)。アカウントごとに割り当てられる。
- 関連:正規パス(canonical path)=シンボリックリンクや `..` を解決した一意の絶対パス。Java の `File.getCanonicalPath()` 等で取得。
出典:IPA(情報処理推進機構)公式 基本情報技術者試験 2022 サンプル問題 問18/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。