{"id":63227,"date":"2023-02-25T15:09:09","date_gmt":"2023-02-25T15:09:09","guid":{"rendered":"https:\/\/blogmed.antonini.com.br\/?p=63227"},"modified":"2023-02-25T15:09:09","modified_gmt":"2023-02-25T15:09:09","slug":"como-usar-o-comando-tar-tape-archive-por-rubens-queiroz-de-almeida","status":"publish","type":"post","link":"https:\/\/antonini.ddns.net\/?p=63227","title":{"rendered":"Como usar o comando tar (tape archive) por Rubens Queiroz de Almeida"},"content":{"rendered":"<p style=\"text-align: justify;\">O comando <code>tar<\/code> (abrevia\u00e7\u00e3o de &#8220;<em>tape archive<\/em>&#8220;) \u00e9 uma ferramenta de linha de comando presente em sistemas operacionais Unix e Linux, que tem como objetivo principal a cria\u00e7\u00e3o, manipula\u00e7\u00e3o e extra\u00e7\u00e3o de arquivos compactados em formato <code>tar<\/code>.<!--more--><\/p>\n<p style=\"text-align: justify;\">O formato <code>tar<\/code> \u00e9 um tipo de arquivo que permite agrupar um ou mais arquivos e diret\u00f3rios em um \u00fanico arquivo, preservando suas permiss\u00f5es de acesso, <em>timestamps<\/em> e outros atributos importantes. Al\u00e9m disso, o <code>tar<\/code> tamb\u00e9m pode ser utilizado em conjunto com outros utilit\u00e1rios de compress\u00e3o, como o <code>gzip<\/code> ou o <code>bzip2<\/code>, para criar arquivos compactados com tamanhos menores.<\/p>\n<p style=\"text-align: justify;\">Aqui est\u00e3o as op\u00e7\u00f5es mais comuns:<\/p>\n<table cellpadding=\"4\" border=\"1\" align=\"center\">\n<tbody>\n<tr>\n<th>Op\u00e7\u00e3o<\/th>\n<th>Descri\u00e7\u00e3o<\/th>\n<\/tr>\n<tr>\n<td><code>c<\/code><\/td>\n<td>cria um novo arquivo compactado<\/td>\n<\/tr>\n<tr>\n<td><code>x<\/code><\/td>\n<td>extrai os arquivos do arquivo compactado<\/td>\n<\/tr>\n<tr>\n<td><code>v<\/code><\/td>\n<td>exibe informa\u00e7\u00f5es detalhadas sobre o processo de compacta\u00e7\u00e3o ou descompacta\u00e7\u00e3o<\/td>\n<\/tr>\n<tr>\n<td><code>f<\/code><\/td>\n<td>especifica o nome do arquivo compactado a ser criado ou descompactado<\/td>\n<\/tr>\n<tr>\n<td><code>z<\/code><\/td>\n<td>usa compress\u00e3o <code>gzip<\/code> para compactar ou descompactar arquivos<\/td>\n<\/tr>\n<tr>\n<td><code>j<\/code><\/td>\n<td>usa compress\u00e3o <code>bzip2<\/code> para compactar ou descompactar arquivos<\/td>\n<\/tr>\n<tr>\n<td><code>t<\/code><\/td>\n<td>exibe o conte\u00fado do arquivo compactado sem extrair os arquivos<\/td>\n<\/tr>\n<tr>\n<td><code>r<\/code><\/td>\n<td>adiciona novos arquivos ao arquivo compactado existente<\/td>\n<\/tr>\n<tr>\n<td><code>k<\/code><\/td>\n<td>impede a substitui\u00e7\u00e3o de arquivos existentes durante a extra\u00e7\u00e3o<\/td>\n<\/tr>\n<tr>\n<td><code>p<\/code><\/td>\n<td>preserva as permiss\u00f5es originais do arquivo durante a extra\u00e7\u00e3o<\/td>\n<\/tr>\n<tr>\n<td><code>--exclude<\/code><\/td>\n<td>exclui arquivos ou diret\u00f3rios espec\u00edficos durante a compacta\u00e7\u00e3o<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p style=\"text-align: justify;\">Aqui est\u00e3o alguns exemplos de uso do comando <code>tar<\/code>:<\/p>\n<p style=\"text-align: justify;\">1. Criar um arquivo compactado:<\/p>\n<pre>$ tar -czvf arquivo.tar.gz pasta\/<\/pre>\n<p style=\"text-align: justify;\">Este comando cria um novo arquivo compactado chamado <code>arquivo.tar.gz<\/code> contendo todos os arquivos da pasta <code>pasta\/<\/code> com compress\u00e3o gzip.<\/p>\n<p style=\"text-align: justify;\">2. Extrair um arquivo compactado:<\/p>\n<pre>$ tar -xzvf arquivo.tar.gz<\/pre>\n<p style=\"text-align: justify;\">Este comando extrai todos os arquivos do arquivo compactado <code>arquivo.tar.gz<\/code> com compress\u00e3o gzip.<\/p>\n<p style=\"text-align: justify;\">3. Adicionar arquivos a um arquivo compactado existente:<\/p>\n<pre>$ tar -rvf arquivo.tar arquivo1 arquivo2<\/pre>\n<p style=\"text-align: justify;\">Este comando adiciona os arquivos <code>arquivo1<\/code> e <code>arquivo2<\/code> ao arquivo compactado existente <code>arquivo.tar<\/code>.<\/p>\n<p style=\"text-align: justify;\">4. Excluir arquivos ou diret\u00f3rios espec\u00edficos durante a compacta\u00e7\u00e3o<\/p>\n<pre>$ tar -czvf arquivo.tar.gz --exclude='pasta\/exemplo.txt' pasta\/<\/pre>\n<p style=\"text-align: justify;\">Este comando cria um novo arquivo compactado chamado <code>arquivo.tar.gz<\/code> contendo todos os arquivos da pasta <code>pasta\/<\/code> com exce\u00e7\u00e3o do arquivo <code>exemplo.txt<\/code> dentro da pasta <code>pasta\/<\/code>.<\/p>\n<p style=\"text-align: justify;\">5. Uso do comando <code>tar<\/code> em computadores remotos<\/p>\n<p style=\"text-align: justify;\">O comando <code>tar<\/code> pode ser usado em conjunto com <em>pipes<\/em> (<code>|<\/code>) para criar ou extrair arquivos compactados diretamente em um computador remoto via SSH. Vamos ver alguns exemplos:<\/p>\n<p style=\"text-align: justify;\">Para criar um arquivo compactado diretamente no computador remoto, podemos usar o seguinte comando:<\/p>\n<pre>$ tar czf - pasta | ssh usuario@servidor 'cat &gt; arquivo.tar.gz'<\/pre>\n<p style=\"text-align: justify;\">Neste exemplo, estamos compactando a pasta <code>pasta<\/code> e enviando o resultado para o computador remoto <code>servidor<\/code>, com o usu\u00e1rio <code>usuario<\/code>. O resultado \u00e9 salvo em um arquivo chamado <code>arquivo.tar.gz<\/code>. A op\u00e7\u00e3o <code>-c<\/code> do comando <code>tar<\/code> indica que estamos criando um novo arquivo, a op\u00e7\u00e3o <code>-z<\/code> indica que queremos compactar o arquivo usando <code>gzip<\/code>, e o sinal de menos <code>-<\/code> indica que o resultado deve ser enviado para a sa\u00edda padr\u00e3o (<em>stdout<\/em>).<\/p>\n<p style=\"text-align: justify;\">No computador remoto, estamos usando o comando <code>cat<\/code> para receber a sa\u00edda e salv\u00e1-la no arquivo <code>arquivo.tar.gz<\/code>. O sinal de maior que <code>&gt;<\/code> indica que queremos redirecionar a sa\u00edda para o arquivo especificado.<\/p>\n<p style=\"text-align: justify;\">Para extrair um arquivo compactado diretamente no computador remoto, podemos usar o seguinte comando:<\/p>\n<pre>$ ssh usuario@servidor 'cat arquivo.tar.gz' | tar xzf -<\/pre>\n<p style=\"text-align: justify;\">Neste exemplo, estamos acessando o computador remoto <code>servidor<\/code> com o usu\u00e1rio <code>usuario<\/code> e enviando o conte\u00fado do arquivo <code>arquivo.tar.gz<\/code> para a entrada padr\u00e3o (<em>stdin<\/em>) do comando <code>tar<\/code> no computador local. A op\u00e7\u00e3o <code>-x<\/code> indica que queremos extrair o conte\u00fado do arquivo, e o sinal de menos <code>-<\/code> indica que o resultado deve ser lido da entrada padr\u00e3o (<em>stdin<\/em>).<\/p>\n<p style=\"text-align: center;\">[<a href=\"javascript:history.go(-1)\">Voltar<\/a>]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>O comando tar (abrevia\u00e7\u00e3o de &#8220;tape archive&#8220;) \u00e9 uma ferramenta de linha de comando presente em sistemas operacionais Unix e Linux, que tem como objetivo principal a cria\u00e7\u00e3o, manipula\u00e7\u00e3o e extra\u00e7\u00e3o de arquivos compactados em formato tar.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24],"tags":[],"class_list":["post-63227","post","type-post","status-publish","format-standard","hentry","category-informatica"],"_links":{"self":[{"href":"https:\/\/antonini.ddns.net\/index.php?rest_route=\/wp\/v2\/posts\/63227","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/antonini.ddns.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/antonini.ddns.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/antonini.ddns.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/antonini.ddns.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=63227"}],"version-history":[{"count":0,"href":"https:\/\/antonini.ddns.net\/index.php?rest_route=\/wp\/v2\/posts\/63227\/revisions"}],"wp:attachment":[{"href":"https:\/\/antonini.ddns.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=63227"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/antonini.ddns.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=63227"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/antonini.ddns.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=63227"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}