将八位字节流转换为 zip 文件

将八位字节流转换为 zip 文件

在此输入图像描述我尝试压缩包含 50 GB 数据的备份文件夹。结果是一个八位字节流(总共 50 GB)而不是 zip 文件。

在我意识到这个问题之前,我已经删除了源数据。

有没有办法来解决这个问题?即创建这些数据的 zip 文件?或者从八位字节流中提取数据?

答案1

我看到@RomeoNinov 的回复,该文件是在文件管理器 GUI 中的某个版本(哪个?)的 Windows 中创建的。是否可以将存档传输回 Windows 并检查其中的内容?

.zip 是如何出现在 Linux 系统上的?例如,像 FTP 这样的东西需要配置为以二进制模式(而不是 ascii 模式)传输,以避免转换看起来像换行符的字节。

Linuxzip仅声称它适用于在 MSDOS、OS/2、Windows 9x/NT/XP 中创建的 .zip 文件。那里没有提到 Win 7、10 或 11。您可以尝试7z代替unzip,因为它可以处理更新的 Windows 格式。

我看到你在 工作/tmp。您可能会显示 的结果df -h /tmp。机器之间的任何文件传输都可能因空间不足而失败,而 50GB 对于 /tmp 来说似乎很慷慨,因此文件可能确实不完整,如错误消息所示。另外,/tmp 往往会在重新启动时被清除,因此很容易丢失 backup.zip 文件本身。

由于数据所经历的一系列操作,可能无法恢复该数据。

相关内容