gzip
ou bzip2
compactará o arquivo e removerá o não compactado automaticamente (esse é o comportamento padrão).
No entanto, tenha em mente que, enquanto o processo de compactação, ambos os arquivos existirão.
Se você quiser compactar arquivos de log (isto é: arquivos que contenham texto), você pode preferir bzip2
, pois ele tem uma melhor proporção para arquivos de texto.
bzip2 -9 myfile # will produce myfile.bz2
Comparação e exemplos:
$ ls -l myfile
-rw-rw-r-- 1 apaul apaul 585999 29 april 10:09 myfile
$ bzip2 -9 myfile
$ ls -l myfile*
-rw-rw-r-- 1 apaul apaul 115780 29 april 10:09 myfile.bz2
$ bunzip2 myfile.bz2
$ gzip -9 myfile
$ ls -l myfile*
-rw-rw-r-- 1 apaul apaul 146234 29 april 10:09 myfile.gz
UPDATE como @jjoao me disse em um comentário, curiosamente, xz
parece ter uma melhor proporção em arquivos simples com suas opções padrão:
$ xz -9 myfile
$ ls -l myfile*
-rw-rw-r-- 1 apaul apaul 109384 29 april 10:09 myfile.xz
Para mais informações, aqui está uma referência interessante para diferentes ferramentas: link
Para o exemplo acima, eu uso -9
para uma melhor taxa de compactação, mas se o tempo necessário para compactar dados for mais importante que a taxa, convém não usá-lo (use uma opção inferior, ou seja, -1
, ou algo entre).