1.02.3基礎
releases/v2/app.confを参照するcurrent.confを作る。
参照先パスを持つシンボリックリンクにする。
適切なコマンドはどれか。
× 不正解
ln -s TARGET LINK_NAMEはTARGET文字列を保持するシンボリックリンクを作成する。
詳細解説
誤り
ln releases/v2/app.conf current.confハードリンクを作り、参照先パスを格納しない。
誤り。通常のlnは同じinodeへのハードリンクを作り、releases/v2/app.confという参照文字列を保持しない。
正しい
ln -s releases/v2/app.conf current.conf-sにより指定文字列を参照先とするシンボリックリンクを作る。
正しい。-sがcurrent.confを独立したシンボリックリンクとして作り、指定targetを格納する。
誤り
cp -a releases/v2/app.conf current.confファイルを複製し、リンクとして参照しない。
誤り。cp -aで通常ファイルをコピーするとcurrent.confは内容を持つ別ファイルになり、参照関係を作らない。
誤り
readlink releases/v2/app.conf current.confreadlinkはリンク内容の表示に使い、新規リンクを作成しない。
誤り。readlinkは既存リンクのtargetを読む照会コマンドで、2つの引数から新規リンクを作らない。
実際に確かめる
一時的な検証環境で実行できる例です。
tmp=$(mktemp -d); mkdir -p "$tmp/releases/v2"; touch "$tmp/releases/v2/app.conf"; (cd "$tmp" && ln -s releases/v2/app.conf current.conf && readlink current.conf); rm -rf "$tmp"期待される結果
releases/v2/app.conf理解のポイント
- -sはsymbolic
- リンクはtarget文字列を保持
- readlinkで確認
確認時の注意
- 確認環境: Linux / GNU coreutils 9.x / 一時ディレクトリ
基礎のおさらい
dangling link
シンボリックリンクは参照先が存在しなくても作成でき、その場合はリンク切れになる。
ファイルシステム境界
パス参照なので、シンボリックリンクは別ファイルシステム上の対象も指せる。
問題IDKL-101-411
確認環境Linux / GNU coreutils 9.x / 一時ディレクトリ
最終技術確認2026-08-13
誤り・権利侵害を報告