Linux中如何在删除源文件的同时合并文件

Linux中如何在删除源文件的同时合并文件

我有 2 个大文件(每个文件约 27 GB),需要合并。它们原本是一个完整的 ZIP 文件,但我把它分开了。 cat 命令的问题是它创建了一个包含源文件内容的新文件,我不想这样做(因为我没有那么多的磁盘空间)。

有没有替代 cat 的方法,支持合并文件同时删除源文件?

答案1

(的总结讨论

保存当前目录的分区中还剩下 28.3 GB,存档的第二部分是 27.8 GB。这意味着您应该能够将存档的第二部分附加到存档的第一部分。

假设这两部分称为part1part2

cat part2 >>part1

此后,part1将是完整的存档文件(并且part2可以删除)。

唯一的问题是,Unix 文件系统上通常有一个普通用户无法填充的保留缓冲区空间(通常是总分区大小的百分之几)。由于这里的尺寸限制非常严格,我不完全确定您是否在这些尺寸限制之内。

解决办法是要么以 root 用户身份运行(在填充保留空间方面不受限制),要么简单地清除一些不需要的大文件。

要以 root 身份运行,请启动 root shell 并按上述方式sudo -s运行cat,或者执行

sudo tee -a part1 <part2 >/dev/null

相关内容