
Então tenho que descompactar 4 arquivos diferentes. Quando eu faço
file file1
file file2
file file3
file file4
por exemplo, mensagens diferentes são exibidas. Por exemplo, um começa como "gzip compressed data, …
, outro começa como RAR archive data, v1d, os: Unix…
, outro começa comocompress'd data 16 bits…
Não tenho certeza de como diferenciar os diferentes comandos de descompactação. Qual eu usaria para cada um?
Para quem perguntou, os nomes dos arquivos são, na verdade file1
, file2
, etc. Eles não têm nenhuma extensão visível.
Responder1
Você pode usar o comando file
para determinar o tipo de compactação usada para um arquivo específico.
Exemplos
$ file file.zip
file.zip: Zip archive data, at least v1.0 to extract
Para descompactar este arquivo, use unzip
.
$ file file.rar
file.rar: RAR archive data, v1d, os: Win32
Para descompactar este arquivo, use unrar
.
$ file file.7z
file.7z: 7-zip archive data, version 0.3
Para descompactar este arquivo, o usuário 7z
.
$ file file.tgz
file.tgz: gzip compressed data, from Unix, last modified: Sun Oct 13 01:14:43 2013
Para descompactar este arquivo, use tar
. Use os interruptores tar zxvf
.
$ file file.tar.bz2
file.tar.bz2: bzip2 compressed data, block size = 900k
Para descompactar este arquivo, use tar
. Use os interruptores tar jxvf
.
$ file afile.gz
afile.gz: gzip compressed data, was "afile", from Unix, last modified: Sun Oct 13 01:10:19 2013
Para descompactar este arquivo, use gunzip
.
Extensões
gunzip
é uma das ferramentas que se importa com o nome dos arquivos. Os arquivos precisam ter uma das seguintes extensões para que gunzip
possam descompactá-los.
.gz
,-gz
,.z
,-z
, ou_z
(ignorando maiúsculas e minúsculas)
Se você tiver um arquivo que foi compactado gzip
e tentar descompactá-lo, você encontrará esta mensagem:
$ file afile_not_named_gz
afile_not_named_gz: gzip compressed data, was "afile", from Unix, last modified: Sun Oct 13 01:10:19 2013
$ gunzip afile_not_named_gz
gzip: afile_not_named_gz: unknown suffix -- ignored
A maneira mais fácil de corrigir isso é renomear o arquivo para que ele tenha uma extensão:
$ mv afile_not_named_gz afile_not_named_gz.gz
$ gunzip afile_not_named_gz.gz
$ ls |grep afile_not_named_gz
afile_not_named_gz
Você também pode pacificar gunzip
usando o -S
switch e informar o sufixo (extensão) se for algo diferente dos listados acima.
$ gunzip -S _gz afile_not_named_gz
$
Perceba que tudo o que você usa como extensão é eliminado gunzip
:
$ ls -l | grep afile_not_named
-rw-rw-r-- 1 saml saml 0 Oct 13 08:04 afile_not_named
Responder2
No *nix, existem vários formatos de compactação diferentes e muitos comandos diferentes para descompactá-los.
tar -xvf filename
Geralmente funciona na maioria dos casos. Para outros formatos, use unzip
, unrar
, etc...
Veja também:man tar