rm myFile
ハードリンクを実行するとmyFile
どうなりますか?
答え1
Unixでは、すべての一般的なファイルはハードリンクです。 Unix(およびほとんどの(すべて?))ファイルシステムのハードリンクは参照カウンタと呼ばれますinode
。inode
ファイルへの「リンク」がある場合(通常の作業方法)、カウンタは1です。 2番目、3番目、4番目などのリンクを作成すると、カウンタは毎回1分1秒ずつ時間を増やします(増加)。リンクを削除()すると、rm
カウンタは1減少します。リンクカウンタがゼロに達すると、ファイルシステムはそのinode
スペースを削除し、そのスペースを使用可能としてマークします。
つまり、最後のリンクを削除しない限り、ファイルはそのまま残ります。
Edit:
ファイルは残ります最後のリンクが削除されても。これは、ファイルに含まれるデータが安全で他のプロセスからアクセスできないようにする方法の1つです。データのメタデータに提供された接続がゼロであり、どのプロセスでも使用されていない場合にのみ、データはファイルシステムから完全に削除されます。
これIMHO、これはハードリンク(そしてソフトリンクとどう違うのか)を理解する最も簡単な方法です。
答え2
テストは思ったより簡単だった。テキストファイルを作成してからハードリンクしました。ハードリンクを削除すると機能しますいいえハードリンクされたファイルは削除され、リンクされたファイルは元の場所に残ります。