Esta seção explica o que são e como usar programas compactadores no
GNU/Linux, as características de cada um, como identificar um
arquivo compactado e como descompactar um arquivo compactado usando o programa
correspondente.
A utilização de arquivos compactados é método útil principalmente para reduzir o consumo de espaço em disco ou permitir grandes quantidades de texto serem transferidas para outro computador através de disquetes.
Compactadores são programas que diminuem o tamanho de um arquivo (ou arquivos) através da substituição de caracteres repetidos. Para entender melhor como eles funcionam, veja o próximo exemplo:
compactadores compactam e deixam arquivos compactados.
-- após a compactação da frase --
%dores %m e deixam arquivos %dos
O que aconteceu realmente foi que a palavra compacta se encontrava 3 vezes na frase acima, e foi substituída por um sinal de %. Para descompactar o processo seria o contrário: Ele substituiria % por compacta e nós temos a frase novamente restaurada.
Você deve ter notado que o tamanho da frase compactada caiu quase pela metade. A quantidade de compactação de um arquivo é chamada de taxa de compactação. Assim se o tamanho do arquivo for diminuído a metade após a compactação, dizemos que conseguiu uma taxa de compactação de 2:1 (lê-se dois para um), se o arquivo diminuiu 4 vezes, dizemos que conseguiu uma compactação de 4:1 (quatro para um) e assim por diante.
Para controle dos caracteres que são usados nas substituições, os programas de compactação mantém cabeçalhos com todas as substituições usadas durante a compactação. O tamanho do cabeçalho pode ser fixo ou definido pelo usuário, depende do programa usado na compactação.
Este é um exemplo bem simples para entender o que acontece durante a compactação, os programas de compactação executam instruções muito avançadas e códigos complexos para atingir um alta taxa de compactação.
Observações:
As extensões identificam o tipo de um arquivo e assim o programa o programa
necessário para trabalhar com aquele tipo de arquivo. Existem dezenas de
extensões que identificam arquivos compactados. Quando um arquivo (ou
arquivos) é compactado, uma extensão correspondente ao programa usado é
adicionada ao nome do arquivo (caso o arquivo seja compactado pelo
gzip receberá a extensão .gz, por exemplo). Ao
descompactar acontece o contrário: a extensão é retirada do arquivo. Abaixo
segue uma listagem de extensões mais usadas e os programas correspondentes:
.gz - Arquivo compactado pelo gzip. Use o programa
gzip para descompacta-lo (para detalhes veja gzip, Seção 18.3). .bz2 -
Arquivo compactado pelo bzip2. Use o programa bzip2
para descompacta-lo (para detalhes veja bzip2, Seção 18.7).
.Z - Arquivo compactado pelo programa compress. Use
o programa uncompress para descompacta-lo.
.zip - Arquivo compactado pelo programa zip. Use o
programa unzip para descompacta-lo.
.rar - Arquivo compactado pelo programa rar. Use o
programa rar para descompacta-lo.
.tar.gz - Arquivo compactado pelo programa gzip no
utilitário de arquivamento tar. Para descompacta-lo, você pode
usar o gzip e depois o tar ou somente o programa
tar usando a opção -z. Para detalhes veja gzip, Seção 18.3 e tar, Seção 18.6.
.tgz - Abreviação de .tar.gz.
.tar.bz2 - Arquivo compactado pelo programa bzip2 no
utilitário de arquivamento tar. Para descompacta-lo, você pode
usar o bzip2 e depois o tar ou somente o programa
tar usando a opção -j. Para detalhes veja bzip2, Seção 18.7 e tar, Seção 18.6.
.tar.Z - Arquivo compactado pelo programa compress no
utilitário de arquivamento tar. Para descompacta-lo, você pode
usar o uncompress e depois o tar ou somente o
programa tar usando a opção -Z. Para detalhes veja
tar, Seção 18.6.
É praticamente o compactador padrão do GNU/Linux, possui uma ótima
taxa de compactação e velocidade. A extensão dos arquivos compactados pelo
gzip é a .gz, na versão para DOS,
Windows NT é usada a extensão .z.
gzip [opções] [arquivos]
Onde:
gzip. Caso seja
usado um -, será assumido a entrada padrão. Curingas podem ser
usados para especificar vários arquivos de uma só vez (veja Curingas, Seção 2.3).
gzip.
gzip.
O uso da opção -[número] permite especificar uma compactação individualmente usando números entre 1 (menor compactação) e 9 (melhor compactação). É útil para buscar um bom equilibro entre taxa de compactação/velocidade (especialmente em computadores muito lentos).
Quando um arquivo é compactado pelo gzip, é automaticamente
acrescentada a extensão .gz ao seu nome.
O gzip também reconhece arquivos compactados pelos programas
zip, compress, compress -H e
pack. As permissões de acesso dos arquivos são também armazenadas
no arquivo compactado.
Exemplos:
texto.txt
usando a compactação máxima (compare o tamanho do arquivo compactado usando o
comando ls -la).
texto.txt
texto.txt para a tela
.txt
texto.txt.gz.
Utilitário de compactação compatível com pkzip (do
DOS) e trabalha com arquivos de extensão .zip.
Possui uma ótima taxa de compactação e velocidade no processamento dos arquivos
compactados (comparando-se ao gzip).
zip [opções] [arquivo-destino] [arquivos-origem]
Onde:
.zip através de senha.
A senha será pedida no momento da compactação.
.zip somente se a versão é mais nova que a atual. Não acrescenta
arquivos ao arquivo compactado. Deve ser executado no mesmo diretório onde o
programa zip foi executado anteriormente.
.zip danificado.
.zip. Caso sejam detectados
problemas, utilize a opção -F para corrigi-los.
.zip. Por padrão, os links
simbólicos são ignorados durante a compactação.
pkzip do
DOS.
UNIX (LF) para o formato CR+LF (usados
pelo DOS). Use esta opção com arquivos Texto.
DOS (CR+LF) para o formato
UNIX (LF). Use esta opção com arquivos texto.
.zip, muito útil para uso com arquivos já
compactados.
Caso sejam especificados diversas extensões de arquivos, elas devem ser separadas por : - Por exemplo, zip -n .zip:.tgz arquivo.zip *.txt.
.zip
.zip.
Caso o nome de arquivo de destino não termine com .zip, esta
extensão será automaticamente adicionada. Para a descompactação de arquivos
.zip no GNU/Linux, é necessário o uso do utilitário
unzip. Exemplos:
.txt para o arquivo textos.zip (compare o tamanho do
arquivo compactado digitando ls -la).
.txt do diretório /usr e sub-diretórios para
o arquivo textos.zip.
textos.zip.
textos.zip
contém erros.
Descompacta arquivos .zip criados com o programa zip.
Este programa também é compatível com arquivos compactados pelo
pkzip do DOS.
unzip [opções] [arquivo.zip] [arquivos-extrair] [-d diretório]
Onde:
.zip. Caso não seja especificado, é assumido *
(todos os arquivos serão descompactados).
Se for usado -x arquivos, os arquivos especificados não serão descompactados. O uso de curingas é permitido.
.zip.
more).
.zip usando a [SENHA]. CUIDADO!
qualquer usuário conectado em seu sistema pode ver a senha digitada na linha de
comando digitada.
.zip em busca de erros.
unzip.
Por padrão o unzip também descompacta sub-diretórios caso o
arquivo .zip tenha sido gerado com zip -r.
Exemplos:
texto.zip no diretório atual.
carta.txt do arquivo texto.zip.
texto.zip para o diretório /tmp/texto.
texto.zip.
texto.zip.
Na verdade o tar não é um compactador e sim um
"arquivador" (ele junta vários arquivos em um só), mas pode ser usado
em conjunto com um compactar (como o gzip ou zip)
para armazena-los compactados. O tar também é muito usado para
cópias de arquivos especiais ou dispositivos do sistema. É comum encontrar
arquivos com a extensão .tar, .tar.gz,
.tgz, .tar.bz2, .tar.Z,
.tgZ, o primeiro é um arquivo normal gerado pelo tar
e todos os outros são arquivos gerados através tar junto com um
programa de compactação (gzip (.gz),
bzip2 (.bz2) e compress
(.Z).
tar [opções] [arquivo-destino] [arquivos-origem]
Onde:
.tar caso seja usado somente o arquivamento ou
.tar.gz/.tgz caso seja usada a compactação (usando a
opção -z).
.tar
.tar
.tar
/dev/rmt0.
bzip2 para processar os arquivos do
tar
tar foi executado.
tar.
tar em cada
mensagem.
tar.
tar após grava-lo.
tar
.tar.
compress durante o processamento dos arquivos.
gzip durante o processamento dos arquivos.
A extensão precisa ser especificada no arquivo de destino para a identificação correta:
tar precisam ter a extensão
.tar
.tar.bz2
.tar.gz ou .tgz
.tar.Z ou .tgZ
É importante saber qual qual o tipo de compactador usado durante a geração do
arquivo .tar pois será necessário especificar a opção apropriada
para descompacta-lo (para detalhes veja Extensões de arquivos compactados, Seção
18.2).
Exemplos:
index.txt.tar que armazenará o arquivo index.txt.
Você pode notar digitando ls -la que o arquivo
index.txt foi somente arquivado (sem compactação), isto é útil
para juntar diversos arquivos em um só.
index.txt criado pelo comando acima.
gzip). Você agora pode notar
digitando ls -la que o arquivo index.txt foi
compactado e depois arquivado no arquivo index.txt.tar.gz (você
também pode chama-lo de index.txt.tgz que também identifica um
arquivo .tar compactado pelo gzip)
index.txt.tar.gz criado com o comando acima.
index.txt.tar.gz e envia a saída do arquivo descompactado para o
tar que desarquivará o arquivo index.txt.
index.txt em index.txt.tar.bz2 compactando através do
bzip2 (opção -j).
index.txt.tar.bz2 criado com o comando acima.
index.txt.tar.bz2 e envia a saída do arquivo descompactado para o
tar que desarquivará o arquivo index.txt.
.tar.
.tar.gz.
É um novo compactador que vem sendo cada vez mais usado porque consegue atingir
a melhor compactação em arquivos texto se comparado aos já existentes (em
consequencia sua velocidade de compactação também é menor; quase duas vezes
mais lento que o gzip). Suas opções são praticamente as mesmas
usadas no gzip e você também pode usa-lo da mesma forma. A
extensão dos arquivos compactados pelo bzip2 é a .bz2
bzip2 [opções] [arquivos]
Onde:
bzip2. Caso seja
usado um -, será assumido a entrada padrão. Curingas podem ser
usados para especificar vários arquivos de uma só vez (veja Curingas, Seção 2.3).
bzip2.
bzip2.
O uso da opção -[número] permite especificar uma compactação individualmente usando números entre 1 (menor compactação) e 9 (melhor compactação). É útil para buscar um bom equilibro entre taxa de compactação/velocidade (especialmente em computadores muito lentos).
Quando um arquivo é compactado pelo bzip2, é automaticamente
acrescentada a extensão .bz2 ao seu nome. As permissões de acesso
dos arquivos são também armazenadas no arquivo compactado.
Exemplos:
texto.txt
usando a compactação máxima (compare o tamanho do arquivo compactado usando o
comando ls -la).
texto.txt
texto.txt para a saída padrão (tela)
.txt
texto.txt.bz2.
rar é um compactador desenvolvido por Eugene Roshal e
possui versões para GNU/Linux, DOS,
Windows, OS/2 e Macintosh. Trabalha com
arquivos de extensão .rar e permite armazenar arquivos compactados
em vários disquetes (múltiplos volumes). Se trata de um produto comercial, mas
decidi coloca-lo aqui porque possui boas versões Shareware e pode ser muito
útil em algumas situações.
rar [ações] [opções] [arquivo-destino.rar] [arquivos-origem]
Onde:
.rar danificado
.rar normal em arquivo auto-extractil.
Arquivos auto-extracteis são úteis para enviar arquivos a pessoas que não tem o
programa rar. Basta executar o arquivo e ele será automaticamente
descompactado (usando o sistema operacional que foi criado). Note que esta
opção requer que o arquivo default.sfx esteja presente no
diretório home do usuário. Use o comando find para localiza-lo em
seu sistema.
rar. Basta executar o
arquivo e ele será automaticamente descompactado. Note que este processo
requer que o arquivo default.sfx esteja presente no diretório home
do usuário. Use o comando find para localiza-lo em seu sistema.
Exemplo: rar a -v1440k ... ou rar a -v10m ...
Os arquivos gerados pelo rar do GNU/Linux podem ser
usados em outros sistemas operacionais, basta ter o rar instalado.
Quando é usada a opção -v para a criação de múltiplos volumes, a
numeração dos arquivos é feita na forma: arquivo.rar,
arquivo.r00, arquivo.r01, etc, durante a
descompactação os arquivos serão pedidos em ordem. Se você receber a mensagem
cannot modify volume durante a criação de um arquivo
.rar, provavelmente o arquivo já existe. Apague o arquivo
existente e tente novamente.
Exemplos:
texto.txt em um arquivo com o nome texto.rar
texto.rar
textos.rar. Note que o tamanho máximo de cada arquivo é 1440 para
ser possível grava-lo em partes para disquetes.
rar fizer.
textos.rar
possui erros.
.rar danificado.
Guia Foca GNU/Linux
Versão 5.12 - quarta, 13 de março de 2002gleydson@cipsga.org.br