Compressão Uma das ferramentas mais populares hoje em dia para compressão é o gzip. Ele utiliza o método de compressão Lempel-Ziv, o mesmo utilizado nos populares zip e pkzip. Ele é capaz de descomprimir arquivos comprimidos com compress, compress -H e pack. Outra ferramenta bastante popular é o bzip2. Ela utiliza o método Burrows-Wheeler e a codificação de Huffman. Em comparação ao gzip, consegue atingir melhores taxas de compressão, consumindo mais memória e processamento. O uso do bzip2 foi feito bem similar ao do gzip, com poucas diferenças. Veremos como utilizar o gzip, lembrando que o uso do bzip2 é idêntico. Ambos possuem um comando para a descompressão, respectivamente, gunzip e bunzip2. As principais opções são: -d Descomprime ao invés de comprimir. -c Envia resultado da compressão/descompressão para saída padrão. -1 a -9 Determina quão alta é a taxa de compressão. Se a opção -c não for utilizada, o gzip e o bzip2 renomeiam os arquivos para nome_de_arquivo.gz e nome_de_arquivo.bz2, respectivamente. Ao descomprimir, removem os sufixos dos arquivos. Exemplos Comprimindo um arquivo: gzip arquivo Descomprimindo um arquivo: gunzip arquivo.gz gzip -d arquivo.gz Escrevendo na saída padrão: gzip -c arquivo > arquivo_comprimido gzip -dc arquivo_comprimido > arquivo Lendo da entrada padrão: cat arquivo | gzip -c > arquivo_comprimido cat arquivo_comprimido | gzip -dc > arquivo Comprimindo mais a custo de maior tempo de processamento ou memória: gzip -9 arquivo Comprimindo menos: gzip -1 arquivo Além de utilizar o gzip e o bzip2 com entrada e saída padrão, existem algumas versões de alguns programas que consideram a entrada comprimida com gzip ou bzip2. O zcat, por exemplo, funciona como o cat, mas descomprime a entrada com gzip antes. Além do zcat, existem zcmp, zdiff, zegrep, zfgrep, zgrep, zless, zmore, bzcat, bzcmp, bzdiff, bzegrep, bzfgrep, bzgrep, bzless e bzmore. Observação: Recentemente, o lzma tem se tornado um formato bem popular. Utilizando um algoritmo baseado no Lempel-Ziv, oferece melhores taxas de compressão a um maior custo de uso de memória, mas com uma rápida descompressão, usando pouca memória.