A ferramenta TAR (Tape Archive) no Linux é uma poderosa utilidade usada para arquivar, ou seja, combinar vários arquivos ou diretórios em um único arquivo. Este arquivo resultante é conhecido como tarball. Além de arquivar, o TAR permite compactar, listar o conteúdo do arquivo e manipular arquivos dentro do tarball. Neste artigo, vamos explorar essas operações, fornecendo exemplos práticos para cada uma delas.
Seção 1: Criando um Tarball
A criação de um tarball é feita usando a opção -c
(criar) seguida pela opção -f
(file), e então especificando o nome do tarball e os arquivos ou diretórios que você deseja incluir.
Uso prático
Para criar um tarball chamado “arquivo.tar” com os arquivos “arquivo1.txt” e “arquivo2.txt”, você usaria o seguinte comando:
$ tar -cf arquivo.tar arquivo1.txt arquivo2.txt
Seção 2: Compactando um Tarball
Para compactar um tarball, é preciso usar uma das opções -z
(para compactação gzip) ou -j
(para compactação bzip2) juntamente com -c
e -f
.
Uso prático
Para criar um tarball compactado com gzip chamado “arquivo.tar.gz” com os mesmos arquivos, você usaria o seguinte comando:
$ tar -czf arquivo.tar.gz arquivo1.txt arquivo2.txt
Seção 3: Listando o Conteúdo de um Tarball
Para listar o conteúdo de um tarball, você usará a opção -t
(listar) seguida por -f
e o nome do tarball.
Uso prático
Para listar o conteúdo do tarball “arquivo.tar.gz”, você usaria o seguinte comando:
$ tar -tzf arquivo.tar.gz
Seção 4: Excluindo Arquivos de um Tarball
O tar não suporta diretamente a remoção de arquivos de um tarball existente. Entretanto, você pode fazer isso extraindo o tarball, removendo os arquivos desejados e então criando um novo tarball.
Uso prático
Para remover o “arquivo1.txt” do tarball “arquivo.tar.gz”, você primeiro extrairia o tarball, removeria o arquivo e então recriaria o tarball:
$ tar -xzf arquivo.tar.gz
$ rm arquivo1.txt
$ tar -czf arquivo.tar.gz arquivo2.txt
Seção 5: Excluindo Arquivos após a Compactação
Se você deseja excluir os arquivos originais após a compactação, você pode fazer isso manualmente com o comando rm
. Contudo, é preciso ter cuidado para não excluir nenhum arquivo que ainda seja necessário.
Uso prático
Para excluir “arquivo1.txt” e “arquivo2.txt” após a compactação, você usaria o seguinte comando:
$ tar -czf arquivo.tar.gz arquivo1.txt arquivo2.txt
$ rm arquivo1.txt arquivo2.txt
Seção 6: Extraindo um Tarball
Para extrair um tarball, use a opção -x
(extrair) seguida por -f
e o nome do tarball.
Uso prático
Para extrair o tarball “arquivo.tar.gz”, use o seguinte comando:
$ tar -xzf arquivo.tar.gz
Os arquivos originais, “arquivo1.txt” e “arquivo2.txt”, serão restaurados em seu diretório atual.
Seção 7: Adicionando Arquivos a um Tarball Existente
Para adicionar arquivos a um tarball existente, use a opção -r
(append) seguida por -f
e o nome do tarball, e então o nome dos arquivos que deseja adicionar.
Uso prático
Para adicionar “arquivo3.txt” ao tarball “arquivo.tar”, use o seguinte comando:
$ tar -rf arquivo.tar arquivo3.txt
Seção 8: Comparando Arquivos com um Tarball
Para verificar se os arquivos em seu sistema correspondem ao conteúdo de um tarball, use a opção -d
(diff) seguida por -f
e o nome do tarball.
Uso prático
Para comparar o tarball “arquivo.tar” com os arquivos atuais, use o seguinte comando:
$ tar -df arquivo.tar
Isso listarará as diferenças entre os arquivos no tarball e os arquivos no sistema.
Seção 9: Preservando Permissões ao Criar ou Extrair um Tarball
Quando se trabalha com tarballs, pode ser importante preservar as permissões de arquivo e propriedade durante o processo de arquivamento ou extração. Felizmente, o TAR tem opções para isso.
Ao criar um tarball, o TAR preserva as permissões de arquivo e propriedade por padrão. No entanto, ao extrair um tarball, o usuário pode precisar usar a opção --same-owner
para preservar o proprietário do arquivo e a opção -p
(ou --preserve-permissions
) para preservar as permissões do arquivo.
Uso prático
Para extrair um tarball “arquivo.tar.gz” preservando o proprietário e as permissões do arquivo, use o seguinte comando:
$ tar -xpzf arquivo.tar.gz --same-owner
Seção 10: Excluindo Arquivos Após a Compactação com a opção -remove-files
Ao criar um tarball, o TAR tem uma opção útil -remove-files
que exclui os arquivos originais após eles serem adicionados ao tarball. Isso pode ser útil quando você está lidando com grandes quantidades de dados que não precisam ser mantidos em sua forma original após a compactação.
Uso prático
Para criar um tarball chamado “arquivo.tar.gz” com os arquivos “arquivo1.txt” e “arquivo2.txt”, e em seguida excluir esses arquivos originais, você usaria o seguinte comando:
$ tar -czf arquivo.tar.gz arquivo1.txt arquivo2.txt --remove-files
Após a execução desse comando, “arquivo1.txt” e “arquivo2.txt” serão compactados no tarball e, em seguida, excluídos do sistema de arquivos.
Conclusão
O TAR no Linux é uma ferramenta extremamente versátil e poderosa, com uma ampla gama de opções que permitem aos usuários adaptar seus comandos às suas necessidades específicas. Seja você um administrador de sistemas fazendo backups, um desenvolvedor compactando código para distribuição ou um usuário regular fazendo um pouco de limpeza de arquivos, o TAR tem você coberto. Com opções como -remove-files
para exclusão automática de arquivos após a compactação, até a preservação de permissões e propriedades de arquivos com --same-owner
e -p
, o TAR é uma parte indispensável de qualquer kit de ferramentas de gerenciamento de arquivos Linux.