Guia do Linux/Iniciante+Intermediário/Compactadores/tar
tar
editarNa 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
.tar
caso seja usado somente o arquivamento ou.tar.gz
/.tgz
caso 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
bzip2
para processar os arquivos dotar
- -l, --one-file-system
- Não processa arquivos em um sistema de arquivos diferentes de onde o
tar
foi 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
tar
em 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
tar
apó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
compress
durante o processamento dos arquivos. - -z
- Usa o programa
gzip
durante 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
tar
precisam 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.gz
ou.tgz
- Caso seja usada a opção -Z para a compactação, a extensão deverá ser
.tar.Z
ou.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.tar
que armazenará o arquivoindex.txt
. Você pode notar digitando ls -la que o arquivoindex.txt
foi somente arquivado (sem compactação), isto é útil para juntar diversos arquivos em um só. - tar -xf index.txt.tar - Desarquiva o arquivo
index.txt
criado 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.txt
foi compactado e depois arquivado no arquivoindex.txt.tar.gz
(você também pode chama-lo deindex.txt.tgz
que também identifica um arquivo.tar
compactado pelogzip
) - tar -xzf index.txt.tar.gz - Descompacta e desarquiva o arquivo
index.txt.tar.gz
criado 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.gz
e envia a saída do arquivo descompactado para otar
que desarquivará o arquivoindex.txt
. - tar -cjf index.txt.tar.bz2 index.txt - Arquiva o arquivo
index.txt
emindex.txt.tar.bz2
compactando através dobzip2
(opção -j). - tar -xjf index.txt.tar.bz2 - Descompacta e desarquiva o arquivo
index.txt.tar.bz2
criado 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.bz2
e envia a saída do arquivo descompactado para otar
que 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
.