Introdução
O comando tar no Linux é uma ferramenta poderosa utilizada para arquivar arquivos e diretórios. Esta ferramenta permite aos usuários agrupar múltiplos arquivos e diretórios em um único arquivo de arquivo, tornando o armazenamento, transferência e backup de dados mais eficientes. Neste laboratório, você aprenderá como usar o comando tar para criar arquivos, visualizar seus conteúdos e extrair arquivos deles. Essas habilidades são essenciais para administradores de sistemas, desenvolvedores e qualquer usuário Linux que precise gerenciar dados de forma eficiente.
Criando uma Estrutura de Diretórios para Arquivamento
Antes de podermos criar um arquivo, precisamos de alguns arquivos e diretórios para trabalhar. Nesta etapa, você criará uma estrutura de diretórios com vários arquivos que serão posteriormente arquivados.
Primeiro, vamos navegar para o diretório de trabalho padrão:
cd ~/project
Agora, vamos criar um diretório chamado document_library com três subdiretórios: reports, specifications e references:
mkdir -p ~/project/document_library/{reports,specifications,references}
O comando mkdir cria diretórios, e a opção -p nos permite criar diretórios pai se eles não existirem. As chaves {} são usadas para criar múltiplos subdiretórios de uma vez.
Em seguida, vamos criar alguns arquivos de exemplo em cada um desses diretórios:
touch ~/project/document_library/reports/{quarterly,annual,monthly}.txt
touch ~/project/document_library/specifications/{product,service,system}.txt
touch ~/project/document_library/references/{guide,manual,handbook}.txt
O comando touch cria arquivos vazios. Neste caso, estamos criando três arquivos de texto em cada subdiretório.
Vamos verificar se nossa estrutura de diretórios foi criada corretamente usando o comando ls com a opção -R para listar recursivamente o conteúdo dos diretórios:
ls -R ~/project/document_library
Você deve ver uma saída semelhante a esta:
/home/labex/project/document_library:
references reports specifications
/home/labex/project/document_library/references:
guide.txt handbook.txt manual.txt
/home/labex/project/document_library/reports:
annual.txt monthly.txt quarterly.txt
/home/labex/project/document_library/specifications:
product.txt service.txt system.txt
Isso mostra que criamos com sucesso nossa estrutura de diretórios com os arquivos de exemplo. Na próxima etapa, aprenderemos como criar um arquivo desses arquivos usando o comando tar.
Criando um Arquivo com tar
Agora que temos nossa estrutura de diretórios configurada, vamos usar o comando tar para criar um arquivo de todo o diretório document_library. O comando tar é versátil e possui muitas opções, mas vamos nos concentrar nas mais comuns por enquanto.
A sintaxe básica para criar um arquivo com tar é:
tar [options] [archive-name] [files or directories to archive]
Opções comuns incluem:
-c: Criar um novo arquivo-z: Comprimir o arquivo usando gzip-v: Modo verbose (mostrar progresso)-f: Especificar o nome do arquivo do arquivo-C: Mudar para o diretório especificado antes de realizar operações
Vamos criar um arquivo compactado do nosso diretório document_library:
tar -czvf ~/project/documents_archive.tar.gz -C ~/project document_library
Neste comando:
-cdiz ao tar para criar um novo arquivo-zdiz ao tar para comprimir o arquivo usando gzip-vhabilita o modo verbose, mostrando os arquivos sendo processados-f ~/project/documents_archive.tar.gzespecifica o nome do arquivo do arquivo-C ~/projectdiz ao tar para mudar para o diretório~/projectantes de arquivardocument_libraryé o diretório que queremos arquivar
Você deve ver a saída listando todos os arquivos sendo adicionados ao arquivo. Isso indica que o arquivo está sendo criado com sucesso.
Para verificar se o arquivo foi criado, vamos verificar sua existência e tamanho:
ls -lh ~/project/documents_archive.tar.gz
A saída deve mostrar algo como:
-rw-r--r-- 1 labex labex 237 Sep 22 10:00 /home/labex/project/documents_archive.tar.gz
As opções -lh com ls mostram informações detalhadas, incluindo tamanhos de arquivos legíveis por humanos. O tamanho real do arquivo pode variar, mas deve ser relativamente pequeno, pois nossos arquivos de exemplo estão vazios.
Parabéns! Você criou com sucesso um arquivo compactado de sua estrutura de diretórios. Na próxima etapa, exploraremos como visualizar o conteúdo deste arquivo sem extraí-lo.
Visualizando o Conteúdo de um Arquivo
Antes de extrair um arquivo, é frequentemente útil visualizar seu conteúdo para garantir que ele contenha os arquivos esperados ou para localizar arquivos específicos. O comando tar fornece opções para listar o conteúdo de um arquivo sem extraí-lo.
Para listar o conteúdo do arquivo que criamos, use o seguinte comando:
tar -tvf ~/project/documents_archive.tar.gz
Neste comando:
-tdiz ao tar para listar o conteúdo do arquivo-vhabilita o modo verbose, mostrando informações detalhadas-f ~/project/documents_archive.tar.gzespecifica o arquivo do arquivo a ser examinado
Você deve ver uma saída semelhante a esta:
drwxr-xr-x labex/labex 0 2023-09-22 10:00 document_library/
drwxr-xr-x labex/labex 0 2023-09-22 10:00 document_library/references/
-rw-r--r-- labex/labex 0 2023-09-22 10:00 document_library/references/guide.txt
-rw-r--r-- labex/labex 0 2023-09-22 10:00 document_library/references/handbook.txt
-rw-r--r-- labex/labex 0 2023-09-22 10:00 document_library/references/manual.txt
drwxr-xr-x labex/labex 0 2023-09-22 10:00 document_library/reports/
-rw-r--r-- labex/labex 0 2023-09-22 10:00 document_library/reports/annual.txt
-rw-r--r-- labex/labex 0 2023-09-22 10:00 document_library/reports/monthly.txt
-rw-r--r-- labex/labex 0 2023-09-22 10:00 document_library/reports/quarterly.txt
drwxr-xr-x labex/labex 0 2023-09-22 10:00 document_library/specifications/
-rw-r--r-- labex/labex 0 2023-09-22 10:00 document_library/specifications/product.txt
-rw-r--r-- labex/labex 0 2023-09-22 10:00 document_library/specifications/service.txt
-rw-r--r-- labex/labex 0 2023-09-22 10:00 document_library/specifications/system.txt
Esta saída mostra as permissões, o proprietário, o tamanho, a data de modificação e o caminho de cada arquivo e diretório no arquivo.
Se você deseja pesquisar arquivos específicos no arquivo, pode direcionar a saída para grep. Por exemplo, para encontrar todos os arquivos com "annual" em seus nomes:
tar -tvf ~/project/documents_archive.tar.gz | grep annual
Isso deve exibir:
-rw-r--r-- labex/labex 0 2023-09-22 10:00 document_library/reports/annual.txt
Visualizar o conteúdo de um arquivo é útil quando você precisa verificar o que está dentro antes de extrair, especialmente ao lidar com arquivos grandes ou quando você está interessado apenas em arquivos específicos. Na próxima etapa, aprenderemos como extrair arquivos do nosso arquivo.
Extraindo Arquivos de um Arquivo
Agora que sabemos como criar arquivos e visualizar seu conteúdo, vamos aprender como extrair arquivos de um arquivo. Isso é útil quando você precisa restaurar arquivos de um backup ou quando recebe um arquivo de outra pessoa.
Para demonstrar isso, vamos primeiro simular um cenário em que nossa estrutura de diretórios original é perdida. Removeremos o diretório document_library:
rm -rf ~/project/document_library
O comando rm remove arquivos e diretórios, e as opções -rf dizem a ele para operar recursivamente e forçar a remoção sem solicitar confirmação. Tenha cuidado ao usar este comando em cenários do mundo real, pois ele exclui permanentemente os arquivos.
Vamos verificar se o diretório foi removido:
ls -la ~/project
Você não deve ver document_library na listagem, mas ainda deve ver seu arquivo documents_archive.tar.gz.
Agora, vamos extrair o arquivo para restaurar nossos arquivos. A sintaxe básica para extrair com tar é:
tar [options] [archive-name]
Opções comuns de extração incluem:
-x: Extrair arquivos de um arquivo-z: Descomprimir usando gzip-v: Modo verbose (mostrar progresso)-f: Especificar o nome do arquivo do arquivo-C: Mudar para o diretório especificado antes de extrair
Vamos extrair nosso arquivo:
tar -xzvf ~/project/documents_archive.tar.gz -C ~/project
Neste comando:
-xdiz ao tar para extrair arquivos-zdiz ao tar para descomprimir o arquivo gzipped-vhabilita o modo verbose, mostrando os arquivos sendo extraídos-f ~/project/documents_archive.tar.gzespecifica o arquivo do arquivo-C ~/projectdiz ao tar para extrair os arquivos para o diretório~/project
Você deve ver a saída listando todos os arquivos sendo extraídos, semelhante ao que você viu ao criar o arquivo.
Vamos verificar se nossa estrutura de diretórios foi restaurada:
ls -R ~/project/document_library
Você deve ver a mesma estrutura de diretórios e arquivos que criamos originalmente:
/home/labex/project/document_library:
references reports specifications
/home/labex/project/document_library/references:
guide.txt handbook.txt manual.txt
/home/labex/project/document_library/reports:
annual.txt monthly.txt quarterly.txt
/home/labex/project/document_library/specifications:
product.txt service.txt system.txt
Se você deseja extrair apenas arquivos específicos de um arquivo, pode especificar seus caminhos após o nome do arquivo. Por exemplo, para extrair apenas o diretório reports:
mkdir -p ~/project/extracted_reports
tar -xzvf ~/project/documents_archive.tar.gz -C ~/project/extracted_reports document_library/reports
Isso extrairá apenas o diretório reports e seu conteúdo para o diretório extracted_reports.
Parabéns! Você aprendeu com sucesso como extrair arquivos de um arquivo usando o comando tar. Essa habilidade é essencial para restaurar backups, instalar software a partir da fonte e muitas outras operações Linux.
Resumo
Neste laboratório, você aprendeu a usar o comando tar no Linux para gerenciar arquivos de arquivos. Você praticou várias habilidades essenciais:
- Criar uma estrutura de diretórios com arquivos para preparar a arquivamento
- Criar um arquivo compactado usando o comando
tarcom as opções-czvf - Visualizar o conteúdo de um arquivo sem extraí-lo usando as opções
-tvf - Extrair arquivos de um arquivo para restaurar dados usando as opções
-xzvf
Essas habilidades são fundamentais para muitas operações Linux, incluindo procedimentos de backup e restauração, instalação de software e gerenciamento de arquivos. O comando tar é uma ferramenta poderosa no ambiente Linux, e entender como usá-lo efetivamente o ajudará a gerenciar seus dados de forma eficiente.
Lembre-se das opções-chave para o comando tar:
-c: Criar um novo arquivo-x: Extrair arquivos de um arquivo-t: Listar o conteúdo de um arquivo-z: Usar compressão gzip-v: Modo verbose (mostrar progresso)-f: Especificar o nome do arquivo do arquivo-C: Mudar para o diretório especificado antes de realizar operações
Agora você pode usar com confiança o comando tar para criar backups, compartilhar arquivos e restaurar dados em seu ambiente Linux.



