我正在运行mv
将目录(包含许多文件)从一个分区移动到另一个分区。mv
在逐个移动目录中的单个文件时,我注意到源分区的可用空间大小没有变化,而目标分区的可用空间大小却在减少。
为什么它会这样工作,而不是源分区和目标分区的可用空间大小之和保持不变?
答案1
正如 POSIX 定义的那样,MV会将源文件复制到目标路径,如果没有问题,源文件将被删除:
以 source_file 为根的文件层次结构应复制为以目标路径为根的文件层次结构
应删除以 source_file 为根的文件层次结构。如果由于任何原因失败,mv 将向标准错误写入一条诊断消息,对当前的 source_file 不再执行任何操作,并继续处理任何剩余的 source_file。
如果在同一文件系统上移动,则只需将条目从文件系统中的一个位置移动到另一位置。
它保证如果移动过程中发生错误,您不会丢失源文件。
答案2
它是保守的,在复制成功之前不会删除文件。这使得出现问题时更容易恢复。