ディレクトリのハードリンクの数について

linux

今回はディレクトリのハードリンクの数についてです。

 

あるディレクトリにファイルが存在しない状態から話を始めます。

まずは、lsコマンドで確認します。

 

では、ここで「kamo」ディレクトリを作成し、lsコマンドを実行します。

「kamo」ディレクトリの欄のうち「2」と表示されている箇所があります。

この箇所がハードリンクの数ですよね。数が「2」となっています。作ったばかりなのに、「2」なんです。

 

続いて、「-R」オプションをつけて再度実行してみます。

「-R」をつけることで、「kamo」ディレクトリの中身が見れました。

ここで注目すべきは「kamo」ディレクトリ内の「.」の箇所。これは自分自身のディレクトリを表します。このハードリンクが「2」になっていますね。

お気付きの方もいらっしゃるかもしれませんが、実は「kamo」ディレクトリのハードリンクのお相手はこの「.」なのです!

 

さらに見ていきましょう。

今度は、「kamo」ディレクトリ内に「tora」ディレクトリを作成し、同じく「-R」オプションをつけてlsコマンドを実行します。

 

先ほどまで「2」だった「kamo」ディレクトリと「kamo」ディレクトリ内の「.」のハードリンクが「3」になっています。

1つ増えたわけですが、これ、実は先ほど作成した「tora」ディレクトリが関係しています。

「..」は親ディレクトリを表すことはご存知かと思います。ということは、「tora」ディレクトリ内にある「..」は親ディレクトリの「kamo」ディレクトリを表しているわけですね。

というころで、3つ目のハードリンクは「tora」ディレクトリの「..」ということになります。

 

 

余談ですが、この「tora」ディレクトリと同じ階層に複数のディレクトリが存在する場合、「kamo」ディレクトリのハードリンク数は増えていくわけです。

言い換えるなら、ハードリンク数を確認することで、その直下にあるディレクトリ数が判断つくってことですね。

豆知識ですが、覚えておくとどこかで役に立つかもしれません。

Secured By miniOrange
タイトルとURLをコピーしました