Guia do Linux/Iniciante+Intermediário/Compactadores/tar
tar
[editar | editar código]Na verdade o tar não é um compactador e sim um "arquivador" (ele junta vários arquivos em um só), mas pode ser usado em conjunto com um compactar (como o gzip ou zip) para armazena-los compactados. O tar também é muito usado para cópias de arquivos especiais ou dispositivos do sistema. É comum encontrar arquivos com a extensão .tar, .tar.gz, .tgz, .tar.bz2, .tar.Z, .tgZ, o primeiro é um arquivo normal gerado pelo tar e todos os outros são arquivos gerados através tar junto com um programa de compactação (gzip (.gz), bzip2 (.bz2) e compress (.Z).
tar [opções] [arquivo-destino] [arquivos-origem]
Onde:
- arquivo-destino
- É o nome do arquivo de destino. Normalmente especificado com a extensão
.tarcaso seja usado somente o arquivamento ou.tar.gz/.tgzcaso seja usada a compactação (usando a opção -z). - arquivos-origem
- Especifica quais arquivos/diretórios serão compactados.
- opções
- -c, --create
- Cria um novo arquivo
.tar - -t, --list
- Lista o conteúdo de um arquivo
.tar - -u, --update
- Atualiza arquivos compactados no arquivo
.tar - -f, --file [HOST
- ]F
- Usa o arquivo especificado para gravação ou o dispositivo
/dev/rmt0. - -j, --bzip2
- Usa o programa
bzip2para processar os arquivos dotar - -l, --one-file-system
- Não processa arquivos em um sistema de arquivos diferentes de onde o
tarfoi executado. - -M, --multi-volume
- Cria/lista/descompacta arquivos em múltiplos volumes. O uso de arquivos em múltiplos volumes permite que uma grande cópia de arquivos que não cabe em um disquete, por exemplo, seja feita em mais de um disquete.
- -o
- Grava o arquivo no formato VT7 ao invés do ANSI.
- -O, --to-stdout
- Descompacta arquivos para a saída padrão ao invés de gravar em um arquivo.
- --remove-files
- Apaga os arquivos de origem após serem processados pelo
tar. - -R, --record-number
- Mostra o número de registros dentro de um arquivo
tarem cada mensagem. - --totals
- Mostra o total de bytes gravados com a opção --create.
- -v
- Mostra os nomes dos arquivos enquanto são processados.
- -V [NOME]
- Inclui um [NOME] no arquivo
tar. - -W, --verify
- Tenta verificar o arquivo gerado pelo
tarapós grava-lo. - x
- Extrai arquivos gerados pelo
tar - -X [ARQUIVO]
- Tenta apagar o [ARQUIVO] dentro de um arquivo compactado
.tar. - -Z
- Usa o programa
compressdurante o processamento dos arquivos. - -z
- Usa o programa
gzipdurante o processamento dos arquivos. - --use-compress-program [PROGRAMA]
- Usa o [PROGRAMA] durante o processamento dos arquivos. Ele deve aceitar a opção -d.
- -[0-7][lmh]
- Especifica a unidade e sua densidade.
A extensão precisa ser especificada no arquivo de destino para a identificação correta:
- Arquivos gerados pelo
tarprecisam ter a extensão.tar - Caso seja usada a opção -j para compactação, a extensão deverá ser
.tar.bz2 - Caso seja usada a opção -z para compactação, a extensão deverá ser
.tar.gzou.tgz - Caso seja usada a opção -Z para a compactação, a extensão deverá ser
.tar.Zou.tgZ
É importante saber qual qual o tipo de compactador usado durante a geração do arquivo .tar pois será necessário especificar a opção apropriada para descompacta-lo (para detalhes veja [#s-cpctd-extensoes Extensões de arquivos compactados, Seção 18.2]).
Exemplos:
- tar -cf index.txt.tar index.txt - Cria um arquivo chamado
index.txt.tarque armazenará o arquivoindex.txt. Você pode notar digitando ls -la que o arquivoindex.txtfoi somente arquivado (sem compactação), isto é útil para juntar diversos arquivos em um só. - tar -xf index.txt.tar - Desarquiva o arquivo
index.txtcriado pelo comando acima. - tar -czf index.txt.tar.gz index.txt - O mesmo que o exemplo de arquivamento anterior, só que agora é usado a opção -z (compactação através do programa
gzip). Você agora pode notar digitando ls -la que o arquivoindex.txtfoi compactado e depois arquivado no arquivoindex.txt.tar.gz(você também pode chama-lo deindex.txt.tgzque também identifica um arquivo.tarcompactado pelogzip) - tar -xzf index.txt.tar.gz - Descompacta e desarquiva o arquivo
index.txt.tar.gzcriado com o comando acima. - gzip -dc index.tar.gz | tar -xf - - Faz o mesmo que o comando acima só que de uma forma diferente: Primeiro descompacta o arquivo
index.txt.tar.gze envia a saída do arquivo descompactado para otarque desarquivará o arquivoindex.txt. - tar -cjf index.txt.tar.bz2 index.txt - Arquiva o arquivo
index.txtemindex.txt.tar.bz2compactando através dobzip2(opção -j). - tar -xjf index.txt.tar.bz2 - Descompacta e desarquiva o arquivo
index.txt.tar.bz2criado com o comando acima. - bzip2 -dc index.txt.tar.bz2 | tar -xf - - Faz o mesmo que o comando acima só que de uma forma diferente: Primeiro descompacta o arquivo
index.txt.tar.bz2e envia a saída do arquivo descompactado para otarque desarquivará o arquivoindex.txt. - tar -t index.txt.tar - Lista o conteúdo de um arquivo
.tar. - tar -tz index.txt.tar.gz - Lista o conteúdo de um arquivo
.tar.gz.