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.
gleydson@escelsanet.com.br