Num sistema Linux a compressão e arquivamento de ficheiros são normalmente realizados com dois comandos gzip e o tar.
O comando tar agrupa vários ficheiros num um único ficheiro, sem compressão. Para comprimir esse grande ficheiro necessitamos de um programa específico para o efeito.
Podendo sempre recorrer ao manual do programa [man tar] para ver todas as potencialidades, as opções mais comuns são as seguintes:
-c [cria um novo arquivo]
-t [visualiza o conteúdo do arquivo]
-x [extrai o conteúdo do arquivo]
-f [especifica o nome do ficheiro ou do dispositivo no qual o arquivo está localizado]
-j [filtra o arquivo com o programa de compressão bzip2]
-z [filtra o arquivo com o programa de compressão gzip]
Saliente-se que o comando tar é dos poucos programas em Linux onde a ordem de colocação das opções é relevante. A opção -f (localização do ficheiro) se colocada noutro lugar não funcionará.
Vejamos alguns exemplos, criando uma pasta com 4 ficheiros:
[marco@pweb _Temp]$mkdir lixo ; touch lixo/{1,2,3,4}
Criemos agora uma ficheiro de arquivo lixo.tar contend todos os ficheiros existentes na pasta lixo.
[marco@pweb _Temp]$ tar -cf lixo.tar lixo/
Para visualizarmos o processo de arquivamento, criemos o ficheiro 2lixo.tar com a opção –v
[marco@pweb _Temp]$tar -vcf 2 lixo.tar lixo
lixo/
lixo/2
lixo/4
lixo/1
lixo/3
Nenhum destes ficheiros de arquivo possui algum tipo de compressão. Para comprimirmos os ficheiros, utilizamos o comando gzip em conjunto com o comando tar, criando o ficheiro 3lixo.tar.gz
[marco@pweb _Temp]$tar -vczf 3lixo.tar.gz lixo/
lixo/
lixo/2
lixo/4
lixo/1
lixo/3
Para extrair o conteúdo do ficheiro bastará usar a opção x
[marco@pweb _Temp]$tar -vxzf 3lixo.tar.gz
lixo/
lixo/2
lixo/4
lixo/1
lixo/3