Como usar o comando tar para compactar/descompactar com Gzip e Bzip2

O comando tar (tape archive) é usado frequentemente no Linux para adicionar vários arquivos e pastas a um único arquivo. Os Arquivos tar são frequentemente compactados após serem criados, dando-lhes a extensão tar.gz(Gzip) ou tar.bz2(bzip2) principalmente. O comando tar possui um grande número de opções, mas precisamos lembrar apenas de algumas letras para criar ou extrair arquivos.

Abaixo, segue uma lista com os parâmetros mais importantes para o uso diário do tar ao compactar e descompactar arquivos:

  • -x (eXtract) Extrai os dados do arquivo .tar.gz
  • -c (Create) Cria um arquivo tar
  • -z (gZip) Utilizado para manipular o arquivo .tar.gz ou .tgz.
  • -j (Bzip2) Utilizado para manipular o arquivo .tar.bz2, .tar.bz ou .tbz.
  • -v (Verbose) Mostra na tela os arquivos que estão sendo comprimidos ou manipulados, um a um. Se não deseja ver os arquivos que estão sendo manipulados, você pode ignorar este parâmetro.
  • -f (File) Define que estamos trabalhando com arquivos.

Compactando um arquivo tar.gz

Por exemplo, se você possui um diretório /home/pedro e deseja compactar com tar.gz e nome backup-do-pedro.tar.gz utilize:

tar -czvf backup-do-pedro.tar.gz /home/pedro

Para compactar múltiplos diretórios utilize:

tar -czvf backup-geral.tar.gz /home/pedro /home/maria /home/jose

Descompactando um arquivo tar.gz

Para descompactar um arquivo tar.gz , utilize :

tar -xzvf nomedoarquivo.tar.gz

Embora a compactação gzip seja utilizada com mais frequência para criar arquivos .tar.gz ou .tgz o tar também suporta compactação bzip2. Isso nos permite criar arquivos compactados com bzip2, denominados arquivos .tar.bz2, .tar.bz ou .tbz.

O Gzip é mais rápido, mas geralmente comprime um pouco menos, criando o arquivo um pouco maior. O Bzip2 é mais lento, mas comprime um pouco mais, criando o arquivo um pouco menor.

Para utilizar a compactação com bzip2, basta substituir o -z para gzip nos comandos por um -j para bzip2.

Compactando um arquivo tar.bz2

tar -cjvf backup-do-pedro.tar.bz2 /home/pedro

Descompactando um arquivo tar.bz2

tar -xjvf nomedoarquivo.tar.bz2
Please follow and like us:

Como instalar o Locate no Linux

Como instalar e Utilizar o Locate

Locate é um utilitário de linha de comando para encontrar arquivos por nome no Linux, semelhante ao comando find. Ao que se propõe é mais rápido e eficiente em várias situações.

O Locate se utiliza do programa updatedb para criar um banco de dados com os nomes de arquivos no servidor Linux, dessa forma, fica bastante simples e rápido encontrar qualquer arquivo por nome.

Para instalar o Locate utilize:

CentOS/Red Hat

yum -y install mlocate

Ubuntu/Debian

apt-get install locate

Após a instalação precisamos atualizar o banco de dados que será o índice utilizado pelo locate:

updatedb

Exemplos de utilização do Locate:

Nesse primeiro e mais simples exemplo, desejamos encontrar o local de ifcfg-eth0, para isso utilizamos o comando :

locate ifcfg-eth0

Exemplo do comando Locate

Resultado do primeiro exemplo

Para ver a lista de parâmetros que podem ser utilizados pelo comando, utilize “locate –help”.

Abaixo seguem, exemplos com alguns desses parâmetros e formas de utilizá-los:

– Nesse exemplo utilizamos o parâmetro -c , para obter apenas o número de ocorrências do termo pesquisado

Comando Locate com opção -c

– No exemplo abaixo vamos atualizar nosso índice com resultados apenas dentro do diretório /home e armazenar o resultado na variável $HOME”

updatedb -l 0 -o $HOME/.mlocate.db -U /home

A seguir faremos uma pesquisa apenas com os resultados armazenados na variável $HOME:

locate -d $HOME/.mlocate.db [termo da pesquisa]

Locate em home com parâmetro -c

Locate em home com parâmetro -c

Locate em home por .html

Note que ao buscarmos a palavra *.html em $HOME (caso possua este tipo de arquivo em home) serão exibidos inúmeros resultados com o caminho completo deste termo da pesquisa, todos dentro do diretório  home.

– Com o parâmetro -i podemos fazer buscas ignorando se as letras do “termo da pesquisa”  estarão em Maiúscula ou minúscula .

[root@Exemplo ~]# locate -i [termo da pesquisa]

Existem ainda várias outras formas de utilizar o comando locate no linux. Acima foram descritos o que julguei ser o básico para iniciar a utilizar esse comando.

Dica:

Em muitos servidores, principalmente com muitos arquivos , é uma boa ideia criar uma entrada na cron para atualizar updatedb diariamente durante um momento de pouco uso do servidor. Abaixo segue um exemplo de como fazer isso :

crontab -e
      •   Provavelmente o conteúdo será aberto utilizando o editor vim. Para inserir nossos comandos pressione em seu teclado a tecla “Insert”, isso irá habilitar a inserção de novos comandos neste arquivo. Ao fazer isso certifique-se que ao final da tela será exibido “–INSERT –“
      • Insira o seguinte comando:
        23 0 * * * updatedb
      • Para salvar e sair do editor vim,  primeiro, digite a tecla “Esc”, a seguir utilize :wq , isso irá gravar as alterações e sair do vim.
      • Agora a cron do servidor irá executar diariamente às 23 horas o comando updatedb.
    • Referência:
      Package: mlocate (0.26-1): encontrar fichieros rapidamente no sistema de ficheiros, baseado no nome
Please follow and like us:

Como listar o tamanho de todos os arquivos e subdiretórios do diretório atual

Para listar o tamanho de todos os arquivos e subdiretórios do diretório atual basta utilizar o comando abaixo:


 du -sch ./*

se desejar ordenar por tamanho:


du -sk ./* | sort -n | awk 'BEGIN{ pref[1]="K"; pref[2]="M"; pref[3]="G";} { total = total + $1; x = $1; y = 1; while( x > 1024 ) { x = (x + 1023)/1024; y++; } printf("%g%s\t%s\n",int(x*10)/10,pref[y],$2); } END { y = 1; while( total > 1024 ) { total = (total + 1023)/1024; y++; } printf("Total: %g%s\n",int(total*10)/10,pref[y]); }'
Please follow and like us: