如何解压缩我不小心保存为foldername.gz而不是foldername.tar.gz的文件文件夹

如何解压缩我不小心保存为foldername.gz而不是foldername.tar.gz的文件文件夹

我不知道我是怎么做到的。我必须擦除我的专用服务器并重新启动,所以我首先将所有内容备份到远程 VPS;在此过程中,我将一个充满其他文件夹的文件夹压缩为foldername.gz,而不是使用tar,因此当我现在提取它时,它会提取为单个文件,而不是一个充满文件夹的文件夹。我尝试重命名为foldername.tar.gz,但提取时给出:

tar: This does not look like a tar archive
tar: Skipping to next header
tar: Exiting with failure status due to previous errors

当我使用它时file foldername.gz,它给了我:

foldername.gz: gzip compressed data, was "2a863233-fac4-4611-8bbd-76416e58e5d4.dat", last modified: Thu Dec 9 10:36:04 2021, from Unix, original size modulo 2^32 2629632

编辑,这给出file -z foldername.gz了: foldername.gz: gzip compressed data, from FAT filesystem (MS-DOS, OS/2, NT) (gzip compressed data, was "2a863233-fac4-4611-8bbd-76416e58e5d4.dat", last modified: Thu Dec 9 10:36:04 2021, from Unix)

答案1

我猜想不幸的是您没有文件的存档(压缩或其他方式)。

那么你有什么?看起来您有文件夹中所有文件的串联,每个文件都单独压缩:

gzip -c * > all_files.gz    # DO NOT DO THIS

如果您要解压缩它,您将相当于执行此操作:

cat * > all_files           # OR THIS

不是很有帮助,因为文件之间没有存档标记。对于文本文件,您可以仔细检查生成的all_files文件并将相关部分作为文件删除。但由于没有为每个文件记录文件名或其他元数据,因此会很麻烦。特别是当你谈论一个多吉字节的文件时。

事后看来,您应该做的是这样的,它将归档文件集合,压缩它,并将结果写入 tarball:

tar czf all_files.tgz *

在您当前的情况下,没有简单的解决方案来恢复文件,甚至可能根本没有解决方案。

我建议尝试一些取消删除工具(宾沃克,测试盘,摄影等)看看他们是否有可能有帮助的选择。否则,可能会尝试file每个字节偏移量以查看它是否为您标识了项目。然后,您可以使用成功的偏移将数据拆分到组成文件中。但同样,您不会有文件名或其他元数据,因为它们从未与原始数据一起保存。

祝你好运

相关内容