Manuais para a linha de comandos

Man » Manual do tar online - documentação online detalhada para a página de manual do tar

🌍
tar - um utilitário de arquivamento

SINTAXE

Uso tradicional

tar {A|c|d|r|t|u|x}[GnSkUWOmpsMBiajJzZhPlRvwo] [ARG...]

Uso estilo UNIX

tar -A [OPÇÕES] -f ARQUIVO ARQUIVO...

tar -c [-f ARQUIVO] [OPÇÕES] [ARQUIVO...]

tar -d [-f ARQUIVO] [OPÇÕES] [ARQUIVO...]

tar -r [-f ARQUIVO] [OPÇÕES] [ARQUIVO...]

tar -t [-f ARQUIVO] [OPÇÕES] [MEMBRO...]

tar -u [-f ARQUIVO] [OPÇÕES] [ARQUIVO...]

tar -x [-f ARQUIVO] [OPÇÕES] [MEMBRO...]

Uso estilo GNU

tar {--catenate|--concatenate} [OPÇÕES] --file ARQUIVO ARQUIVO...

tar --create [--file ARQUIVO] [OPÇÕES] [ARQUIVO...]

tar {--diff|--compare} [--file ARQUIVO] [OPÇÕES] [ARQUIVO...]

tar --delete [--file ARQUIVO] [OPÇÕES] [MEMBRO...]

tar --append [--file ARQUIVO] [OPÇÕES] [ARQUIVO...]

tar --list [--file ARQUIVO] [OPÇÕES] [MEMBRO...]

tar --test-label [--file ARQUIVO] [OPÇÕES] [ETIQUETA...]

tar --update [--file ARQUIVO] [OPÇÕES] [ARQUIVO...]

tar {--extract|--get} [--file ARQUIVO] [OPÇÕES] [MEMBRO...]

NOTA

Esta página de manual é uma breve descrição do GNU tar. Para uma discussão detalhada, incluindo exemplos e recomendações de uso, consulte o Manual do GNU Tar disponível em formato texinfo. Se o leitor info e a documentação do tar estiverem devidamente instalados em seu sistema, o comando

info tar

deve fornecer acesso ao manual completo.

Você também pode visualizar o manual usando o modo info em emacs(1), ou encontrá-lo em vários formatos online em

https://www.gnu.org/software/tar/manual

Se ocorrerem quaisquer discrepâncias entre esta página de manual e o Manual do GNU Tar, este último será considerado a fonte autoritária.

DESCRIÇÃO

GNU tar é um programa de arquivamento projetado para armazenar vários arquivos em um único arquivo (um arquivo), e para manipular esses arquivos. O arquivo pode ser um arquivo regular ou um dispositivo (por exemplo, uma unidade de fita, daí o nome do programa, que significa arquivador de fita), que pode estar localizado no sistema local ou em uma máquina remota.

Estilos de opção

As opções para o GNU tar podem ser fornecidas em três estilos diferentes. No estilo tradicional, o primeiro argumento é um cluster de letras de opção e todos os argumentos subsequentes fornecem argumentos para aquelas opções que os exigem. Os argumentos são lidos na mesma ordem das letras de opção. Qualquer palavra de linha de comando que permanecer depois que todas as opções forem processadas é tratada como argumentos que não são opções: nomes de arquivos ou membros de arquivo.

Por exemplo, a opção c exige a criação do arquivo, a opção v solicita a operação detalhada e a opção f recebe um argumento que define o nome do arquivo para operar. O seguinte comando, escrito no estilo tradicional, instrui o tar a armazenar todos os arquivos do diretório /etc no arquivo etc.tar, listando detalhadamente os arquivos que estão sendo arquivados:


tar cfv etc.tar /etc

No estilo UNIX ou de opções curtas, cada letra de opção é prefixada com um único hífen, como em outros utilitários de linha de comando. Se uma opção aceitar um argumento, o argumento a segue, seja como uma palavra separada na linha de comando, seja imediatamente após a opção. No entanto, se a opção aceitar um argumento opcional, o argumento deve seguir a letra da opção sem nenhum espaço intermediário, como em -g/tmp/snar.db.

Qualquer número de opções que não aceitam argumentos pode ser agrupado após um único hífen, por exemplo, -vkp. Uma opção que aceita um argumento (seja obrigatório ou opcional) pode aparecer no final de um grupo como este, por exemplo, -vkpf a.tar.

O comando de exemplo acima, escrito no estilo de opção curta, pode ser assim:

tar -cvf etc.tar /etc
ou
tar -c -v -f etc.tar /etc

No estilo de opção longo GNU, cada opção começa com dois hífens e tem um nome significativo, consistindo de letras minúsculas e hífens. Quando usado, a opção longa pode ser abreviada para suas letras iniciais, desde que isso não crie ambiguidade. Os argumentos para opções longas são fornecidos, seja como uma palavra separada na linha de comando, imediatamente após a opção, seja separados da opção por um sinal de igual sem nenhum espaço intermediário. Os argumentos opcionais devem sempre usar o último método.

Aqui estão algumas maneiras de escrever o comando de exemplo neste estilo:

tar --create --file etc.tar --verbose /etc
ou (abreviando algumas opções):
tar --cre --file=etc.tar --verb /etc

As opções em todos os três estilos podem ser intercaladas, embora não seja recomendado fazê-lo com opções antigas.

Modo de operação

As opções listadas na tabela abaixo informam ao GNU tar qual operação ele deve realizar. Exatamente uma delas deve ser fornecida. O significado dos argumentos que não são opções depende do modo de operação solicitado.

-A, --catenate, --concatenate

Anexa arquivos ao final de outro arquivo. Os argumentos são tratados como os nomes dos arquivos a serem anexados. Todos os arquivos devem ter o mesmo formato do arquivo ao qual são anexados; caso contrário, o arquivo resultante pode não ser utilizável com implementações não GNU de tar. Observe também que, quando mais de um arquivo é fornecido, os membros de arquivos diferentes do primeiro só estarão acessíveis no arquivo resultante quando a opção -i (--ignore-zeros) for usada.

Arquivos compactados não podem ser concatenados.

-c, --create

Cria um novo arquivo. Os argumentos fornecem os nomes dos arquivos a serem arquivados. Os diretórios são arquivados recursivamente, a menos que a opção --no-recursion seja fornecida.

-d, --diff, --compare

Encontra diferenças entre o arquivo e o sistema de arquivos. Os argumentos são opcionais e especificam os membros do arquivo a serem comparados. Se não forem fornecidos, o diretório de trabalho atual é considerado.


--delete

Exclui do arquivo. Os argumentos fornecem os nomes dos membros do arquivo a serem removidos. Pelo menos um argumento deve ser fornecido.

Esta opção não funciona em arquivos compactados. Não existe uma opção abreviada equivalente.

-r, --append

Adiciona arquivos ao final de um arquivo. Os argumentos têm o mesmo significado de -c (--create).

-t, --list

Lista o conteúdo de um arquivo. Os argumentos são opcionais. Quando fornecidos, especificam os nomes dos membros a serem listados.

--test-label

Testa o rótulo do arquivo e sai. Quando usado sem argumentos, imprime o rótulo do arquivo (se houver) e sai com o status 0. Quando um ou mais argumentos de linha de comando são fornecidos, tar compara o rótulo do arquivo com cada argumento. Sai com o código 0 se uma correspondência for encontrada e com o código 1 caso contrário. Nenhuma saída é exibida, a menos que seja usado em conjunto com a opção -v (--verbose).

Não existe uma opção abreviada equivalente para esta opção.

-u, --update

Adiciona arquivos que são mais recentes que a cópia correspondente no arquivo. Os argumentos têm o mesmo significado das opções -c e -r. Observe que os arquivos mais recentes não substituem suas cópias antigas no arquivo, mas, em vez disso, são adicionados ao final do arquivo. O arquivo resultante pode, portanto, conter vários membros com o mesmo nome, correspondendo a várias versões do mesmo arquivo.

-x, --extract, --get

Extrai arquivos de um arquivo. Os argumentos são opcionais. Quando fornecidos, especificam os nomes dos membros do arquivo a serem extraídos.

--show-defaults

Mostra os valores padrão internos para várias opções do tar e sai.

-?, --help

Exibe um resumo das opções e sai.

--usage

Exibe uma lista de opções disponíveis e sai.

--version

Imprime a versão do programa e as informações de direitos autorais e sai.

OPÇÕES

Modificadores de operação

--check-device

Verifica os números do dispositivo ao criar arquivos incrementais (padrão).

-g, --listed-incremental=ARQUIVO

Lida com novos backups incrementais no formato GNU. ARQUIVO é o nome de um arquivo de snapshot, onde o tar armazena informações adicionais que são usadas para decidir quais arquivos foram alterados desde o backup incremental anterior e, consequentemente, devem ser despejados novamente. Se ARQUIVO não existir ao criar um arquivo, ele será criado e todos os arquivos serão adicionados ao arquivo resultante (o despejo de nível 0). Para criar arquivos incrementais de nível N diferente de zero, você precisa de uma cópia do arquivo de snapshot criado para o nível N-1 e usá-lo como ARQUIVO.

Ao listar ou extrair, o conteúdo real de ARQUIVO não é inspecionado, ele é necessário apenas devido aos requisitos sintáticos. Portanto, é prática comum usar /dev/null em seu lugar.

--hole-detection=MÉTODO

Usa MÉTODO para detectar lacunas em arquivos esparsos. Esta opção implica --sparse. Os valores válidos para MÉTODO são seek e raw. O padrão é seek com fallback para raw quando não aplicável.

-G, --incremental

Lida com backups incrementais antigos no formato GNU.


--ignore-failed-read

Não sair com código de erro quando arquivos não puderem ser lidos.

--level=NUMBER

Define o nível de criação para um arquivo incremental listado. Atualmente, apenas --level=0 é significativo: ele instrui o tar a truncar o arquivo de snapshot antes de fazer o backup, forçando assim um backup de nível 0.

-n, --seek

Assume que o arquivo é acessível. Normalmente, o tar determina automaticamente se o arquivo pode ser acessado ou não. Esta opção é destinada ao uso em casos em que esse reconhecimento falha. Ela só entra em vigor se o arquivo for aberto para leitura (por exemplo, com as opções --list ou --extract).

--no-check-device

Não verifique os números de dispositivo ao criar arquivos incrementais.

--no-seek

Assume que o arquivo não é acessível.

--occurrence[=N]

Processa apenas a N-ésima ocorrência de cada arquivo no arquivo. Esta opção é válida apenas quando usada com um dos seguintes subcomandos: --delete, --diff, --extract ou --list e quando uma lista de arquivos é fornecida, seja na linha de comando ou por meio da opção -T. O valor padrão de N é 1.

--restrict

Desabilita o uso de algumas opções potencialmente perigosas.

--sparse-version=MAJOR[.MINOR]

Define qual versão do formato esparso a ser usada. Esta opção implica --sparse. Os valores de argumento válidos são 0.0, 0.1 e 1.0. Para uma discussão detalhada dos formatos esparsos, consulte o Manual do GNU Tar, Apêndice D, "Formatos Esparsos". Usando o leitor de informações, ele pode ser acessado executando o seguinte comando: info tar 'Formatos Esparsos'.

-S, --sparse

Lida com arquivos esparsos de forma eficiente. Alguns arquivos no sistema de arquivos podem ter segmentos que nunca foram gravados (geralmente, são arquivos de banco de dados criados por sistemas como DBM). Quando esta opção é fornecida, o tar tenta determinar se o arquivo é esparso antes de fazer o backup e, em caso afirmativo, reduz o tamanho do arquivo resultante, não fazendo o backup de partes vazias do arquivo.

Controle de sobrescrita

Essas opções controlam as ações do tar ao extrair um arquivo sobre uma cópia existente no disco.

-k, --keep-old-files

Não substitua arquivos existentes ao extrair.

--keep-newer-files

Não substitua arquivos existentes que sejam mais recentes do que suas cópias no arquivo.

--keep-directory-symlink

Não substitua links simbólicos de diretórios existentes ao extrair.

--no-overwrite-dir

Preserve os metadados de diretórios existentes.

--one-top-level[=DIR]

Extraia todos os arquivos para DIR ou, se usado sem argumento, para um subdiretório com o nome da base do arquivo (menos os sufixos de compressão padrão reconhecidos por --auto-compress).

--overwrite

Substitua arquivos existentes ao extrair.

--overwrite-dir

Substitua os metadados de diretórios existentes ao extrair (padrão).

--recursive-unlink

Remova recursivamente todos os arquivos no diretório antes de extraí-lo.

--remove-files

Remova arquivos do disco após adicioná-los ao arquivo.

--skip-old-files

Não substitua arquivos existentes ao extrair, ignore-os silenciosamente.

-U, --unlink-first

Remova cada arquivo antes de extraí-lo.


-W, --verify
Verifica o arquivo após gravá-lo.

Seleção do fluxo de saída

--ignore-command-error
Ignora os códigos de saída de subprocessos.

--no-ignore-command-error
Trata códigos de saída diferentes de zero de subprocessos como erros (padrão).

-O, --to-stdout
Extrai arquivos para a saída padrão.

--to-command=COMMAND
Envia os arquivos extraídos para o comando. O argumento é o nome do caminho de um programa externo, opcionalmente com argumentos de linha de comando. O programa será invocado e o conteúdo do arquivo que está sendo extraído será fornecido para sua entrada padrão. Dados adicionais serão fornecidos pelas seguintes variáveis de ambiente:

TAR_FILETYPE
Tipo do arquivo. É uma única letra com o seguinte significado:

f           Arquivo regular
d           Diretório
l           Link simbólico
h           Link físico
b           Dispositivo de bloco
c           Dispositivo de caractere

Atualmente, apenas arquivos regulares são suportados.

TAR_MODE
Modo do arquivo, um número octal.

TAR_FILENAME
O nome do arquivo.

TAR_REALNAME
Nome do arquivo conforme armazenado no arquivo.

TAR_UNAME
Nome do proprietário do arquivo.

TAR_GNAME
Nome do grupo proprietário do arquivo.

TAR_ATIME
Hora do último acesso. É um número decimal que representa segundos desde a época. Se o arquivo fornecer tempos com precisão de nanossegundos, os nanossegundos serão anexados ao timestamp após um ponto decimal.

TAR_MTIME
Hora da última modificação.

TAR_CTIME
Hora da última alteração de status.

TAR_SIZE
Tamanho do arquivo.

TAR_UID
UID do proprietário do arquivo.

TAR_GID
GID do proprietário do arquivo.

Além disso, as seguintes variáveis contêm informações sobre o modo de operação do tar e o arquivo que está sendo processado:

TAR_VERSION
Número da versão do GNU tar.

TAR_ARCHIVE
O nome do arquivo que o tar está processando.

TAR_BLOCKING_FACTOR
Fator de bloqueio atual, ou seja, o número de blocos de 512 bytes em um registro.

TAR_VOLUME
Número ordinal do volume que o tar está processando (definido ao ler um arquivo de vários volumes).

TAR_FORMAT
Formato do arquivo que está sendo processado. Um de: gnu, oldgnu, posix, ustar, v7.

TAR_SUBCOMMAND
Uma opção curta (com um hífen à frente) que descreve a operação que o tar está executando.

Tratamento de atributos de arquivo

--atime-preserve[=METHOD]
Preserva os horários de acesso dos arquivos descompactados, seja restaurando os horários após a leitura (METHOD=replace, este é o padrão) ou não definindo os horários em primeiro lugar (METHOD=system).

--delay-directory-restore
Atrasar a definição dos horários de modificação e permissões de diretórios extraídos até o final da extração. Use esta opção ao extrair de um arquivo que tem uma ordem de membros incomum.

--group=NAME[:GID]
Força NAME como grupo para arquivos adicionados. Se GID não for fornecido, NAME pode ser um nome de usuário ou um GID numérico. Nesse caso, a parte ausente (GID ou nome) será inferida do banco de dados de grupos do host atual.

Quando usado com --group-map=FILE, afeta apenas aqueles arquivos cujo grupo proprietário não está listado em FILE.

--group-map=FILE
Lê o mapa de tradução de grupo do arquivo FILE. Linhas vazias são ignoradas. Os comentários são introduzidos com o sinal # e se estendem até o final da linha. Cada linha não vazia em FILE define a tradução para um único grupo. Deve consistir em dois campos, delimitados por qualquer quantidade de espaço em branco:

OLDGRP NEWGRP[:NEWGID]

OLDGRP é um nome de grupo válido ou um GID prefixado com +. A menos que NEWGID seja fornecido,
NEWGRP também deve ser um nome de grupo válido ou um +GID. Caso contrário, nem NEWGRP nem
NEWGID precisam estar listados no banco de dados de grupos do sistema.

Como resultado, cada arquivo de entrada com o grupo de proprietário OLDGRP será armazenado no
arquivo com o grupo de proprietário NEWGRP e GID NEWGID.

--mode=CHANGES
Força o modo simbólico CHANGES para os arquivos adicionados.

--mtime=DATE-OR-FILE
Define o mtime para os arquivos adicionados. DATE-OR-FILE é uma data/hora em um formato
quase arbitrário ou o nome de um arquivo existente. Neste último caso, o mtime desse arquivo
será usado.

-m, --touch
Não extrai o tempo de modificação do arquivo.

--no-delay-directory-restore
Cancela o efeito da opção anterior --delay-directory-restore.

--no-same-owner
Extrai arquivos como você (padrão para usuários comuns).

--no-same-permissions
Aplica o umask do usuário ao extrair permissões do arquivo (padrão para usuários comuns).

--numeric-owner
Sempre usa números para nomes de usuário/grupo.

--owner=NAME[:UID]
Força NAME como proprietário para os arquivos adicionados. Se UID não for fornecido, NAME
pode ser um nome de usuário ou um UID numérico. Neste caso, a parte ausente (UID ou nome) será
inferida do banco de dados de usuários do host atual.

Quando usado com --owner-map=FILE, afeta apenas os arquivos cujo proprietário não está listado em
FILE.

--owner-map=FILE
Lê o mapa de tradução de proprietário de FILE. Linhas vazias são ignoradas. Comentários são
introduzidos com o sinal # e se estendem até o final da linha. Cada linha não vazia em FILE
define a tradução para um único UID. Deve consistir em dois campos, separados por qualquer
quantidade de espaço em branco:

OLDUSR NEWUSR[:NEWUID]

OLDUSR é um nome de usuário válido ou um UID prefixado com +. A menos que NEWUID seja fornecido,
NEWUSR também deve ser um nome de usuário válido ou um +UID. Caso contrário, tanto NEWUSR quanto
NEWUID não precisam estar listados no banco de dados de usuários do sistema.

Como resultado, cada arquivo de entrada pertencente a OLDUSR será armazenado no arquivo com o
nome de proprietário NEWUSR e UID NEWUID.

-p, --preserve-permissions, --same-permissions
Define as permissões dos arquivos extraídos para as permissões registradas no arquivo (padrão
para superusuário).

--same-owner
Tenta extrair arquivos com a mesma propriedade existente no arquivo (padrão para superusuário).

-s, --preserve-order, --same-order
Informa ao tar que a lista de nomes de arquivos a serem processados está ordenada da mesma
forma que os arquivos no arquivo.

--sort=ORDER
Ao criar um arquivo, classifica as entradas de diretório de acordo com ORDER, que é um de none,
name ou inode.

O padrão é --sort=none, que armazena os membros do arquivo na mesma ordem em que são retornados
pelo sistema operacional.

Usar --sort=name garante que a ordem dos membros no arquivo criado seja uniforme e reproduzível.

Usar --sort=inode reduz o número de buscas em disco realizadas ao criar o arquivo e, assim, pode acelerar consideravelmente a criação do arquivo. Essa ordem de classificação é suportada apenas se o sistema subjacente fornecer as informações necessárias.

Atributos de arquivo estendidos

^ -acls Habilita o suporte a ACLs POSIX.

^ -no-acls Desabilita o suporte a ACLs POSIX.

^ -selinux Habilita o suporte ao contexto SELinux.

^ -no-selinux Desabilita o suporte ao contexto SELinux.

^ -xattrs Habilita o suporte a atributos estendidos.

^ -no-xattrs Desabilita o suporte a atributos estendidos.

^ -xattrs-exclude=PATTERN Especifica o padrão de exclusão para as chaves xattr. PATTERN é um padrão de correspondência de curingas, por exemplo, --xattrs-exclude='user.\*' para incluir apenas atributos do namespace do usuário.

^ -xattrs-include=PATTERN Especifica o padrão de inclusão para as chaves xattr. PATTERN é um padrão de correspondência de curingas.

Seleção e troca de dispositivo

^ f, --file=ARCHIVE Usa o arquivo ou dispositivo de arquivo ARCHIVE. Se esta opção não for fornecida, o tar primeiro examinará a variável de ambiente TAPE. Se estiver definida, seu valor será usado como o nome do arquivo. Caso contrário, o tar assumirá o valor padrão compilado. O valor padrão pode ser inspecionado usando a opção --show-defaults ou no final da saída de tar --help.

Um nome de arquivo que tenha dois pontos especifica um arquivo ou dispositivo em uma máquina remota. A parte antes dos dois pontos é considerada o nome da máquina ou endereço IP, e a parte depois, o caminho do arquivo ou dispositivo, por exemplo:

^ -file=remotehost:/dev/sr0

Um nome de usuário opcional pode ser prefixado ao nome do host, colocando um @ entre eles.

Por padrão, o host remoto é acessado por meio do comando rsh(1). Atualmente, é comum usar [ssh]({filename}../../ssh)(1) em vez disso. Você pode fazer isso fornecendo a seguinte opção na linha de comando:

^ -rsh-command=/usr/bin/ssh

A máquina remota deve ter o comando rmt(8) instalado. Se o caminho não corresponder ao padrão do tar, você pode informar ao tar o caminho correto usando a opção --rmt-command.

^ -force-local O arquivo de arquivo é local, mesmo que tenha dois pontos.

^ F, --info-script=COMMAND, --new-volume-script=COMMAND Executa COMMAND no final de cada fita (implica -M). O comando pode incluir argumentos. Quando iniciado, ele herdará o ambiente do tar mais as seguintes variáveis:

`TAR_VERSION`

Número da versão do GNU tar.

`TAR_ARCHIVE`

O nome do arquivo que o tar está processando.

`TAR_BLOCKING_FACTOR`

Fator de bloqueio atual, ou seja, o número de blocos de 512 bytes em um registro.

`TAR_VOLUME`

Número ordinal do volume que o tar está processando (definido se estiver lendo um arquivo de vários volumes).

`TAR_FORMAT`

Formato do arquivo que está sendo processado. Um de: gnu, oldgnu, posix, ustar, v7.

`TAR_SUBCOMMAND`

Uma opção curta (com um travessão à frente) descrevendo a operação que o tar está executando.

`TAR_FD` Descritor de arquivo que pode ser usado para comunicar o novo nome do volume ao `tar`.

Se o script de informação falhar, o tar será encerrado; caso contrário, ele começará a gravar o próximo volume.


-L, --tape-length=N
Altera a fita após gravar Nx1024 bytes. Se N for seguido por um sufixo de tamanho (veja a subseção Sufixos de tamanho abaixo), o sufixo especifica o fator multiplicativo a ser usado em vez de 1024.

Esta opção implica -M.

-M, --multi-volume
Cria/lista/extrai um arquivo multi-volume.

--rmt-command=COMMAND
Use COMMAND em vez de rmt ao acessar arquivos remotos. Veja a descrição da opção -f, acima.

--rsh-command=COMMAND
Use COMMAND em vez de rsh ao acessar arquivos remotos. Veja a descrição da opção -f, acima.

--volno-file=FILE
Quando esta opção é usada em conjunto com --multi-volume, o tar rastreará em qual volume do arquivo multi-volume ele está trabalhando em FILE.

Bloqueio de dispositivo

-b, --blocking-factor=BLOCKS
Define o tamanho do registro para BLOCKSx512 bytes.

-B, --read-full-records
Ao listar ou extrair, aceita registros de entrada incompletos após o marcador de fim de arquivo.

-i, --ignore-zeros
Ignora blocos preenchidos com zeros no arquivo. Normalmente, dois blocos consecutivos de 512 bytes preenchidos com zeros significam EOF e o tar para de ler após encontrar eles. Esta opção instrui o programa a continuar lendo e é útil ao ler arquivos criados com a opção -A.

--record-size=NUMBER
Define o tamanho do registro. NUMBER é o número de bytes por registro. Deve ser um múltiplo de 512. Pode ser sufixado com um sufixo de tamanho, por exemplo, --record-size=10K, para 10 Kilobytes. Veja a subseção Sufixos de tamanho para uma lista de sufixos válidos.

Seleção do formato de arquivo

-H, --format=FORMAT
Cria um arquivo no formato especificado. Os formatos válidos são:

gnu    Formato GNU tar 1.13.x

oldgnu Formato GNU conforme tar <= 1.12.

pax, posix
Formato POSIX 1003.1-2001 (pax).

ustar  Formato POSIX 1003.1-1988 (ustar).

v7     Formato V7 tar antigo.

--old-archive, --portability
Equivalente a --format=v7.

--pax-option=keyword[[:]=value][,keyword[[:]=value]]...
Controla as palavras-chave pax ao criar arquivos PAX (-H pax). Esta opção é equivalente à opção -o do utilitário pax(1).

--posix
Equivalente a --format=posix.

-V, --label=TEXT
Cria um arquivo com o nome do volume TEXT. Ao listar ou extrair, usa TEXT como um padrão de glob para o nome do volume.

Opções de compressão

-a, --auto-compress
Usa o sufixo do arquivo para determinar o programa de compressão.

-I, --use-compress-program=COMMAND
Filtra os dados através de COMMAND. Ele deve aceitar a opção -d para descompressão. O argumento pode conter opções de linha de comando.

-j, --bzip2
Filtra o arquivo através de [bzip2]({filename}bzip2.md)(1).

-J, --xz
Filtra o arquivo através de [xz]({filename}../../xz)(1).

--lzip Filtra o arquivo através de lzip(1).

--lzma Filtra o arquivo através de lzma(1).

--lzop Filtra o arquivo através de lzop(1).

--no-auto-compress
Não usa o sufixo do arquivo para determinar o programa de compressão.

-z, --gzip, --gunzip, --ungzip
Filtra o arquivo através de [gzip]({filename}../../gzip)(1).

-Z, --compress, --uncompress
Filtra o arquivo através de compress(1).

--zstd Filtre o arquivo usando zstd(1).

Seleção de arquivo local

--add-file=ARQUIVO

Adiciona ARQUIVO ao arquivo (útil se o nome começar com um hífen).

--backup[=CONTROLE]

Faz backup antes da remoção. O argumento CONTROLE, se fornecido, controla a política de backup. Seus valores válidos são:

none, off

Nunca faça backups.

t, numbered

Faça backups numerados.

nil, existing

Faça backups numerados se backups numerados existirem, backups simples caso contrário.

never, simple

Sempre faça backups simples.

Se CONTROLE não for fornecido, o valor é obtido da variável de ambiente VERSION_CONTROL. Se não estiver definida, existing é assumido.

-C, --directory=DIR

Altere para DIR antes de executar quaisquer operações. Esta opção é sensível à ordem, ou seja, ela afeta todas as opções que a seguem.

--exclude=PADRÃO

Exclui arquivos que correspondem ao PADRÃO, um padrão de curinga estilo glob(3).

--exclude-backups

Exclui arquivos de backup e arquivos de bloqueio.

--exclude-caches

Exclui o conteúdo de diretórios que contêm o arquivo CACHEDIR.TAG, exceto o próprio arquivo.

--exclude-caches-all

Exclui diretórios que contêm o arquivo CACHEDIR.TAG e o próprio arquivo.

--exclude-caches-under

Exclui tudo sob diretórios que contêm CACHEDIR.TAG.

--exclude-ignore=ARQUIVO

Antes de despejar um diretório, verifique se ele contém ARQUIVO. Se sim, leia os padrões de exclusão deste arquivo. Os padrões afetam apenas o diretório em si.

--exclude-ignore-recursive=ARQUIVO

Semelhante a --exclude-ignore, exceto que os padrões de ARQUIVO afetam o diretório e todos os seus subdiretórios.

--exclude-tag=ARQUIVO

Exclui o conteúdo de diretórios que contêm ARQUIVO, exceto o próprio ARQUIVO.

--exclude-tag-all=ARQUIVO

Exclui diretórios que contêm ARQUIVO.

--exclude-tag-under=ARQUIVO

Exclui tudo sob diretórios que contêm ARQUIVO.

--exclude-vcs

Exclui diretórios do sistema de controle de versão.

--exclude-vcs-ignores

Exclui arquivos que correspondem a padrões lidos de arquivos de ignorar específicos do VCS. Os arquivos suportados são: .cvsignore, .gitignore, .bzrignore e .hgignore.

-h, --dereference

Siga os links simbólicos; arquive e descompacte os arquivos para os quais eles apontam.

--hard-dereference

Siga os links rígidos; arquive e descompacte os arquivos aos quais eles se referem.

-K, --starting-file=MEMBER

Comece no membro fornecido no arquivo.

--newer-mtime=DATA

Opere em arquivos cujos dados foram alterados após a DATA. Se DATA começar com / ou ., ela é considerada um nome de arquivo; o mtime desse arquivo é usado como a data.

--no-null

Desabilite o efeito da opção --null anterior.

--no-recursion

Evite descer automaticamente em diretórios.

--no-unquote

Não desfaça as aspas dos nomes de arquivos ou membros de entrada.

--no-verbatim-files-from

Trate cada linha lida de um arquivo de lista como se fosse fornecida na linha de comando. Ou seja, os espaços em branco à esquerda e à direita são removidos e, se a string resultante começar com um hífen, ela será tratada como uma opção da linha de comando do tar.

Este é o comportamento padrão. A opção --no-verbatim-files-from é fornecida como uma maneira de restaurá-lo após a opção --verbatim-files-from.


Esta opção é posicional: afeta todas as opções --files-from que aparecem após ela na linha de comando, até a opção --verbatim-files-from ou o final da linha, o que ocorrer primeiro.

É implícita pela opção --no-null.

--null  Instrui as opções subsequentes `-T` a ler nomes terminados em nulo literalmente (desativa o
tratamento especial de nomes que começam com um hífen).

Veja também `--verbatim-files-from`.

-N, --newer=DATA, --after-date=DATA
Armazena apenas arquivos mais recentes que DATA. Se DATA começar com / ou ., é considerado
um nome de arquivo; o tempo de modificação desse arquivo é usado como a data.

--one-file-system
Permanece no sistema de arquivos local ao criar o arquivo.

-P, --absolute-names
Não remove barras iniciais dos nomes dos arquivos ao criar arquivos.

--recursion
Percorre diretórios recursivamente (padrão).

--suffix=STRING
Faz backup antes da remoção, substitui o sufixo padrão. O sufixo padrão é ~, a menos que
substituído pela variável de ambiente SIMPLE_BACKUP_SUFFIX.

-T, --files-from=ARQUIVO
Obtém os nomes para extrair ou criar do ARQUIVO.

A menos que especificado de outra forma, o ARQUIVO deve conter uma lista de nomes separados por
ASCII LF (isto é, um nome por linha). Os nomes lidos são tratados da mesma forma que os
argumentos da linha de comando. Eles passam por remoção de aspas e divisão de palavras, e qualquer
string que comece com um hífen é tratada como uma opção da linha de comando tar.

Se esse comportamento for indesejado, ele pode ser desativado usando a opção `--verbatim-files-from`.

A opção `--null` instrui o tar a usar o caractere ASCII NUL como separador de nomes no ARQUIVO, em
vez de LF. É útil se a lista for gerada pelo comando [find]({filename}../../find)(1) -print0.

--unquote
Remove as aspas dos nomes de arquivos ou membros (padrão).

--verbatim-files-from
Trata cada linha obtida de uma lista de arquivos como um nome de arquivo, mesmo que comece
com um hífen. As listas de arquivos são fornecidas com a opção `--files-from` (-T). O
comportamento padrão é tratar os nomes fornecidos em listas de arquivos como se fossem digitados
na linha de comando, ou seja, quaisquer nomes que comecem com um hífen são tratados como
opções tar. A opção `--verbatim-files-from` desativa esse comportamento.

Esta opção afeta todas as opções `--files-from` que aparecem após ela na linha de comando. Seu
efeito é revertido pela opção `--no-verbatim-files-from`.

Esta opção é implícita pela opção `--null`.

Veja também `--add-file`.

-X, --exclude-from=ARQUIVO
Exclui arquivos que correspondem aos padrões listados em ARQUIVO.

Transformações de nomes de arquivos

--strip-components=NÚMERO
Remove NÚMERO de componentes iniciais dos nomes dos arquivos durante a extração.

--transform=EXPRESSÃO, --xform=EXPRESSÃO
Usa a expressão de substituição sed EXPRESSÃO para transformar os nomes dos arquivos.

Opções de correspondência de nomes de arquivos

Estas opções afetam tanto os padrões de exclusão quanto os de inclusão.

--anchored
Os padrões correspondem ao início do nome do arquivo.

--ignore-case
Ignora maiúsculas e minúsculas.

--no-anchored
Os padrões correspondem após qualquer / (padrão para exclusão).

--no-ignore-case
Correspondência sensível a maiúsculas e minúsculas (padrão).

--no-wildcards
Correspondência de string literal.

--no-wildcards-match-slash
Os curingas não correspondem a /.

--wildcards
Usa curingas (padrão para exclusão).

--wildcards-match-slash
Os curingas correspondem a / (padrão para exclusão).

Saída informativa

--checkpoint[=N]
Exibe mensagens de progresso a cada N registros (padrão 10).

--checkpoint-action=AÇÃO
Executa AÇÃO em cada ponto de verificação.

--clamp-mtime
Define o tempo somente se o arquivo for mais recente do que o especificado com --mtime.

--full-time
Imprime o tempo do arquivo em sua resolução total.

--index-file=ARQUIVO
Envia saída detalhada para o ARQUIVO.

-l, --check-links
Imprime uma mensagem se nem todos os links forem despejados.

--no-quote-chars=STRING
Desabilita a formatação de caracteres da STRING.

--quote-chars=STRING
Formata caracteres adicionais da STRING.

--quoting-style=ESTILO
Define o estilo de formatação para nomes de arquivos e membros. Valores válidos para ESTILO são: literal, shell, shell-always, c, c-maybe, escape, locale, clocale.

-R, --block-number
Exibe o número do bloco dentro do arquivo com cada mensagem.

--show-omitted-dirs
Ao listar ou extrair, lista cada diretório que não corresponde aos critérios de pesquisa.

--show-transformed-names, --show-stored-names
Exibe os nomes dos arquivos ou arquivos após a transformação pelas opções --strip e --transform.

--totals[=SINAL]
Imprime o total de bytes após o processamento do arquivo. Se SINAL for fornecido, imprime o total de bytes quando este sinal for entregue. Os sinais permitidos são: SIGHUP, SIGQUIT, SIGINT, SIGUSR1 e SIGUSR2. O prefixo SIG pode ser omitido.

--utc
Imprime os tempos de modificação dos arquivos em UTC.

-v, --verbose
Lista detalhadamente os arquivos processados. Cada instância desta opção na linha de comando aumenta o nível de detalhamento em um. O nível máximo de detalhamento é 3. Para uma discussão detalhada sobre como os vários níveis de detalhamento afetam a saída do tar, consulte o Manual do GNU Tar, subseção 2.5.2 "A opção '--verbose'".

--warning=PALAVRA-CHAVE
Habilita ou desabilita mensagens de aviso identificadas por PALAVRA-CHAVE. As mensagens são suprimidas se PALAVRA-CHAVE for prefixada com no- e habilitadas caso contrário.

Várias opções --warning são acumuladas.

Palavras-chave que controlam a operação geral do tar:

all
Habilita todas as mensagens de aviso. Este é o padrão.

none
Desabilita todas as mensagens de aviso.

filename-with-nuls
"%s: nome do arquivo contém caractere nulo"

alone-zero-block
"Um bloco zero isolado em %s"

Palavras-chave aplicáveis para tar --create:

cachedir
"%s: contém uma tag de diretório de cache %s; %s"

file-shrank
"%s: Arquivo encolheu em %s bytes; preenchendo com zeros"

xdev
"%s: arquivo está em um sistema de arquivos diferente; não despejado"

file-ignored
"%s: Tipo de arquivo desconhecido; arquivo ignorado"
"%s: socket ignorado"
"%s: door ignorado"

file-unchanged
"%s: arquivo não foi alterado; não despejado"

ignore-archive
"%s: o arquivo não pode conter a si mesmo; não despejado"

file-removed
"%s: Arquivo removido antes de lermos"

file-changed
"%s: arquivo alterado enquanto o líamos"

failed-read
Suprime avisos sobre arquivos ou diretórios que não podem ser lidos. Esta palavra-chave se aplica apenas se usada em conjunto com a opção --ignore-failed-read.

Palavras-chave aplicáveis para tar --extract:

existing-file
"%s: pulando arquivo existente"

timestamp
"%s: carimbo de data implausivelmente antigo %s"
"%s: o carimbo de data %s está %s segundos no futuro"

contiguous-cast
"Extraindo arquivos contíguos como arquivos regulares"

symlink-cast
"Tentando extrair links simbólicos como links físicos"

unknown-cast
"%s: Tipo de arquivo desconhecido '%c', extraído como arquivo normal"

ignore-newer
"O %s atual é mais recente ou da mesma idade"

unknown-keyword
"Ignorando palavra-chave de cabeçalho estendido desconhecida '%s'"

decompress-program

Controla a descrição detalhada dos erros que ocorrem ao tentar executar programas de descompressão alternativos. Este aviso está desativado por padrão (a menos que --verbose seja usado). Um exemplo comum do que você pode obter ao usar este aviso é:

$ tar --warning=decompress-program -x -f archive.Z
tar (filho): não é possível executar compress: Arquivo ou diretório inexistente
tar (filho): tentando gzip

Isso significa que o tar primeiro tentou descompactar archive.Z usando compress e, quando isso falhou, mudou para gzip.

record-size
"Tamanho do registro = %lu blocos"

Palavras-chave que controlam a extração incremental:

rename-directory
"%s: O diretório foi renomeado de %s"
"%s: O diretório foi renomeado"

new-directory
"%s: O diretório é novo"

xdev   "%s: o diretório está em um dispositivo diferente: não removendo"

bad-dumpdir
"dumpdir malformado: 'X' nunca usado"

-w, --interactive, --confirmation

Solicitar confirmação para cada ação.

Opções de compatibilidade

-o     Ao criar, é o mesmo que --old-archive. Ao extrair, é o mesmo que --no-same-owner.

Sufixos de tamanho

Sufixo Unidades Equivalente em Bytes

b         Blocos                  TAMANHO x 512
B         Kilobytes               TAMANHO x 1024
c         Bytes                   TAMANHO
G         Gigabytes               TAMANHO x 1024^3
K         Kilobytes               TAMANHO x 1024
k         Kilobytes               TAMANHO x 1024
M         Megabytes               TAMANHO x 1024^2
P         Petabytes               TAMANHO x 1024^5
T         Terabytes               TAMANHO x 1024^4
w         Palavras                TAMANHO x 2

VALOR DE RETORNO

O código de saída do Tar indica se ele conseguiu executar com sucesso a operação solicitada e, caso contrário, que tipo de erro ocorreu.

0     Finalização bem-sucedida.

1     Alguns arquivos são diferentes. Se o tar foi invocado com a opção de linha de comando --compare (--diff, -d), isso significa que alguns arquivos no arquivo são diferentes de seus equivalentes em disco. Se o tar recebeu uma das opções --create, --append ou --update, este código de saída significa que alguns arquivos foram alterados enquanto estavam sendo arquivados e, portanto, o arquivo resultante não contém a cópia exata do conjunto de arquivos.

2     Erro fatal. Isso significa que ocorreu algum erro fatal e irrecuperável.

Se um sub-processo que foi invocado pelo tar saiu com um código de saída diferente de zero, o próprio tar sai com esse código também. Isso pode acontecer, por exemplo, se uma opção de compressão (por exemplo, -z) foi usada e o programa de compressão externo falhou. Outro exemplo é a falha do rmt durante o backup para um dispositivo remoto.


VEJA TAMBÉM

bzip2(1), compress(1), gzip(1), lzma(1), lzop(1), rmt(8), symlink(7), xz(1), zstd(1).

Manual completo do tar: execute info tar ou use emacs(1) no modo info para lê-lo.

Cópias online da documentação do GNU tar em vários formatos podem ser encontradas em:

https://www.gnu.org/software/tar/manual

RELATOS DE ERROS

Relate erros para <_>.

DIREITOS AUTORAIS

Copyright © 2023 Free Software Foundation, Inc. Licença GPLv3+: GNU GPL versão 3 ou posterior [http://gnu.org/licenses/gpl.html] Este é um software livre: você é livre para alterá-lo e redistribuí-lo. NÃO HÁ GARANTIA, na medida permitida por lei.