O comando tar é a abreviação de arquivo de fita no Linux. Este comando é usado para criar Archive e extrair os arquivos compactados. Em Linux , é um dos comandos essenciais que facilitam a funcionalidade de arquivamento. Podemos usar este comando para criar arquivos compactados e descompactados e também modificá-los e mantê-los.
Tar é um utilitário de software de computador para coletar vários arquivos em um único arquivo na computação. Freqüentemente, é conhecido como tarball para fins de backup e distribuição. O título foi adquirido de 'arquivo de fita' porque na verdade foi desenvolvido para especificar dados em dispositivos de E/S sequenciais sem usar nenhum de seus sistemas de arquivos. Os grupos de dados de arquivo criados pelo tar incluem muitos parâmetros do sistema de arquivos, como organização de diretório, permissão de acesso a arquivos, propriedade, carimbos de data/hora e nome. Em favor do pax, o POSIX abandonou o tar, o tar ainda é amplamente utilizado.
Primeiro, foi anunciado na versão 7 do Unix em janeiro de 1979, substituindo o programa tp. Para armazenar os dados, a estrutura do arquivo foi padronizada no POSIX.1-1988 e posteriormente no POSIX.1-2001 e tornou-se um padrão suportado por quase todos os sistemas modernos de arquivamento de arquivos. Os sistemas operacionais do tipo Unix geralmente contêm ferramentas para suportar arquivos tar e utilitários usados para compactá-los, como bzip2 e gzip.
Desde a atualização de 10 de abril de 2018 da Microsoft, o BSD-tar está contido no Microsoft Windows e há duas ou mais ferramentas de terceiros para ler e gravar esses padrões no Windows.
Formatos de arquivo tar
Existem muitos formatos de arquivo tar disponíveis, incluindo os atuais e históricos. Dois formatos tar são escritos em POSIX: pax e ustar.
Cabeçalho
O registro do cabeçalho do arquivo inclui os metadados de um arquivo. No registro do cabeçalho, as informações são codificadas nos padrões ASCII para garantir flexibilidade em arquiteturas distintas usando ordenações de bytes distintas. Portanto, se cada arquivo for um arquivo de texto ASCII em um arquivo e contiver nomes ASCII, o arquivo será um arquivo de texto ASCII (com vários caracteres NUL).
Vários campos são mencionados na tabela a seguir, definidos pelo formato tar real do Unix. A tabela de tipo de arquivo/indicador de link contém algumas extensões modernas. Um campo é preenchido com vários bytes NUL se não for utilizado.
Cabeçalho tar pré-POSIX.1-1988:
jpa na primavera
Campo | Tamanho do campo | Deslocamento de campo |
---|---|---|
Nome do arquivo | 100 | 0 |
Modo de arquivo | 8 | 100 |
ID de usuário numérico do proprietário | 8 | 108 |
ID de usuário numérico do grupo | 8 | 116 |
Tamanho do arquivo em bytes | 12 | 124 |
Hora da última modificação na forma de hora numérica Unix | 12 | 136 |
Soma de verificação para o registro do cabeçalho | 8 | 148 |
Indicador de link | 1 | 156 |
Nome do arquivo vinculado | 100 | 157 |
Formato Ustart
No formato Ustar, quase todos os programas tar modernos escrevem e leem arquivos, anunciados pelo padrão POSIX IEEE P1003.1 de 1988. Ele introduziu campos de cabeçalho extras. Os programas tar anteriores evitariam as informações adicionais, mas os novos programas verificarão a presença da string 'Ustar' para decidir se o formato mais recente está em uso.
Campo | Tamanho do campo | Deslocamento de campo |
---|---|---|
Muitos campos, como no formato anterior | 156 | 0 |
Sinalizador de tipo | 1 | 156 |
Campo semelhante ao formato anterior | 100 | 157 |
'ustar' Indicador Ustar, depois NUL | 6 | 257 |
Versão '00' Ustar | 2 | 263 |
Nome de usuário do proprietário | 32 | 265 |
Nome do grupo do proprietário | 32 | 297 |
Número principal do dispositivo | 8 | 329 |
Número menor do dispositivo | 8 | 337 |
Prefixo do nome do arquivo | 155 | 3. 4. 5 |
POSIX.1-2001/pax
A Sun propôs uma técnica para adicionar extensões a um formato tar em 1997. Mais tarde, foi aprovado para o padrão POSIX.1-2001. O formato é chamado de formato pax ou formato tar estendido. Algumas tags são especificadas pelo padrão POSIX, incluindo mtime, atime, linkpath, gname, uname, tamanhos, gid, uid e uma definição de conjunto de caracteres para nomes de grupos/usuários e nomes de caminhos.
Principais implementações do tar
As principais implementações são mencionadas na ordem de origem:
Além disso, a maioria das implementações cpio e pax podem criar e ler dois ou mais tipos de arquivos tar.
Sintaxe do comando tar:
tar [options] [archive-file] [directory or file to be archived]
Opções no comando tar
Várias opções no comando tar estão listadas abaixo:
Introdução ao arquivo compactado
O arquivo morto pode ser definido como um arquivo que contém vários arquivos com metadados. Esses arquivos são usados para coletar mais de um arquivo de dados em um arquivo individual para facilitar o armazenamento e a portabilidade. Também pode ser usado para compactar arquivos para consumir menos espaço de armazenamento.
Exemplos de comando tar
Alguns dos exemplos importantes que são amplamente usados no comando tar são os seguintes:
multithreading em java
1. Criando um arquivo tar descompactado com a opção -cvf
Esta opção torna um arquivo tar conhecido como arquivo.tar . É o arquivo de cada arquivo .txt dentro meudir diretório.
O comando é o seguinte:
$ tar cvf file.tar *.txt
2. Extraindo arquivos através do arquivo com a opção -xvf
Esta opção pode extrair arquivos através de arquivos.
O comando é o seguinte:
$ tar xvf file.tar
3. Compactação gzip sobre arquivo tar com opção -z
Esta opção torna um arquivo tar conhecido como arquivo.tar.gz. É o arquivo de cada arquivo .txt.
O comando é o seguinte:
$ tar cvzf file.tar.gz *.txt
4. Extraindo o arquivo gzip tar com a opção -xvzf
Esta opção pode extrair os arquivos por meio de arquivos arquivados file.tar.gz tar.
O comando é o seguinte:
$ tar xvzf file.tar.gz
5. Criando arquivos tar compactados com a opção -j
Esta opção nos ajudará a criar e compactar arquivos compactados. Tanto a descompactação quanto a compactação levam mais tempo em comparação com o gzip.
O comando é o seguinte:
$ tar cvfj file.tar.tbz hello1.txt
6. Descompacte um único diretório ou arquivo especificado no Linux
Esta opção é usada para descompactar qualquer arquivo em nosso diretório atual ou dentro do diretório especificado com a opção -C.
O comando é o seguinte:
$ tar -xvf file.tar -C file's path in the directory
Ou,
$ tar -xvf file.tar
7. Descompacte vários arquivos .tar.tbz, .tar.gz, .tar no Linux
Esta opção nos ajudará a espalhar ou extraia mais de um arquivo de tar.bz2, tar.gz e um arquivo tar.
O exemplo desta opção é o seguinte:
$ tar -jxvf file.tar.tbz 'hello1.txt'
Ou,
$ tar -zxvf file.tar.gz 'hello1.txt' 'hello2.txt'
Ou,
$ tar -xvf file.tar 'hello1.txt' 'hello2.txt'
8. Verifique o tamanho do arquivo tar.tbz, tar.gz, tar existente
O comando nos ajudará a mostrar o tamanho do arquivo em quilobytes (KB) mencionado acima.
O comando é o seguinte:
$ tar -czf - file2.tar.tbz | wc -c
Ou,
$ tar -czf - file1.tar.gz | wc -c
Ou,
$ tar -czf - file.tar | wc -c
9. Atualize o arquivo tar existente
No Linux, o comando para atualizar um arquivo tar existente é o seguinte:
$ tar rvf file.tar *.txt
10. Lista de conteúdo e descrição do arquivo tar com a opção tf
Esta opção nos ajudará a listar toda a lista de arquivos compactados. Além disso, podemos listar conteúdo específico dentro de qualquer arquivo tar.
O comando é o seguinte:
$ tar tf file.tar
11. Visualize o arquivo com a opção -tvf
No Linux, podemos usar a opção -tvf para visualizar o arquivo.
java int para char
O comando é o seguinte:
$ tar -tvf file.tar
12. Passe o nome do arquivo como argumento para encontrar um arquivo tar
Esta opção pode visualizar os arquivos arquivados com suas informações.
O comando é o seguinte:
$ tar tvf file.tar filename
13. Usando pipe para lançar o 'comando grep' para pesquisar o que estamos procurando
Esta opção nos ajudará a listar apenas a imagem ou texto mencionado em pegada através de arquivos arquivados.
O comando é o seguinte:
$ tar tvf file.tar | grep 'filename.file'
Ou,
$ tar tvf file.tar | grep 'text to search'
Introdução aos curingas
Alternativamente, os curingas são chamados de caracteres curinga ou caracteres curinga no Linux. É um símbolo usado para representar ou substituir vários caracteres.
fazer loop while em java
Normalmente, os curingas são um ponto de interrogação (?) que ilustra um caractere individual ou um asterisco (*) que ilustra vários caracteres.
Exemplo-
14. Encontre uma imagem no formato .webp
Isso nos ajudará a extrair apenas arquivos junto com a extensão .webp do arquivo file.tar. A opção -wildcards informa tar para interpretar curingas no nome do arquivo a ser extraído.
O nome do arquivo (*.webp) está entre aspas simples para proteger o curinga (*) contra expansão incorreta por qualquer shell.
O comando é o seguinte:
$ tar tvf file.tar --wildcards '*.webp'
Nota: No comando acima, o símbolo '*' é aplicado na posição do nome do arquivo para pegar cada arquivo disponível naquele diretório específico.
15. Exclua arquivos do arquivo tar
Podemos usar a opção --delete para remover arquivos e um arquivo tar.
O comando é o seguinte:
$ tar --delete -f archive.tar file_name
Exemplo:
tar -delete -f file.tar hello1.txt
Saída:
olá1.txt arquivo foi removido do arquivo file.tar: