Como extrair um único arquivo ou diretório de TAR ou TAR.GZ


Um tarball (TAR ou TAR.GZ) é um conjunto de arquivos agrupados em um único arquivo, facilitando o armazenamento e a transferência de um grande número de arquivos localmente ou pela Internet. Sempre que precisar dos arquivos, basta extrair o arquivo.

Considere um cenário em que você só precisa de um único arquivo de um arquivo grande. Nesse caso, em vez de extrair o arquivo inteiro, você pode extrair apenas o arquivo necessário. Vamos ver como.

Ver o conteúdo de um Tarball

Se você deseja apenas visualizar o conteúdo de um arquivo TAR ou TAR.GZ, não é necessário extraí-lo. Em vez disso, use o seguinte comando para ver o que está dentro:

tar -tvf (archive.tar) tar -ztvf (archive.tar.gz)

Isso imprimirá a lista de todos os arquivos e diretórios dentro do arquivo.

visualizar o conteúdo do arquivo tar

Para extrair um único arquivo de TAR ou TAR.GZ, use o seguinte formato de comando:

tar -xvf (archive.tar) (path-to-file) tar -zxvf (archive.tar.gz) (path-to-file)

Lembre-se, você terá que fornecer o caminho completo para o arquivo que deseja extrair. Você pode encontrar o caminho completo do arquivo ou diretório usando o tar -tvf (arquivo.tar) comando.

Para extrair um arquivo teste1.txt de test.takes e corpo.tar.gz arquivos, os comandos seriam:

tar -xvf test.tar test1.txt tar -zxvf test.tar.gz test1.txt

…onde:

  1. -x é usado para extrair arquivos do arquivo
  2. -v é usado para ver o progresso enquanto eles estão sendo extraídos
  3. -f é usado para especificar o nome do tarball
  4. -z é usado para descompactar arquivos TAR.GZ

Esses comandos extrairão o arquivo especificado no diretório do terminal atual.

extrair um único arquivo do tar

Da mesma forma, você também pode extrair um único diretório de um tarball usando a seguinte sintaxe:

tar xvf (archive.tar) (path-to-directory) tar -zxvf (archive.tar.gz) (path-to-directory)

Por exemplo, para extrair um arquivo inteiro teste 1 subdiretório do test.takes arquivo, você precisaria fornecer o caminho completo do diretório, ou seja teste/teste1:

tar -xvf test.tar test/test1

Isso extrairá todo o subdiretório teste/teste1 no diretório do terminal atual.

extrair um único diretório do tar

Você também pode extrair um arquivo ou diretório de um tarball para um diretório diferente. Para isso, use a mesma sintaxe acima, mas adicione o -C opção seguida pelo diretório de destino:

tar -xvf (archive.tar) -C (destination_directory) (file-or-directory) tar -zxvf (archive.tar.gz) -C (destination_directory) (file-or-directory)

Digamos que queremos extrair um diretório teste2 de test.takes arquivo para o Transferências diretório em vez do diretório de trabalho atual. O comando, neste caso, seria:

tar -xvf test.tar -C ~/Downloads/ test/test2
extrair um único diretório para um diretório diferente

Excluir um único arquivo ou diretório de um Tarball

Se você precisar excluir um único arquivo ou diretório de um arquivo TAR ou TAR.GZ, use o –excluir opção com o comando tar:

tar -vf (archive.tar) --delete (file-or-directory)

No entanto, você não pode excluir um arquivo ou diretório diretamente de um tarball compactado (TAR.GZ). O que você precisa fazer é primeiro descompactar o arquivo TAR.GZ, excluir o arquivo ou diretório e, em seguida, recompactá-lo.

Para descompactar o arquivo TAR.GZ, use o seguinte comando:

gzip -d (archive.tar.gz)

Descompactá-lo irá converter o arquivo em um TAR. Agora você pode excluir o arquivo do arquivo TAR usando:

tar -vf (archive.tar) --delete (file-or-directory)

Depois disso, recompacte o arquivo TAR usando gzip:

gzip -f (archive.tar)
excluir um arquivo do tar

Economize tempo ao trabalhar com arquivos no Linux

Extrair apenas os arquivos necessários de um arquivo não apenas evita a confusão, mas também economiza tempo que, de outra forma, seria gasto pesquisando um grande número de arquivos.

Às vezes, criar e extrair arquivos TAR resulta em arquivos duplicados em seu sistema. Portanto, é uma boa prática identificar e remover essas duplicatas periodicamente para organizar seu espaço. 

Postar um comentário

Postagem Anterior Próxima Postagem