在介绍如何安全删除文件之前,先介绍一下Linux下是如何删除文件的.Linux是通过link的数量来控制文件删除的,当一个文件不存在任何link的时候,这个文件才会被删除.
一般情况下一个文件会有两个link计数器:i_count和i_nlink. i_count表示该文件目前被调用的数量,i_nlink指的的是文件的硬链接数目.也就是说当一个文件被某一个进程引用时,对应的i_count数量会增加;当给文件创建硬链接时,对应的i_nlink数目会增加.Linux下的rm命令实际上就是调用的unlink系统函数,rm操作就是将i_nlink数量减1,将文件名到inode的链接删除.