No próximo artigo, veremos como compactar e descompactar arquivos usando gzip e bzip2. A compactação é muito útil ao fazer backup de arquivos importantes ou enviar arquivos grandes pela Internet. Hoje existem muitos programas para compactar e descompactar arquivos no GNU / Linux.
Um colega já nos falou sobre alguns desses programas como raro y zip neste mesmo blog. Neste tutorial, vamos dar uma olhada em apenas dois deles, como gzip e bzip2. Como disse, vamos ver como usá-los para comprimir e descomprimir arquivos com alguns exemplos no Ubuntu.
Compactar e descompactar arquivos usando gzip e bzip2
O programa gzip
Gzip é um utilitário para compactar e descompactar arquivos usando o Algoritmo de codificação Lempel-Ziv (LZ77).
-
Compactar arquivos
Para compactar um arquivo chamado ubunlog.TXT, substituindo-o por uma versão compactada, vamos executar no terminal (Ctrl + Alt + T):
gzip ubunlog.txt
Gzip irá substituir o arquivo original chamado ubunlog.txt por uma versão compactada chamada ubunlog.txt.gz.
O comando gzip também pode ser usado de outras maneiras. Um bom exemplo é que podemos criar uma versão compactada da saída de um comando específico. Observe o seguinte comando.
ls -l ../../Descargas / | gzip > ubunlog.txt.gz
O comando acima cria uma versão compactada da lista de arquivos na pasta Downloads.
-
Comprimir e descomprimir mantendo o arquivo original
Por padrão, o programa gzip irá compactar o arquivo fornecido, substituindo-o por uma versão compactada. No entanto, podemos manter o arquivo original e gravar o resultado na saída padrão. Por exemplo, o seguinte comando, compress ubunlog.txt e escreva o resultado em output.txt.gz.
gzip -c ubunlog.txt > salida.txt.gz
Da mesma forma, podemos descompacte um arquivo compactado especificando o nome do arquivo de saída:
gzip -c -d salida.txt.gz > ubunlog1.txt
O comando acima descompacta o arquivo output.txt.gz e grava o resultado no arquivo ubunlog1.txt. Nos dois casos anteriores, o arquivo original não será excluído.
-
Descompacte arquivos
Para descompactar o arquivo ubunlog.txt.gz, substituindo-o pela versão original não compactada, usaremos o seguinte comando no terminal (Ctrl + Alt + T):
gzip -d ubunlog.txt.gz
Também podemos usar gunzip para descompactar os arquivos.
gunzip ubunlog.txt.gz
-
Veja o conteúdo dos arquivos compactados sem descompactá-los
Para visualizar o conteúdo do arquivo compactado sem descompactá-lo usando gzip, vamos usar a opção -c como é mostrado a seguir:
gunzip -c ubunlog1.txt.gz
Também podemos usar o utilitário zcat para o mesmo propósito, como abaixo:
zcat ubunlog.txt.gz
Seremos capazes canalize a saída usando o comando "menos" para visualizar a saída página por página, conforme mostrado abaixo:
gunzip -c ubunlog.txt.gz | less
O comando less também pode ser usado com zcat:
zcat ubunlog.txt.gz | less
Também teremos a opção de usar o programa sem z. Isso executa a mesma função que os tubos anteriores:
zless ubunlog.txt.gz
Nós podemos saia da paginação pressionando a tecla q.
-
Compacte o arquivo com gzip especificando o nível de compactação
Outra vantagem do gzip é que suporta nível de compressão. Suporta 3 níveis de compressão conforme abaixo.
1 - Mais rápido (pior)
9 - Mais lento (melhor)
6 - Nível padrão
Para compactar o arquivo chamado ubunlog.txt, substituindo-o por um versão compactada com o melhor nível de compactação, nós vamos usar:
gzip -9 ubunlog.txt
-
Concatenar vários arquivos compactados
Outra possibilidade que o gzip nos oferece é a de concatenar vários arquivos compactados em um. Podemos fazer isso da seguinte maneira:
gzip -c ubunlog1.txt > salida.txt.gz gzip -c ubunlog2.txt >> salida.txt.gz
Os dois comandos acima irão compactar ubunlog1.txt e ubunlog2.txt e salve-os em um único arquivo chamado output.txt.gz.
Nós poderemos visualizar o conteúdo dos arquivos (ubunlog1.txt e ubunlog1.txt) sem extraí-los usando qualquer um dos seguintes comandos:
gunzip -c salida.txt.gz gunzip -c salida.txt zcat salida.txt.gz zcat salida.txt
Para obter mais detalhes sobre o gzip, consulte o páginas de manual:
man gzip
O programa bzip2
El bzip2 é muito semelhante ao programa gzip. A principal diferença é que ele usa um algoritmo de compressão diferente chamado Algoritmo de compressão de texto de classificação de bloco de Burrows-Wheeler e codificação Huffman. Os arquivos compactados com bzip2 terminarão com a extensão .bz2.
Como eu disse, usar bzip2 é praticamente o mesmo que gzip. Nós simplesmente teremos que substitua gzip nos exemplos acima por bzip2, gunzip por bunzip2, zcat por bzcat e assim por diante.
-
Compactar arquivos
Para compactar um arquivo usando bzip2, substituindo-o por uma versão compactada, vamos executar:
bzip2 ubunlog.txt
-
Compacte os arquivos sem excluir o arquivo original
Se não quisermos substituir o arquivo original, usaremos o opção -c e vamos gravar o resultado em um novo arquivo.
bzip2 -c ubunlog.txt > salida.txt.bz2
-
Descompacte arquivos
Pára descompacte um arquivo compactado, usaremos uma das duas possibilidades a seguir:
bzip2 -d ubunlog.txt.bz2 bunzip2 ubunlog.txt.bz2
-
Veja o conteúdo dos arquivos compactados sem descompactá-los
Para ver o conteúdo de um arquivo compactado sem descompactá-lo, só teremos que usar qualquer uma das opções:
bunzip2 -c ubunlog.txt.bz2 bzcat ubunlog.txt.bz2
Para mais detalhes, podemos consultar o páginas de manual:
man bzip2