Linux 文件的复制,删除和移动原理

复制

复制其实就是新建文件。

创建新文件 -> 复制内容。

删除

一般来说,文件的删除操作一般来说都很快(所以执行删除操作时千万要注意),原因在于它无需擦除或写入磁盘,只需要将需要删除的文件指向的所有data blockinode标记为未使用,待程序需要空间时再直接覆盖写入即可。

而常见的恢复软件的操作流程,便是忽略标记,直接扫描所有data blockinode的有效数据,从而找回未被覆盖的数据。如果数据被覆盖,就很难再找回。

移动

如果在同一个文件系统(相同分区),则移动只是改变了文件路径,所以操作会非常快。

如果在不同的文件系统(不同分区),则移动就是复制+删除,即复制文件到目标文件系统,然后删除原文件,如果文件过多或过大,则会非常缓慢。