O comando tar no Linux é uma das ferramentas mais utilizadas por administradores de sistemas e usuários avançados para empacotar arquivos.
Ele é extremamente versátil, permitindo agrupar múltiplos arquivos para criar backups, podendo ser usado em conjunto com programas para compactação de arquivos no linux.
Por ser tão usado é importante que iniciantes em linux e administradores saberem usá-lo, e para suprir essa necessidade a seguir você vai aprender 10 exemplos práticos para usar o comando tar no linux.
Como instalar o comando tar no linux ?
Na maioria das distribuições linux o comando tar já vêm instalado, mas caso ainda não foi instalado na distro que está usando siga o passo-a-passo a seguir para instalá-lo nas principais distros linux.
Para instalar no RHEL/AlmaLinux/RockyLinux/Fedora:
dnf install tar -y # instala pacote tar
dnf install gzip bzip2 xz lzop -y # instala comandos para compactarPara instalar nas distribuições linux Debian/Ubuntu e derivadas:
apt install tar -y # instala pacote tar
apt install gzip bzip2 xz-utils lzop -y # instala comandos para compactarSe precisar aprender mais sobre os comandos apt e dnf recomendo a leitura do nosso guia para iniciantes.
Como executar o comando tar no linux ?
Se está pergunta-se como usar o comando tar ? Primeiro precisa entender a sua sintaxe, Veja a sintaxe do comando tar na imagem abaixo:

Antes do archive(arquivo .tar) tem a opção -f para informar o arquivo TAR que será criado, atualizado ou que será usado para extrair arquivos de dentro.
DICA
Você pode incluir as opções sem espaços entre elas e sem o hífen no incio, assim: “cvf”, mas caso inclua o hífen em uma delas as outras opções precisam ter hífen, assim: “-cvf” ou “-c -vf” ou “-c -v -f”
E após o arquivo TAR vêm o(s) nome(s) do(s) arquivo(s) que será arquivado(quando criado ou atualizado um arquivo “.tar”) ou extraído(quando precisa extrair arquivos do arquivo “.tar”).
Criar um arquivo TAR simples
O exemplo a seguir cria uma cópia recursiva dos arquivos do diretório /etc/systemd, incluindo sua estrutura de diretórios e armazena no arquivo TAR chamado etc-systemd.tar.
tar cpvf etc-systemd.tar /etc/systemdAVISO
A conta de usuário que executou o comando deve ter permissão de lê os arquivos e de acessar e listar o conteúdo do diretório. Caso não tenha essas permissões o comando falhará.
Explicação das opções:
- -f: Informa a localização do arquivo TAR.
- -c: Cria um novo arquivo “.tar”.
- -v: Exibe detalhes do progresso do comando, é opcional.
- -p: As permissões dos arquivos e diretórios copiados para dentro do arquivo “.tar” são mantidas. Ao extrair os arquivos as permissões são mantidas, desde que a opção -p seja usada com a opção -x ou executando o comando tar com usuário root.

Listar o conteúdo de um arquivo TAR
Após empacotar os arquivos é possível listar e visualizar na tela o conteúdo do arquivo “.tar” usando a opção -t do comando tar no linux para saber se realmente todos os arquivos estão dentro do arquivo TAR criado.
Veja o exemplo para listar o conteúdo do arquivo etc-systemd.tar:
tar tvf etc-systemd.tar
A opção -t do comando tar é importante e bem útil para checar se o backup contém realmente os arquivos que foram copiados para dentro do TAR. Afinal de contas a cópia do arquivo precisa existir se precisar restaurá-la, não é mesmo ?
Extrair todos os arquivos do TAR
Para extrair o conteúdo do arquivo TAR para o diretório atual execute o comando tar com a opção -x.
O Exemplo a seguir vou extrair para o diretório corrente o conteúdo do arquivo etc-systemd.tar:
tar -xf etc-systemd.tar
DICA: Somente use a opção -v ao extrair arquivos se for necessário, por que quando usada durante a extração dos arquivos faz o comando tar demorar muito mais tempo para ser concluído.
Extraindo arquivos específicos de um arquivo TAR
Para extrair um arquivo específico é necessário informar o nome do arquivo que será extraído após a localização do arquivo TAR existente.
AVISO
Inclua a localização completa do arquivo que será extraído, sem o caractere “/” barra no início. E o nome dos arquivos deve ficar entre aspas.
Veja o exemplo em que o arquivo timesyncd.conf é extraído:
tar -xvf etc-systemd.tar “etc/systemd/timesyncd.conf”
Caso precise extrair mais arquivos ao mesmo tempo, inclua a localização completa de cada um após o arquivo TAR com um espaço entre eles.
Veja o exemplo para extrair os arquivos networkd.conf e journald.conf:
tar -xvf etc-systemd.tar “etc/systemd/networkd.conf” “etc/systemd/journald.conf”Extrair arquivos em um diretório específico
Se está precisando extrair os arquivos para um diretório de destino diferente do atual use a opção -C MAIÚSCULO do comando tar.
Veja o exemplo a seguir que extrai o conteúdo do arquivo etc-systemd.tar para o diretório /tmp:
tar -xpf etc-systemd.tar -C /tmpAssim todo o conteúdo incluindo a estrutura de diretórios são extraídos para /tmp.
Como compactar arquivos com o comando tar ?
Além de empacotar arquivos o comando tar no linux também pode ser usado em conjunto com programas, como por exemplo: gzip, bzip2, xz e lzop para compactar arquivos.
IMPORTANTE
O comando tar(tape archive) é um empacotador de arquivos, sendo assim, ele não reduz o tamanho dos arquivos, apenas faz o arquivamento de arquivos, mantendo inclusive as informações sobre os arquivos empacotados.
Isso é útil para compactar os arquivos que estão sendo arquivados sem precisar executar outro comando manualmente.
O comando é similar para cada meio de compressão, o que muda é somente as opções de compressão.
tar -cpzf etc-defaul.tar.gz /etc/default # cria um arquivo TAR e comprime com gzip(opção -z)tar -cpjf etc-grub.tar.bz2 /etc/grub.d # cria um arquivo TAR e comprime com bzip2(opção -j)tar --xz -cpf var-log.tar.xz /var/log # cria um arquivo TAR e comprime com xz(opção --xz)tar --lzop -cpf boot.tar.lzo /boot # cria um arquivo TAR e comprime com lzop(opção --lzop)Extrair arquivos de um arquivo TAR compactado
Para extrair os arquivos TAR comprimidos use a opção -x do comando tar no linux. Veja abaixo o exemplo para extrair o conteúdo de arquivos TAR comprimidos com gz, bzip2, xz e lzop.
tar -xpf etc-defaul.tar.gz # Extrai conteúdo do arquivo TAR comprimido( .tar.gz ) com gziptar -xpf etc-grub.tar.bz2 # Extrai conteúdo do arquivo TAR comprimido com bzip2tar -xpf var-log.tar.xz # Extrai conteúdo do arquivo TAR comprimido com xztar -xpf boot.tar.lzo # Extrai conteúdo do arquivo TAR comprimido com lzopExcluir arquivos ao criar o arquivo TAR
É possível também excluir um arquivo da lista de arquivos que serão adicionados no backup usando o comando tar, para isso use a opção --exclude seguido da localização completa do arquivo ou diretório que será excluído.
Veja o exemplo em que é criado um backup do conteúdo de /boot, mas é excluído do backup o conteúdo de /boot/grub.
tar --exclude=’/boot/grub’ -cvf files-boot.tar /boot
Caso precisa informar uma lista de arquivos que não serão inclusos no backup, você pode criar um arquivo e dentro do arquivo incluir a localização completa de cada arquivo que será excluído do backup e esse arquivo deve ser passado como valor para a opção -X.
Por exemplo, crie um arquivo chamado lista-excluidos.txt e inclua na lista os arquivos que serão excluídos, sendo um por linha. Por exemplo, criei o arquivo com a lista de arquivos a seguir:
/boot/vmlinuz.old
/boot/initrd.img.old
/boot/grubEm seguida executei o comando:
tar -X lista-excluidos.txt -cvf files-boot2.tar /boot
Veja na saída do comando que os arquivos da lista não são inclusos no arquivo files-boot2.tar.
Anexando arquivos a um arquivo TAR existente
Para adicionar arquivos ou diretórios ao arquivo ”.tar” existente use a opção -r. Veja o exemplo a seguir, o arquivo vmlinuz.old é adicionado ao arquivo files-boot2.tar.
tar -rvf files-boot2.tar /boot/vmlinuz.oldIMPORTANTE
O comando tar -r não funciona diretamente em arquivos do tipo TAR compactados. Você precisa descompactar, adicionar o novo arquivo e compactar novamente.
Liste se o arquivo foi realmente adicionado:
tar tvf files-boot2.tar
Removendo arquivos de dentro do arquivo TAR existente
Para remover um arquivo de dentro de um arquivo “.tar” execute o comando tar com a opção --delete.
IMPORTANTE
Para arquivos TAR compactados: descompacte, remova o arquivo de dentro e em seguida compacte novamente, ou use o comando diretamente se o tar suportar.
No exemplo a abaixo o arquivo “boot/vmlinuz.old” é deletado de dentro do arquivo files-boot2.tar.
tar --delete -vf files-boot2.tar “boot/vmlinuz.old”Liste o conteúdo e veja se realmente removeu:
tar tvf files-boot2.tar
Conclusão
Espero que os exemplos práticos de uso do comando tar no Linux tenha ajudado, pois o tar é uma ferramenta indispensável para backup de arquivos tanto para uso doméstico quanto para profissionais de ti que trabalham com sistemas linux.
Para aprender mais sobre o comando tar consulte o manual.
Caso tenha alguma dúvida, sugestão ou correção não deixe comentar.

