如果您执行rm myFile
硬myFile
链接,会发生什么?
答案1
在 Unix 中,所有普通文件都是硬链接。 Unix(以及大多数(全部?))文件系统中的硬链接是对所谓的inode
.有inode
一个引用计数器,当您有一个到文件的“链接”(这是正常的操作方式)时,计数器为 1。当您创建第二个、第三个、第四个等链接时,计数器每次都会递增(增加)时间一分一秒。当您删除 ( rm
) 链接时,计数器会减一。如果链接计数器达到 0,文件系统将删除该inode
空间并将该空间标记为可供使用。
简而言之,只要您不删除最后一个链接,该文件就会保留。
Edit:
该文件将保留即使最后一个链接被删除。这是确保文件中包含的数据安全性的方法之一,任何其他进程都无法访问该数据。仅当数据的元数据中给出的链接为 0 并且未被任何进程使用时,才会从文件系统中完全删除数据。
这恕我直言,这是迄今为止理解硬链接(及其与软链接的区别)的最简单方法。
答案2
测试比我想象的要容易:我创建了一个文本文件,然后硬链接到它。删除硬链接确实可以不是删除其硬链接到的文件,链接到的文件保留在原来的位置。