1.02.3基礎
manual.txtと同じ内容実体を参照するmanual-latest.txtを、同一ファイルシステム内に作る。
シンボリックリンクではなくハードリンクを使用する。
適切なコマンドはどれか。
× 不正解
ln SOURCE LINKは同一inodeを指すハードリンク名を追加する。どちらの名前から変更しても同じ内容が見える。
詳細解説
正しい
ln manual.txt manual-latest.txt-sを付けないlnは既存inodeへのハードリンク名を追加する。
正しい。lnを-sなしで使うとmanual.txtと同じinodeへmanual-latest.txtという名前を追加する。
誤り
ln -s manual.txt manual-latest.txt参照先パスを格納するシンボリックリンクを作る。
誤り。-sは独立したリンクinodeへ参照先文字列を格納し、同じinodeを共有するハードリンクではない。
誤り
cp manual.txt manual-latest.txt内容を別inodeへ複製し、同じ実体は共有しない。
誤り。cpは作成時点の内容を別inodeへ複製するため、その後の変更は両方へ自動反映されない。
誤り
mv manual.txt manual-latest.txt名前を移すため、manual.txtという元の名前が残らない。
誤り。mvはmanual.txtという元名をmanual-latest.txtへ移すので、2つの名前を同時に保持できない。
実際に確かめる
一時的な検証環境で実行できる例です。
tmp=$(mktemp -d); printf data >"$tmp/manual.txt"; ln "$tmp/manual.txt" "$tmp/manual-latest.txt"; stat -c '%i' "$tmp/manual.txt" "$tmp/manual-latest.txt"; rm -rf "$tmp"期待される結果
2行で同じinode番号理解のポイント
- ln単独はhard link
- inodeを共有
- link countが増える
確認時の注意
- 確認環境: Linux / GNU coreutils 9.x / 一時ファイル
基礎のおさらい
inodeと名前
ディレクトリは名前からinodeへの対応を持ち、ハードリンクは同じinodeへの対応を追加する。
制約
通常、ディレクトリへのハードリンクは作れず、異なるファイルシステムをまたぐこともできない。
問題IDKL-101-410
確認環境Linux / GNU coreutils 9.x / 一時ファイル
最終技術確認2026-08-13
誤り・権利侵害を報告