Posted on: April 24, 2023 02:39 PM
Posted by: Renato
Categories: linux ubuntu compactar compression
Views: 751
Comando tar do Linux – Como compactar arquivos no Linux
A compactação de arquivos é um utilitário essencial em todas as plataformas. Ele ajuda a reduzir o tamanho do arquivo e compartilhar arquivos com eficiência. E os arquivos compactados também são mais fáceis de copiar para servidores remotos.
Você também pode compactar arquivos antigos e raramente usados e salvá-los para uso futuro, o que ajuda a economizar espaço em disco.
Nesta postagem, veremos como compactar arquivos com o tar
comando no Linux, juntamente com alguns exemplos tar
em ação.
Qual é o comando tar?
Usamos o tar
comando para compactar e expandir arquivos na linha de comando. A sintaxe é mostrada abaixo:
tar [flags] destinationFileName sourceFileName
O tar
comando usa os seguintes sinalizadores para personalizar a entrada do comando:
BANDEIRA | EXPLICAÇÃO | USO |
---|---|---|
-c | Crie um novo arquivo. | Usamos esse sinalizador sempre que precisamos criar um novo arquivo. |
-z | Use compactação gzip. | Quando especificamos esse sinalizador, significa que o arquivo será criado usando compactação gzip. |
-v | Forneça saída detalhada. | Fornecer o sinalizador -v mostra detalhes dos arquivos compactados. |
-f | Nome do arquivo de arquivo. | Os nomes dos arquivos compactados são mapeados usando o sinalizador -f. |
-x | Extraia de um arquivo compactado. | Usamos esse sinalizador quando os arquivos precisam ser extraídos de um arquivo. |
Como criar um arquivo
Temos uma lista dos seguintes arquivos que compactaremos com tar
.
Para comprimi-los, usaremos tar
assim:
tar -czvf logs_archive.tar.gz *
Vamos detalhar esse comando e examinar cada sinalizador.
-c
está criando e arquivando.
-z
está usando compactação gzip.
-v
está fornecendo detalhes dos arquivos que foram arquivados.
-f
está criando um arquivo com o nome 'logs_archive.tar.gz' conforme fornecido no comando acima.
Nos resultados abaixo, podemos ver que o arquivo foi criado com sucesso.
Como remover arquivos após a compactação
Digamos que não queremos manter os arquivos originais depois de criar um arquivo. Para isso, podemos usar o --remove-files
flag.
tar -czvf logs_archive.tar.gz * --remove-files
Aqui, os -czvf
sinalizadores estão funcionando conforme demonstrado anteriormente, mas os arquivos originais também foram removidos. Depois de listar os arquivos, vemos apenas o arquivo.
Como visualizar o conteúdo de um arquivo
Pode ser necessário visualizar o conteúdo de um arquivo sem realmente extraí-lo. Você pode fazer isso com a -t
bandeira.
tar -tvf logs_archive.tar.gz
Neste comando, -t
flag especifica que precisamos apenas visualizar o conteúdo do arquivo. -f
especifica o nome do arquivo e -v
exibe o conteúdo detalhado.
Como extrair um arquivo
Para extrair arquivos de um arquivo, você usa o -x
sinalizador assim:
tar -xzvf logs_archive.tar.gz
Vamos detalhar esse comando e examinar cada sinalizador.
-x
está extraindo e arquivando.
-z
especifica que o arquivo é gzip.
-v
está fornecendo detalhes dos arquivos que foram arquivados.
-f
está extraindo do arquivo chamado 'logs_archive.tar.gz'.
Aqui vai uma dica útil: comandos que demoram muito para serem executados podem continuar em segundo plano com &
.
Adicionar arquivos a um arquivo e extrair um arquivo pode demorar um pouco. Para manter os comandos em execução em segundo plano enquanto você continua trabalhando, emparelhe o comando &
assim:
tar -xzvf logs_archive.tar.gz &
Como pesquisar em arquivos de log compactados
Talvez você ainda precise acessar determinados arquivos depois de arquivados. Felizmente, existe um método que você pode usar para pesquisar e visualizar arquivos de log compactados sem descompactá-los e comprometer o espaço em disco.
O comando que você pode usar para pesquisar em arquivos compactados é zgrep
:
Podemos procurar uma string em um arquivo usando o comando abaixo:
zgrep -Hna 'string-to-search' compressedFile.tar.gz
Vejamos brevemente as bandeiras.
-H
lista o nome do arquivo que contém a correspondência.
-n
exibe o número da linha que contém a string correspondente.
-a
trata todos os arquivos como arquivos de texto.
Este é o resultado:
Empacotando
A compactação de arquivos nos ajuda a economizar tempo e recursos ao compartilhar arquivos. Os servidores estão quase sempre girando e arquivando enormes arquivos de log.
Você também pode agendar a compactação de arquivos por meio de cron
trabalhos para automatizar a limpeza do disco. Eu recomendo que você aproveite este utilitário.
Fonte: https://www.freecodecamp.org/news/how-to-compress-files-in-linux-with-tar-command/
Donate to Site
Renato
Developer