Introdução
Os iniciantes no
Linux podem ficar um pouco confusos devido a grande variedade de extensões existentes dos arquivos compactados. Essa confusão pode surgir principalmente quando alguém baixa um arquivo e não sabe que comando usar para extraí-lo.
Vou me esforçar para esclarecer um pouco esse assunto com o objetivo de fornecer alguma ajuda para quem está começando a experimentar o Linux.
Pode parecer um pouco complicado no início, mas esse artigo resume bem praticamente tudo o que você precisa saber sobre compactação de arquivos no Linux. Se ler o artigo com atenção, não importa que formato você encontre, você saberá o que fazer sem precisar ficar buscando ajuda.
Caso não saiba o que é compressão (ou compactação) de arquivos, aí vai uma explicação rápida:
Compressão significa reunir um ou mais arquivos, usando algum programa que irá eliminar as redundâncias de dados desses arquivos, fazendo com que eles ocupem menos espaço. Ao invés de ter vários arquivos, você pode ter um só arquivo comprimido que inclui muitos. Um arquivo comprimido possui extensões que o identificam, por exemplo: .gz e .zip.
TAR - Armazenando vários em um
TAR (Tape ARchive) é um formato muito usado para armazenar vários arquivos em um. Esse processo é chamado de arquivamento.
Para armazenar vários arquivos em um, use um comando, por exemplo:
$ tar -cf nomedoarquivo.tar arquivo1 arquivo2 arquivo3
Este comando combina arquivo1, arquivo2 e arquivo3 e armazena-os em nomedoarquivo.tar. O parâmetro -c indica que queremos criar um arquivo e o parâmetro -f indica que estamos manipulando arquivos.
E para extrair esses arquivos?
Use o comando:
$ tar -xf nomedoarquivo.tar
Para extrair todos os arquivos de nomedoarquivo.tar no diretório atual.
Caso ache difícil lembrar os parâmetros, aqui vai algumas dicas:
- -c lembra criar
- -f lembra "Files" (arquivos em inglês)
- -x lembra eXtrair
Compactação de arquivos
No Linux, bz e gz são formatos comuns de compressão. Normalmente você usa o utilitário bzip2 para criar arquivos bz e o gzip para criar arquivos gz. O bzip é capaz de comprimir mais que o gzip, porém consome mais memória no processo.
Para comprimir um arquivo usando o gzip, use o comando:
$ gzip nomedoarquivo
O resultado é um arquivo chamado nomedoarquivo.gz. Por exemplo, o comando:
$ gzip imagem.jpg
Irá criar o arquivo comprimido imagem.jpg.gz.
Porém, uma observação: ele não irá apenas criar o arquivo gz, mas também irá substituir o arquivo original pelo arquivo comprimido.
Para descompactar o arquivo, use o comando:
$ gunzip nomedoarquivo.gz
Ou então o comando:
$ gzip -d nomedoarquivo.gz
Comprimir com o bzip2 é semelhante ao gzip. Basta usar o comando:
$ bzip2 nomedoarquivo
Assim como o gzip, o bzip2 também substitui o arquivo original pelo arquivo comprimido.
Para descompactar um arquivo bz, você pode usar o comando:
$ bzip2 -d nomedoarquivo.bz2
Ou então:
$ bunzip2 nomedoarquivo.bz2
Como o processo de utilização do gzip e do bzip2 são semelhantes, fica fácil aprender os dois. Basta praticar com algum arquivo, duas ou três vezes para pegar o jeito.
Você também pode usar o utilitário zip para compactar arquivos. O que pode ser bem útil se você quiser compartilhar arquivos com pessoas que não usam Linux. Para compactar arquivos com o zip, use um comando:
$ zip arquivos.zip arquivo1 arquivo2 arquivo3
Esse comando irá não só comprimir os arquivos (arquivo1, arquivo2 e arquivo3), mas irá armazená-los num arquivo chamado arquivos.zip. Ou seja, além de comprimir, ele arquiva.
Para extrair arquivos zip, use o comando:
$ unzip arquivos.zip
Compactando arquivos tar
Lembre-se que o TAR não comprime, ele apenas arquiva. Já o ZIP comprime e também arquiva.
Isso quer dizer que depois que você criar um arquivo tar, seu tamanho é o mesmo que o tamanho da soma dos arquivos originais.
Para reduzir o tamanho de um arquivo tar, você precisa compactá-lo com gzip ou bzip2:
Exemplo:
$ tar arquivos.tar arquivo1 arquivo2 arquivo3
$ gzip arquivos.tar
O primeiro comando irá arquivar os arquivos (arquivo1, arquivo2 e arquivo3) em um arquivo chamado arquivos.tar.
O segundo comando irá comprimir o arquivo.tar e o substituirá por arquivos.tar.gz. Você também pode usar o bzip para compactar arquivos tar.
Como se extrai arquivos a partir de um arquivo tar compactado? Use o comando:
$ tar -zxvf arquivos.tar.gz
Para extrair todos os arquivos gzip a partir de um arquivo tar compactado. O parâmetro -z informa que o arquivo tar foi comprimido usando o gzip.
E se o arquivo tar foi comprimido com bzip? Nesse caso o comando é outro, na verdade o que muda em relação ao comando anterior é uma letra: ao invés de usar -z use -j, por exemplo, para descompactar um arquivo tar que foi comprimido com o bzip:
$ tar -jxvf arquivos.bz2
Você pode ainda encontrar arquivos tar compactados com tgz e tbz2. Estes formatos na verdade são os mesmos de tar.gz e tar.bz2, respectivamente.
Bem, é isso.
Caso perceba algum erro, por favor, me corrija. Também aceito críticas construtivas e informações complementares.
Obrigado pela atenção.
=)