1.02.3標準
reportとreport-copyがハードリンクか、内容を複製した別ファイルかを調べる。
inode番号を長形式の属性とともに表示する。
適切なコマンドはどれか。
× 不正解
ハードリンクされた名前は同じinode番号を持つ。ls -liならinode番号とリンク数を同時に比較できる。
詳細解説
誤り
ls -l report report-copyリンク数は見えるが、同じinodeかを直接比較する番号が表示されない。
誤り。-lのリンク数が2でも、どの別名とinodeを共有するかを番号で直接照合できない。
誤り
ls -F report report-copy種類を示す印を付けるが、inode番号を表示しない。
誤り。-Fはシンボリックリンクなどの種別識別には使えるが、ハードリンク同士を同じ番号として示さない。
正しい
ls -li report report-copy-iでinode番号、-lでリンク数などの長形式属性を表示する。
正しい。-iで両名のinode番号が一致することを確認し、-lでリンク数も併せて読める。
誤り
ls -s report report-copy割り当てブロック数を表示し、inode同一性を示さない。
誤り。-sが示すディスクブロック数は別ファイルでも同じになり得るため、同じinodeの証明にならない。
実際に確かめる
一時的な検証環境で実行できる例です。
tmp=$(mktemp -d); touch "$tmp/report"; ln "$tmp/report" "$tmp/report-copy"; ls -li "$tmp/report" "$tmp/report-copy"; rm -rf "$tmp"期待される結果
両行のinode番号が同じで、リンク数が2理解のポイント
- -iはinode
- -lはlong format
- hard linkは同じinode
確認時の注意
- 確認環境: Linux / GNU coreutils 9.x / 一時ファイル
基礎のおさらい
inode番号
同じファイルシステム内でinodeを識別する番号で、ハードリンク名同士では一致する。
リンク数
inodeを参照するハードリンク数で、名前を追加・削除すると増減する。
問題IDKL-101-412
確認環境Linux / GNU coreutils 9.x / 一時ファイル
最終技術確認2026-08-13
誤り・権利侵害を報告