![Linux Mint 12-如何在终端中打开 .zip 文件](https://linux22.com/image/1392943/Linux%20Mint%2012-%E5%A6%82%E4%BD%95%E5%9C%A8%E7%BB%88%E7%AB%AF%E4%B8%AD%E6%89%93%E5%BC%80%20.zip%20%E6%96%87%E4%BB%B6.png)
上面的问题差不多涵盖了这一点 - 我很抱歉,我一直都看到答案,但是,尽管非常明确,我却无法将它们应用到我的终端上。
我有一个压缩文件夹,我无法在存档中打开它:我收到以下错误:
Archive: /home/elansa/Music/Music.zip
Zip file size: 2011856896 bytes, number of entries: 4693
warning [/home/elansa/Music/Music.zip]: end-of-central-directory record claims this
is disk 176 but that the central directory starts on disk 20153; this is a
contradiction. Attempting to process anyway.
error [/home/elansa/Music/Music.zip]: missing 3025939027 bytes in zipfile
(attempting to process anyway)
error [/home/elansa/Music/Music.zip]: start of central directory not found;
zipfile corrupt.
(please check that you have transferred or created the zipfile in the
appropriate BINARY mode and that you have compiled UnZip properly)
我读到过这种错误可以在终端中纠正。这是真的吗?如果是的话,可以给我一些指导吗?我从来没能打开 zip。我不相信我很笨,但这让我很困惑。
任何帮助将不胜感激。
答案1
首先,您在帖子中列出的文件不是 .tar.gz 文件。它似乎是一个 ZIP 文件。ZIP 文件似乎也已损坏或不完整。
但要回答你的问题,如果你确实有一个 .tar.gz 文件,(假设你的主目录中有 music.tar.gz)你可以像这样提取内容(假设你与 .tar.gz 文件位于同一目录中)
tar -xzvf music.tar.gz
这将在当前目录(您的主目录)中提取 .tar.gz 档案
-z : Uncompress the resulting archive with gzip command.
-x : Extract to disk from the archive.
-v : Produce verbose output i.e. show progress and file names while extracting files.
-f music.tar.gz : Read the archive from the specified file called music.tar.gz.
有几个问题要问您。您是在 Linux 系统还是 Windows 中创建此 zip 文件?我曾见过这种情况:如果您使用 WinZIP 创建文件,由于某种奇怪原因,当您尝试在 Linux 或 Mac OS X 上提取它时,存档会显示为不完整。如果您在 Windows 中使用 WinZIP 创建了 ZIP 文件,请尝试在 Windows 中使用 WinZIP 打开它,看看您是否至少可以看到存档中包含的文件列表。如果可以,请在 Windows 上提取文件并使用真正的存档工具(如 7 Zip 或 WinRAR)重新创建存档。
另一个选择是在 Linux 命令行中使用 unzip 命令。语法如下
unzip music.zip
这会将档案提取到当前文件夹中。
答案2
本问题涉及修复损坏的 zip 文件 -用于修复损坏的 zip 文件的终端工具(linux)
稍微扩展一下那里的答案,你可能想做类似的事情:
zip -F /home/elansa/Music/Music.zip --out Music_fixed.zip
unzip Music_fixed.zip
如果这不起作用请尝试:
zip -FF /home/elansa/Music/Music.zip --out Music_fixed.zip
unzip Music_fixed.zip
根据 zip 手册,最好先尝试使用 -F:
如果档案损坏程度不太大,则单个 -F 更可靠,因此请首先尝试此选项。
因为看起来您是命令行的初学者,而且我不确定 zip 程序是否默认安装在 Linux Mint 上,所以这里有一个安装它的命令:
sudo apt-get install zip
希望这可以帮助。
答案3
我在 Windows 中创建非常大的 ZIP 文件时遇到了同样的问题。运行 zip 工具导致了其他人描述的相同错误(这是在运行 Zip 3.0 的 OS X 上):
bash-3.2$ unzip -l Users.zip
Archive: Users.zip
warning [Users.zip]: 126463302015 extra bytes at beginning or within zipfile
(attempting to process anyway)
error [Users.zip]: start of central directory not found;
zipfile corrupt.
(please check that you have transferred or created the zipfile in the
appropriate BINARY mode and that you have compiled UnZip properly)
对我来说,解决方案是改用 p7zip 包(http://p7zip.sourceforge.net/或者使用你最喜欢的包管理器)。这完美地工作:
bash-3.2$ 7z l Users.zip
<tons of successful output>
其他人在这里描述了这个确切的情况:http://www.linuxquestions.org/questions/linux-software-2/unzip-error-in-linux-error-zip-file-too-big-939528/。
答案4
也许这有点题外,不过除了 Graeme 的回答之外,-FFzf
在我的情况下使用 是有效的。我试图解压一个 6.6G 的文件,该文件可能在 Windows 上被压缩了。
$ zip -v
...
This is Zip 3.0 (July 5th 2008), by Info-ZIP.
...
ZIP64_SUPPORT
$ unzip a.zip
... start of central directory not found; zipfile corrupt.
$ zip -FF a.zip --out a_fixed.zip
...
zip error: Entry too big to split, read, or write (Poor compression resulted in unexpectedly large entry - try -fz)
$ zip -FFfz a.zip --out a_fixed.zip
$ unzip a.zip