Dalam sistem file Unix-style (termasuk di Linux), file tidak benar-benar "di" tempat tertentu. Alih-alih, sistem menggunakan hardlink untuk menunjukkan kepingan-kepingan apa yang jumlahnya besar. Jadi ketika Anda membuat file, Anda juga membuat hardlink pertamanya: yang benar-benar berada di tempat Anda "menyimpan" file tersebut. Jika Anda membuat lebih banyak hardlink, maka sejauh yang diketahui sistem, file tersebut sebenarnya ada di beberapa tempat sekaligus.
Ketika Anda "menghapus" suatu file, biasanya Anda sebenarnya hanya menghapus hardlink yang ada di tempat yang Anda tentukan. Inilah sebabnya mengapa panggilan sistem untuk menghapus file disebut unlink()
. Sistem tidak akan benar-benar menghapus file sampai tidak ada hardlink yang tersisa. Tetapi begitu hardlink terakhir dimusnahkan, begitu pula datanya.
Jadi, ke mana file yang Anda hapus pergi? Jika masih ada hardlink, file tersebut ada di mana pun hardlink yang tidak Anda hapus. Jika tidak ada hardlink yang tersisa, file-file tersebut hilang.