Unix tarzı dosya sistemlerinde (Linux dahil), dosyalar gerçekten herhangi bir yerde "yer" değildir. Bunun yerine, sistem, büyük bir veri bloğu için ne kadar önemli olduğuna işaret eden hardlinks kullanır. Böylece bir dosya oluşturduğunuzda, ilk hard linkini de yaratırsınız: aslında dosyayı "kaydettiğiniz" yerde bulunan. Daha fazla hardlinks yaparsanız, o zaman sistemin bildiği kadarıyla, dosya aslında aynı anda birkaç yerde var.
Bir dosyayı "sildiğinizde" normalde yalnızca belirttiğiniz yerde bulunan sabit bağlantıyı silersiniz. Bu nedenle sistem çağrısı dosyaları silmek için çağrılır unlink()
. Sistem, kendisine hiçbir sabit bağlantı kalmayana kadar dosyayı silmez. Ancak bir kez bu son hardlink yok edildiğinde, veriler de öyle.
Peki, sildiğiniz dosyalar nereye gidiyor? Hala sabit bağlantılar varsa, dosyalar, silmediğiniz sabit bağlantıların olduğu yerlerdir. Sabit bağlantı kalmadıysa, dosyalar gider.