ハードリンクされている数を調べる方法・ls †
lsコマンドの-lオプションを使用することによりハードリンク数を調べることができます。
statコマンドでも同様にハードリンク数を調べることができます。
statコマンドで調べる場合は「ハードリンクされている数を調べる方法・stat」を参照してください。
以下にlsコマンドのlオプションを使用してハードリンク数が変化する操作を以下に記します。
関連記事 †
lsのlオプションでハードリンク数を確認する †
ハードリンク数はls -lで簡単に確認することができます。
先頭のパーミッション表示の次の数字になります。
実際にハードリンク数が変化することを以下の操作で確認してみます。
- テキストファイルhello.txtを作成しました。
パーミッション(-rw-rw-r--)の次にある値は1になっているのが確認できます。
[sakura@centos ~]$ echo "hello" > hello.txt
[sakura@centos ~]$ ls -l
合計 4
-rw-rw-r-- 1 sakura sakura 6 6月 5 11:22 hello.txt
- lnコマンドでhello.txtのハードリンクを作成します。
[sakura@centos ~]$ ln hello.txt hello2.txt
- ls -lの出力をみるとパーミッション(-rw-rw-r--)の次にある値は2になっているのが確認できます。
つまり、リンク数は2つとなります。
[sakura@centos ~]$ ls -l
合計 8
-rw-rw-r-- 2 sakura sakura 6 6月 5 11:22 hello.txt
-rw-rw-r-- 2 sakura sakura 6 6月 5 11:22 hello2.txt
- 再度lnコマンドでhello.txtのハードリンクを作成します。
[sakura@centos ~]$ ln hello.txt hello3.txt
- ls -lの出力をみるとパーミッション(-rw-rw-r--)の次にある値は3になっているのが確認できます。
つまり、リンク数は3つとなります。
[sakura@centos ~]$ ls -l
合計 12
-rw-rw-r-- 3 sakura sakura 6 6月 5 11:22 hello.txt
-rw-rw-r-- 3 sakura sakura 6 6月 5 11:22 hello2.txt
-rw-rw-r-- 3 sakura sakura 6 6月 5 11:22 hello3.txt
- lsのiオプションでiノードの値を確認すると、全て同一の値であることが確認できます。
[sakura@centos ~]$ ls -1i
109414195 hello.txt
109414195 hello2.txt
109414195 hello3.txt
- ハードリンクされているファイルの1つを削除します。
[sakura@centos ~]$ rm hello.txt
- ls -lの出力をみるとパーミッション(-rw-rw-r--)の次にある値は2になっているのが確認できます。
つまり、1つファイルを削除したのでリンク数は2つとなります。
[sakura@centos ~]$ ls -l
合計 8
-rw-rw-r-- 2 sakura sakura 6 6月 5 11:22 hello2.txt
-rw-rw-r-- 2 sakura sakura 6 6月 5 11:22 hello3.txt
以上、lsのlオプションを使用したリンク数の確認方法でした。