inode とは
UNIX系ファイルシステムで使われているデータ構造
- UNIXのファイルは、inodeと、実際のデータの組み合わせ
- inodeには、inode番号と、ファイルのサイズなどの属性情報が格納されている
inode番号 とは
各nodeに与えられる任意の値
- 各ディレクトリは、node へリンクを貼ることでファイルを管理している
- node番号は
ls -i
で確認可能
ハードリンクを生成すると、どちらも同一のファイルを参照するため、node番号は同一値となる
例
$ ls -li aaa bbb 8610608681 -rw-rw-rw- 2 kasei_san staff 221 8 2 11:28 aaa 8610608681 -rw-rw-rw- 2 kasei_san staff 221 8 2 11:28 bbb
ls
の -i
オプションで、inode番号が確認できる
rm
まめちしき
rm
コマンドはファイルの削除ではない。ディレクトリから対象のnodeを外すだけunlink
というコマンドもある(カーネルによっては rm のハードリンク)
- 一つもリンクが無く、openされていないnodeは、その後削除される