RM 中断时会损坏吗?

Joo*_*kia 4 linux rm

所以我可能会不小心 rm -r'd ~。别担心,我有备份!我做了一个快速的文件列表差异来复制被删除的文件,一切都很好。但...

如果我中断它,GNU rm 会损坏文件吗?当然,它只是在一秒钟内取消链接我的无价数据的千兆字节,而不是从磁盘本身删除文件?

psu*_*usi 5

不, rm只是调用unlink()删除名称。这个系统调用是原子的,这意味着它要么成功地删除了名称,要么没有。它不能被中断。如果在 rmunlink()读取多个文件时中断 rm ,则某些文件将被成功删除,而有些则不会。看家如释放使用该文件,如果所有的链接被去除的块是一个单独的操作,并且可以在以后进行,并且如果这是中断(由于电源故障或系统崩溃,不中断rm)时,文件系统可能要求fsck至完成它,但现在大多数文件系统都被记录下来,所以他们不需要这个。无论哪种方式,文件要么被删除,要么不被删除,两者之间没有。