Você pode usar o comando file para determinar o tipo de compactação usada para um determinado arquivo.
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, 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 as opções tar zxvf .
$ file file.tar.bz2
file.tar.bz2: bzip2 compressed data, block size = 900k
Para descompactar este arquivo, use tar . Use as opções tar jxvf .
$ arquivo afile.gz afile.gz: dados compactados gzip, foi "afile", do Unix, modificado pela última vez: Sun Oct 13 01:10:19 2013
Para descompactar este arquivo, use gunzip .
Extensões
gunzip é uma das ferramentas que se importam com o nome dos arquivos. Os arquivos precisam ter uma das seguintes extensões para que gunzip possa descompactá-lo.
-
.gz,-gz,.z,-zou_z(ignorando o caso)
Se você tiver um arquivo que foi compactado usando 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 a opção -S e informar o sufixo (extensão) se for algo diferente dos listados acima.
$ gunzip -S _gz afile_not_named_gz
$
Perceba que o que quer que você use uma extensão é removido por gunzip embora:
$ ls -l | grep afile_not_named
-rw-rw-r-- 1 saml saml 0 Oct 13 08:04 afile_not_named