iノード番号を確認する方法・ls -i †
lsコマンドを使用してファイルのiノード番号を調べる方法を以下に記します。
ハードリンクされていて同一のファイルかどうかを確認するなどに使用できます。
以下に操作例を記します。
関連記事 †
ls -i コマンドでファイルのiノード番号を調べる †
以下に操作で実際にハードリンク、シンボリックリンクを作成しiノード番号を表示させます。
- hello.txtファイルを作成。
$ echo "hello" > hello.txt
- ハードリンクhello_h.txtを作成。
$ ln hello.txt hello_h.txt
- シンボリックリンクhello_s.txtを作成。
$ ln -s hello.txt hello_s.txt
- lsコマンドのiオプションを利用してiノード番号を表示してみます。
$ ls -li *.txt
109414195 -rw-rw-r-- 2 sakura sakura 6 6月 4 11:06 hello.txt
109414195 -rw-rw-r-- 2 sakura sakura 6 6月 4 11:06 hello_h.txt
109414215 lrwxrwxrwx 1 sakura sakura 9 6月 4 11:06 hello_s.txt -> hello.txt
hello.txtとhello_h.txtはハードリンクのため、同じiノード番号であることが確認できます。
また、シンボリックリンクであるhello_s.txtは異なるiノード番号となっています。
以下のように-1オプションを利用した方がみやすいかもしれません。
(加工しやすいかもしれません。)
$ ls -1i *.txt
109414195 hello.txt
109414195 hello_h.txt
109414215 hello_s.txt
以上、lsコマンドのiオプションを使用してiノード番号を調べる方法でした。