過去問ドリル

LinuCレベル1 ファイル・ディレクトリの操作と管理 問20

ファイル・ディレクトリの操作と管理/ハードリンクとシンボリックリンク

ls -l でファイルの詳細を表示したとき、パーミッションの次(左から2番目の欄)に表示される数値が表すものとして適切なものはどれか。

当サイトのオリジナル問題(LinuCレベル1の出題範囲「ファイル・ディレクトリの操作と管理」に対応。実際の試験問題ではありません)

正解:B

解説

ls -l の2番目の欄はハードリンク数(リンクカウント)で、同じinodeを参照しているファイル名がいくつあるかを示します。ln でハードリンクを作るとこの数が1増え、どれか1つの名前を削除すると1減ります。リンク数が0になり、そのファイルを開いているプロセスも無くなった時点で、データの領域が解放されます。シンボリックリンクを作ってもリンク先のリンク数は増えません。inode番号を確認するには ls -i を使い、同じ番号であれば同じ実体を指すハードリンクだと判断できます。

選択肢ごとの解説

  • A誤り。シンボリックリンクはリンク先のパスを持つ別のファイルで、作成してもリンク先のリンク数は増えません。
  • B正しい。2番目の欄はハードリンク数で、同じinodeを参照しているファイル名の数を表します。
  • C誤り。inode番号は ls -i で表示されるもので、ls -l の2番目の欄ではありません。
  • D誤り。ファイルが使用するブロック数は ls -s などで表示されるもので、ls -l の2番目の欄ではありません。
LinuCレベル1の問題を演習モードで解く