4Sep

Como comprimir e extrair arquivos usando o comando tar em Linux

O comando tar em Linux é freqüentemente usado para criar arquivos de arquivo. tar.gz ou. tgz, também chamados de "tarballs". Esse comando possui uma grande quantidade de opções, mas você precisa lembrar algumas letras para criar rapidamente arquivos comalcatrão. O comando tar pode extrair os arquivos resultantes também.

O comando GNU tar incluído nas distribuições Linux tem compressão integrada. Pode criar um arquivo. tar e, em seguida, compactá-lo com compressão gzip ou bzip2 em um único comando.É por isso que o arquivo resultante é um arquivo. tar.gz ou arquivo. tar.bz2.

Comprimir um Diretório inteiro ou um arquivo único

Use o seguinte comando para comprimir um diretório inteiro ou um único arquivo no Linux. Ele também irá compactar todos os outros diretórios dentro de um diretório que você especifica - em outras palavras, ele funciona de forma recursiva.

tar -czvf nome-de-arquivo.tar.gz /path/to/ diretório-ou-arquivo

Aqui está o que essas mudanças realmente significam:

  • -c: C reate um arquivo.
  • -z: Comprimir o arquivo com g z ip.
  • -v: Mostra o progresso no terminal ao criar o arquivo, também conhecido como " v erbose".O v é sempre opcional nestes comandos, mas é útil.
  • -f: Permite especificar o f , o nome do arquivo.

Digamos que você tenha um diretório chamado "coisas" no diretório atual e que deseja salvá-lo em um arquivo chamado archive.tar.gz. Você executaria o seguinte comando:

tar -czvf archive.tar.gz material

Ou, digamos que há um diretório no /usr/local/ algo no sistema atual e que você deseja compactá-lo para um arquivo chamado archive.tar.gz. Você executaria o seguinte comando:

tar -czvf archive.tar.gz /usr/local/ algo

Compressar vários diretórios ou arquivos de uma vez

Enquanto tar é freqüentemente usado para comprimir um único diretório, você também pode usá-lo para comprimir vários diretórios, múltiplosarquivos individuais, ou ambos. Basta fornecer uma lista de arquivos ou diretórios em vez de um único. Por exemplo, digamos que deseja comprimir o diretório de downloads /home/ubuntu/, o diretório de coisas /usr/local/ e o arquivo notes.txt /home/ubuntu/Documents/.Você apenas executaria o seguinte comando:

tar -czvf archive.tar.gz /home/ubuntu/ Downloads /usr/local/ material /home/ubuntu/Documents/ notes.txt

Apenas liste tantos diretórios ou arquivos como você deseja fazer backup.

Excluir diretórios e arquivos

Em alguns casos, você pode querer comprimir um diretório inteiro, mas não incluir determinados arquivos e diretórios. Você pode fazer isso anexando um --exclude switch para cada diretório ou arquivo que deseja excluir.

Por exemplo, digamos que deseja comprimir o ubuntu /home/, mas você não deseja compactar os downloads /home/ubuntu/ e /home/ubuntu/. cache. Veja como você faria isso:

tar -czvf archive.tar.gz /home/ ubuntu --exclude = /home/ubuntu/ Downloads --exclude = /home/ubuntu/. cache

O interruptor --exclude é muito poderoso. Não tem nomes de diretórios e arquivos - ele realmente aceita padrões. Há muito mais que você pode fazer com isso. Por exemplo, você pode arquivar um diretório inteiro e excluir todos os arquivos. mp4 com o seguinte comando:

tar -czvf archive.tar.gz /home/ ubuntu --exclude = *. Mp4

Use bzip2 Compressão Em vez de

Enquanto a compressão gzip é mais freqüenteusado para criar arquivos. tar.gz ou. tgz, tar também suporta compressão bzip2.Isso permite que você crie arquivos compactados com bzip2, geralmente com os arquivos. tar.bz2,. tar.bz ou. tbz. Para fazer isso, basta substituir o -z para gzip nos comandos aqui com a -j para bzip2.

O Gzip é mais rápido, mas geralmente comprime um pouco menos, então você obtém um arquivo um pouco maior. O Bzip2 é mais lento, mas comprime um pouco mais, então você obtém um arquivo um pouco menor. O Gzip também é mais comum, com alguns sistemas Linux despojados, incluindo suporte gzip por padrão, mas não suporte bzip2.Em geral, no entanto, o gzip e o bzip2 são praticamente o mesmo e ambos funcionarão de forma semelhante.

Por exemplo, em vez do primeiro exemplo que fornecemos para comprimir o diretório de coisas, você executaria o seguinte comando:

tar -cjvf arquivo.tar.bz2 material

Extrair um arquivo

Depois de ter um arquivo, você pode extraí-locom o comando tar. O comando a seguir extrairá o conteúdo do archive.tar.gz para o diretório atual.

tar -xzvf archive.tar.gz

É o mesmo que o comando de criação de arquivo que usamos acima, exceto que a opção -x substitui a opção -c. Isso especifica que você deseja que o x trate um arquivo em vez de criar um.

Você pode querer extrair o conteúdo do arquivo para um diretório específico. Você pode fazer isso anexando a opção -C ao final do comando. Por exemplo, o seguinte comando extrairá o conteúdo do arquivo archive.tar.gz para o diretório / tmp.

tar -xzvf archive.tar.gz -C / tmp

Se o arquivo for um arquivo comprimido bzip2, substitua o "z" nos comandos acima com um "j".

Este é o uso mais simples possível do comando tar. O comando inclui um grande número de opções adicionais, então não podemos listá-los todos aqui. Para maiores informações.execute o comando info tar no shell para visualizar a página de informações detalhadas do comando tar. Pressione a tecla q para sair da página de informações quando terminar. Você também pode ler o manual do tar em linha.

Se você estiver usando uma área de trabalho gráfica do Linux, você também pode usar o utilitário de compressão de arquivos ou gerenciador de arquivos incluído na sua área de trabalho para criar ou extrair arquivos. tar. No Windows, você pode extrair e criar arquivos. tar com o utilitário gratuito 7-Zip.