Se você é flexível sobre o formato, você pode compactar um arquivo no Unix fazendo exatamente isso :-)
compress some_file
desvantagem: você precisa especificar cada arquivo para compactar.
Você também pode usar zip
, nem sempre disponível em plataformas UNIX ou gzip. Enquanto compress
e gzip
apenas comprima um único arquivo, zip
é uma ferramenta que lida com pacotes de um ou vários arquivos ou diretórios e compactação de uma só vez. A filosofia tradicional do UNIX é ter uma ferramenta para um trabalho, tornando mais fácil para o criador da ferramenta fazer com que a ferramenta seja excelente em um único trabalho, explicando porque compress e gzip compactam apenas e não empacotam. Para você, como usuário, isso significa que você usará uma ferramenta para empacotamento e outra para compactar o pacote (ou "arquivamento"), se você não estiver usando o zip, mas o UNIX nativo tar
, o arquivador de fitas, para empacotar primeiro:
tar -c -f archive_name.tar some_file some_dir
vai embalar some_file
e some_dir
, recursivamente, no arquivo archive_name.tar
.
agora comprima:
gzip archive_name.tar
lhe dará o arquivo compactado archive_name.tar.gz
(e elimine o original archive_name.tar
).
Mas espere, há mais: na verdade, é tão comum compactar arquivos, que o tar pode chamar gzip, em um comando:
tar -c -z -f archive_name.tar.gz some_file some_dir
Darei à você archive_name.tar.gz
contendo some_file
e some_dir
, empacotado recursivamente e compactado.
Para mais informações:
man 1 tar