Se você precisa lidar com arquivos compactados e não quer depender demais das ferramentas gráficas ou possui acesso apenas à linha de comando, veja como compactar e descompactar arquivos no Linux via Terminal.
Compactar e descompactar arquivos no Linux não é mais um bicho de sete cabeças. Já existem diversas opções de aplicativos gráficos para essa tarefa e os principais ambientes desktop, já oferecem opções nativas de compactação/descompactação.
Apesar disso, é importante conhecer o processo a fundo para não depender demais das ferramentas gráficas, e quando for necessário, usar o terminal para compactar e descompactar arquivos no Linux.
Embora a compactação e a descompactação sejam uma coisa relativamente simples, neste artigo, você verá como compactar e descompactar arquivos da sua distribuição Linux favorita, usando comandos no terminal.
Esse é um artigo destinado a iniciantes, e por isso, mostrará apenas como a compressão e a descompressão são feitas, sem empacotá-las com a maravilhosa ferramenta tar.
Como compactar e descompactar arquivos no Linux via Terminal
Para compressão e descompressão, vamos usar dois pacotes fundamentais, já que eles são provavelmente os formatos mais exigidos e com os quais nos deparamos mais frequentemente quando estamos trabalhando em sistemas semelhantes ao Unix. Estou me referindo ao gzip e bzip2.
Como descompactar e compactar arquivos no Linux via Terminal usando o Gzip
Para compactar com gzip, o formato que vamos usar é o Lempel-Zi (LZ77), e não o ZIP como tal, porque o nome pode causar confusão. O nome gzip vem do GNU ZIP, e foi criado para ser um substituto para o formato ZIP, mas não é o mesmo. É preciso deixar isso bem claro.
Ciente disso, para compactar um arquivo, use o gzip assim:
gzip document.txt
Isso gera um arquivo com o mesmo nome do original, só que com a extensão .gz.
O resultado do exemplo anterior seria um arquivo com o nome document.txt.gz.
Caso você queira modificar o nome de saída para um nome específico, use assim:
gzip -c document.txt> new_name.gz
Para descomprimir um arquivo que já está comprimido, é igualmente simples, embora possamos usar dois comandos diferentes com o mesmo efeito:
gzip -d document.gz
gunzip documento.gz
E coo resultado de qualquer um dos dois comandos, você irá obter o arquivo descompactado sem extensão .gz.
Como compactar e descompactar arquivos no Linux via Terminal usando o bzip2
Quanto ao bzip2, ele é semelhante ao programa anterior, mas com um algoritmo de compressão diferente chamado codificação Burrows-Wheeler and Huffman. A extensão que temos neste caso é .bz2.
Para poder compactar um arquivo nesse formato, basta usar:
bzip2 document.txt
Com isso você obtém um document.txt.bz2 compactado. Também é possível mudar o nome da saída com a opção -c:
bzip2 -c document.txt> name.bz2
Para descompressão, use a opção -d:
bzip2 -d documento.bz2
Ou a ferramenta bunzip2:
bunzip2 documento.bz2
Complementando
Como os comandos citados acima não cobrem todas as tarefas de descompactação, confira abaixo os comandos mais comuns:
Para descompactar um arquivo zip na pasta atual, use:
unzip arquivo.zip
Para descompactar um arquivo zip em outra pasta, use:
unzip arquivo.zip -d /pasta/
Para descompactar uma pasta que está dentro do arquivo zip na pasta atual, use:
unzip arquivo.zip linux64/*
Para descompactar uma pasta que está dentro do arquivo zip em outra pasta, use:
unzip arquivo.zip linux64/* -d /pasta/
Para descompactar um arquivo tar.bz2 na pasta atual, use:
tar -xjvf arquivo.tar.bz2
Para descompactar um arquivo tar.bz2 em outra pasta, use:
tar -xjvf arquivo.tar.bz2 -C /pasta/
Para descompactar um arquivo tar.xz na pasta atual, use:
tar xvf arquivo.tar.xz
Para descompactar um arquivo tar.xz em outra pasta, use:
tar xvf arquivo.tar.xz -C /pasta/
Para descompactar um arquivo tar.gz na pasta atual, use:
tar -vzxf arquivo.tar.gz
Para descompactar um arquivo tar.gz em outra pasta, use:
tar -vzxf arquivo.tar.gz -C /pasta/
Conheça melhor os programas usados nesse artigo
Para saber mais sobre o Gzip, use o comando man gzip
no terminal.
Para saber mais sobre o Bzip2, use o comando man bzip2
no terminal.