Linux Mint 12 - como abrir um arquivo .zip no terminal


3

A pergunta acima cobre isso - eu sinto muito, eu vejo as respostas o tempo todo, mas, embora muito explícito, eu simplesmente não posso aplicá-las no meu terminal.

Eu tenho uma pasta zipada, não consigo abrir no arquivo: recebo o seguinte erro:

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)

Eu estava lendo que esse tipo de erro poderia ser corrigido no terminal. Isso é verdade? se assim for posso ter direcções? Eu nunca consegui abrir um zip. Eu não acredito que sou estúpida, mas isso simplesmente me ilude.

Qualquer ajuda seria muito apreciada.


Este .tar.gzé um arquivo ou é '.zip'? Parece ser, zipmas sua pergunta diz .tar.gz.
Kevin Panko

Você já tentou gunzip?
ScottAndrewRogers

Existe alguma saída útil se você entrar unzip -t Music.zip?
tohuwawohu


1
Na verdade, o que ajudaria seria a saída da file Music.zipquestão colocada pelo questionador original.
JdeBP

Respostas:


5

Primeiro, o arquivo que você listou em sua postagem não é um arquivo .tar.gz. Parece ser um arquivo ZIP. O arquivo ZIP também parece estar corrompido ou incompleto de alguma forma.

Mas, para responder à sua pergunta, se você tivesse um arquivo .tar.gz (digamos que você tivesse music.tar.gz no seu diretório pessoal), você extrairia o conteúdo assim (isso pressupõe que você está no mesmo diretório que o arquivo .tar.gz). arquivo .tar.gz)

tar -xzvf music.tar.gz

Isso extrairia o arquivo .tar.gz no diretório atual (seu diretório inicial)

-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.

Algumas perguntas para você. Você criou este arquivo zip em um sistema Linux ou no Windows? Eu vi acontecer que se você criar o arquivo usando WinZIP, por algum motivo estranho o arquivo aparecerá como incompleto quando você tenta extraí-lo no Linux ou Mac OS X. Se você criou o arquivo ZIP no Windows usando o WinZIP, tente para abri-lo no Windows com o WinZIP e ver se você pode pelo menos ver uma lista de arquivos contidos no arquivo. Se você puder, extraia os arquivos no Windows e use uma ferramenta de arquivo real como o 7 Zip ou o WinRAR para recriar o arquivo novamente.

Outra opção seria usar o comando unzip no Linux na linha de comando. A sintaxe seria

unzip music.zip

que extrairá o arquivo na pasta atual.


4

Esta questão cobre a reparação de um arquivo zip corrompido - ferramenta de terminal (linux) para reparar arquivos zip corrompidos

Expandindo um pouco as respostas lá, você gostaria de fazer algo como:

zip -F /home/elansa/Music/Music.zip --out Music_fixed.zip
unzip Music_fixed.zip

Se isso não funcionar tente:

zip -FF /home/elansa/Music/Music.zip --out Music_fixed.zip
unzip Music_fixed.zip

De acordo com o manual do zip, é melhor tentar com apenas -F primeiro:

O single -F é mais confiável se o arquivo não está muito danificado, então tente esta opção primeiro.

Como parece que você é iniciante na linha de comando e não tenho certeza se o programa zip vem instalado por padrão no Linux Mint, aqui está um comando para instalá-lo:

sudo apt-get install zip

Espero que isto ajude.


zip -FFtrabalhei no meu caso (descompactando um arquivo zipado do windows no os x). Obrigado.
polym

3

Eu tive esse mesmo problema com um arquivo ZIP muito grande criado no Windows. A execução da ferramenta zip causou o mesmo erro que outros descreveram (isso está no OS X executando o Zip 3.0):

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)

A solução no meu caso foi usar o pacote p7zip ( http://p7zip.sourceforge.net/ ou usar seu gerenciador de pacotes favorito). Isso funcionou perfeitamente:

bash-3.2$ 7z l Users.zip
<tons of successful output>

Alguém mais descreveu este cenário exato aqui: http://www.linuxquestions.org/questions/linux-software-2/unzip-error-in-linux-error-zip-file-too-big-939528/ .


0

Talvez seja fora do tópico, embora no topo da resposta do Graeme, usando -FFzftrabalhou no meu caso. Eu estava tentando descompactar um arquivo 6.6G que provavelmente foi compactado no 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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.