基本情報 平成30年度 秋期 問17:テクノロジ系に関する問題
ファイルシステムの絶対パス名を説明したものはどれか。
- aあるディレクトリから対象ファイルに至る幾つかのパス名のうち, 最短のパス 名 .
- bカレントディレクトリから対象ファイルに至るパス名
- cホームディレクトリから対象ファイルに至るパス名
- dルートディレクトリから対象ファイルに至るパス名正答
AI解説(初心者・標準・上級)
理解度に合わせて3レベルの解説を無料で読めます。
答えは d「ルートディレクトリから対象ファイルに至るパス名」 です。
住所で例えると、「東京都〇〇区〇〇1-2-3」のように一番上から全部書いた住所が絶対パス。
コンピュータでも、ファイル置き場の一番てっぺん(=ルート)から書いていけば、どこから見ても同じ場所を指せます。
👉 覚え方:「絶対パス=一番上(ルート)から書く住所」。
ほかの選択肢:a 最短のパス=そんなルールはない/b カレント(=今いる場所)から書く=相対パス/c ホーム(=自分の部屋)から書く=Linuxの「~/...」みたいな表記。
なぜこれが正解か
正解は d。絶対パスはファイルシステムの最上位(ルートディレクトリ、UNIX系では `/`、Windowsでは `C:\` 等)を起点に対象ファイルへ至る完全な経路。どの作業位置からでも同じファイルを一意に指せる。
各選択肢の解説
- a 最短のパス:そういう定義はない(「最短」は経路最適化の概念で、パス名の種類ではない)。
- b カレントディレクトリ起点:相対パスの定義。`./` や `../` で表現される。
- c ホームディレクトリ起点:ユーザ固有の表記(UNIX系の `~/`)であり、絶対パスとは別概念。
覚え方・ひっかけ注意
「ルートから書く=絶対に同じ場所を指す」と覚える。相対パスは作業位置(cd)で意味が変わるので、シェルスクリプトやcronジョブでは絶対パス推奨。試験では `/home/user/doc.txt` と `../doc.txt` の対比でよく問われる。
理論的背景
ファイルシステムは階層的な有向木構造(実装によってはハードリンクで多対1のグラフ)で、各ノードがディレクトリ/ファイル。絶対パスはルートからの一意な経路表現で、Linuxでは `/usr/local/bin/python` のようにスラッシュ区切り。Windowsはドライブレター+ `\` 区切り(`C:\Users\zawa\doc.txt`)に加え、UNC形式 `\\server\share\path` もある。
実務での使われ方
- cron/systemd unit/systemd service:環境変数が引き継がれないため、コマンドや設定は絶対パスで書くのが鉄則。
- Webサーバ設定:DocumentRootからの相対と、ファイルシステム絶対パスを混同するとセキュリティ事故(パストラバーサル)に直結。
- コンテナ:マウントポイント(`/var/lib/docker/...`)も絶対パスで指定。
- Symbolic link/Hard link:シンボリックリンクは絶対/相対どちらも可能。リンク先が消えると壊れるためデプロイで注意。
試験での位置づけ
基本情報のOS分野で頻出。最近はカレントディレクトリ攻撃(PATHに `.` を含めて意図しないバイナリを実行)やパストラバーサル脆弱性(`../../etc/passwd`)など、セキュリティ分野と絡めて出題される。
選択肢の発展補足
ホームディレクトリ表記 `~` はシェルが展開する糖衣構文で、プログラム内では `$HOME` 環境変数や `getpwuid()` で取得する。chroot された環境ではルート自体が変化するため、絶対パスの意味も相対化される点も応用情報で問われる発展論点。
出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成30年度 秋期 問17/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。