unzip:无法找到 zip 文件目录

unzip:无法找到 zip 文件目录

我使用右键单击然后压缩来压缩名为 m1 的文件夹并得到 m1.zip 文件夹,但是当我再次尝试提取它时,我得到了。

Archive:  m1.zip
  End-of-central-directory signature not found.  Either this file is not
  a zipfile, or it constitutes one disk of a multi-part archive.  In the
  latter case the central directory and zipfile comment will be found on
  the last disk(s) of this archive.
note:  m1.zip may be a plain executable, not an archive
unzip:  cannot find zipfile directory in one of m1.zip or
        m1.zip.zip, and cannot find m1.zip.ZIP, period.

答案1

问题正如所述。Unzip 无法找到指示存档结尾的代码行,因此:

  1. 档案已损坏。

  2. 它不是一个.zip 文件。

您可以尝试这个解决方案:-

jar xvf m1.zip

脚步:

  1. 将文件拖放到终端窗口。
  2. 使用键盘箭头导航到终端中的行首
  3. 在文件名前输入 jar xvf,记住在文件名开头前留出空格。
  4. 拿一杯啤酒,观看终端在提取文件时发挥它的魔力。

新文件所在的位置各不相同,但找到它们的最简单方法是单击 Finder 中的计算机名称,它会在所有文件的顶部显示最新的活动。

您可以参考这。

如果 jar 命令不可用,您可以通过在终端中粘贴以下内容来安装 fastjar:

sudo apt-get install fastjar

答案2

我以前遇到过类似的问题,并且找到了一种可能有用的解决方法。以下是我所做的:

首先,我怀疑该文件可能不是 ZIP 存档,而是一个错误地以 .zip 扩展名命名的 gzip 文件。我使用 gzip 命令解压该文件:

gzip m1.zip

此命令将文件转换为 gzip 压缩文件 (m1.zip.gz)。然后,我使用 tar 命令提取 gzip 压缩文件:

tar -xvzf m1.zip.gz #dont use unzip or gunzip as it return same zip file

此步骤成功提取了档案的内容。此外,在提取过程中,我注意到生成了一个 md5sum.txt 文件。该文件包含提取文件的 MD5 校验和。

md5sum extracted_file.gz #lynux
md5 extracted_file.gz #macos

我将此命令的输出与 md5sum.txt 中提供的校验和进行了匹配。如果它们匹配,则表明文件未损坏。此外,还可以使用 unzip 命令的 -t 选项测试原始 zip 文件的完整性:

unzip -t m1.zip

此命令测试 zip 文件的完整性。如果测试通过且没有错误,则表明文件未损坏。此方法帮助我成功地从可能已损坏的存档中提取文件。希望它也能帮到你!

相关内容