Linux - Breve introdução, bom para iniciantes

Para o pessoal que está procurando um breve manual inicial sobre Linux. Esse manual é voltado para os iniciantes que pretendem escolher sua distribuição e iniciar no mundo Linux.

[ Hits: 51.758 ]

Por: Geraldo Gustavo Araújo Resende em 30/10/2007 | Blog: http://www.geraldoresende.net23.net


Utilitários para arquivamento e compressão



Quando você estiver instalando ou atualizando softwares em sistemas Unix, as primeiras ferramentas com as quais se deve estar familiarizado são as de compressão e arquivamento. Existem dúzias de tais utilitários disponíveis. Alguns desses (tar e compress) datam dos primórdios do Unix, outros (gzip) são relativamente novos. O objetivo principal destes utilitários é colocar muitos arquivos juntos em um único arquivo, facilitando o transporte ou backup e comprimir os mesmos (reduzir a quantidade de espaço em disco necessário para armazenar um arquivo ou um conjunto de arquivos).

Iremos agora discutir os formatos de arquivo mais comuns e os utilitários que você provavelmente irá encontrar. Por exemplo, uma convenção quase universal no mundo Unix é transportar arquivos ou softwares como um arquivo tar, comprimido usando compress ou gzip. De forma a poder criar ou desempacotar esses arquivos você mesmo, é necessário conhecer as ferramentas.

Usando gzip

Gzip é um programa rápido e eficiente para compressão distribuído pelo projeto GNU. A função básica do gzip é pegar um arquivo, comprimí-lo, salvar a versão comprimida como arquivo.gz e remover o original. O arquivo original somente é removido se a operação de compressão é bem sucedida. É muito difícil acidentalmente apagar um arquivo dessa forma. É claro, sendo um software GNU, gzip tem mais opções do que você pode imaginar, e muitos aspectos de seu comportamento podem ser modificados usando essas opções.

Primeiramente, digamos que temos um grande arquivo chamado lixo.txt:

$ ls -l lixo.txt
-rw-r--r--    1 mdw      hack       312996 Nov 17 21:44 lixo.txt

Para comprimir esse arquivo, simplesmente usamos o comando:

$ gzip lixo.txt

Isto substitui o arquivo lixo.txt pela versão comprimida lixo.txt.gz. Dessa forma:

$ ls -l lixo.txt.gz
-rw-r--r--   1 mdw      hack       103441 Nov 17 21:44 lixo.txt.gz

Perceba que lixo.txt é removido ao final da execução do gzip.

Você pode dar ao gzip uma lista de nomes de arquivos; ele irá comprimir cada arquivo listado, armazenando cada um com um extensão ".gz". A eficiência da compressão do arquivo depende de seu formato e conteúdo. Por exemplo, muitos formatos de arquivos gráficos (tais como GIF e JPEG) já são bem comprimidos, e o gzip terá pouco ou nenhum efeito neles. Arquivos que comprimem bem geralmente incluem arquivos de texto puro e arquivos binários tais como executáveis e bibliotecas. Você pode obter informações sobre um arquivo "gzipado" usando gzip -l. Por exemplo:

$ gzip -l lixo.txt.gz
compressed  uncompr. ratio uncompressed_name
   103115    312996  67.0% lixo.txt

Para obter o arquivo original a partir da versão comprimida, usamos gunzip:

$ gunzip lixo.txt.gz
$ ls -l lixo.txt

-rw-r--r--   1 mdw      hack       312996 Nov 17 21:44 lixo.txt

O qual é idêntico ao arquivo original. Note que quando você utiliza o gunzip em um arquivo, a versão comprimida é removida uma vez que a descompressão está completa.

O gzip armazena o nome do arquivo original juntamente com a versão comprimida, para poder restaurá-lo durante a descompressão. Para isso utilizamos a opção -N juntamente com gunzip. Considere a seguinte seqüência de comandos:

$ gzip lixo.txt
$ mv lixo.txt.gz rubbish.txt.gz


Se utilizássemos gunzip rubbish.txt.gz nesse ponto, o arquivo descomprimido iria ser nomeado rubbish.txt. Entretanto com a opção -N obtemos:

$ gunzip -N rubbish.txt.gz
$ ls -l lixo.txt

-rw-r--r--   1 mdw      hack       312996 Nov 17 21:44 lixo.txt

Usando o tar

O comando tar é um utilitário capaz de empacotar diversos arquivos dentro de um só, mantendo todas as informações, como permissões e propriedade. O nome "tar" vem tape archive, porque essa ferramenta foi desenvolvida originalmente para gerar backups em fitas. Atualmente, o uso do tar está bastante difundido, como veremos.

Voltando ao exemplo do arquivo de lixo, suponhamos agora que há, não um, mas vários arquivos de lixo, todos chamados lixo<n>.txt. Antes de compactá-los, um a um, podemos juntá-los em um só arquivo, usando o comando tar, assim:

$ tar -cvf lixo.tar lixo?.txt

Isto faz com que todos os arquivos que correspondem à máscara "lixo?.txt" sejam empacotados - juntados - em um só arquivo, intitulado lixo.tar.

As opções mais comuns para o comando tar são:
  • -c, --create = Criar um novo arquivo;
  • -t, --list = Listar o conteúdo de um arquivo tar;
  • -x, --extract, --get = Extrair o conteúdo de um arquivo tar;
  • -v, --verbose = Utilizar modo "verbose".

Dessa forma, para extrair os arquivos empacotados pelo comando tar, pode-se utilizar:

$ tar -xvf lixo.tar

Usando o tar com o gzip

O comando tar não compacta os dados armazenados no arquivo. Se você estiver criando um arquivo tar, a partir de três arquivos de 200KB, o seu arquivo resultante terá em torno de 600KB. Para a compactação, pode ser utilizado o gzip (ou qualquer outro programa de compactação). Exemplo:

$ tar -cvf lixo.tar lixo?.txt
$ gzip lixo.tar

Como resultado da execução desses dois comandos é apresentado um arquivo "empacotado" e "compactado" (lixo.tar.gz). A utilização em conjunto, dos comandos tar e gzip, se tornou bastante comum, o que levou ao desenvolvimento de uma forma de uní-los. Assim, por meio de parâmetros passados ao comando tar, é possível empacotar e compactar os dados de uma só vez. Com isso, os dois comandos acima podem ser resumidos da seguinte forma:

$ tar -czvf lixo.tar.gz lixo?.txt
ou
$ tar -czvf lixo.tgz lixo?.txt

Para descompactar um arquivo com extensões .tar.gz, ou extensão .tgz, pode-se utilizar:

$ gunzip lixo.tar.gz

e depois:

$ tar -xvf lixo.tar

Pode-se também utilizar os comandos em conjunto:

$ tar -xzvf lixo.tgz

Página anterior     Próxima página

Páginas do artigo
   1. Histórico
   2. Instalação do sistema Linux Conetiva 8.0
   3. Processo de login
   4. Shell
   5. Sistema de arquivos
   6. Processos
   7. Rede
   8. Utilitários para arquivamento e compressão
   9. Alguns utilitários gráficos
Outros artigos deste autor

Erro no alsamixer após atualização no Ubuntu 7.04

Leitura recomendada

Kernel 4.0 no Debian, Linux Mint e Ubuntu - Atualização rápida

Lucaschess: software para base de dados, jogar e treinar xadrez

Um pouco sobre transição Windows/Linux

Gnome-shell no Ubuntu em um clique

Diário de um SysAdmin 2 - Truques | Macetes | Atalhos & Comandos

  
Comentários
[1] Comentário enviado por InFog em 30/10/2007 - 13:07h

Quando esse artigo foi escrito? Acho que está mais para cópia de um antigo artigo do que para algo atual... Mandrake? Conectiva?

InFog

[2] Comentário enviado por danillofa em 30/10/2007 - 13:31h

ja vi isso em algum livro o.0

fica no ar

[3] Comentário enviado por geraldoresende em 30/10/2007 - 13:35h

E ai galera... blz.... esse artigo eh parte de um trabalho na universidade, eh uma breve apostila para alunos do primeiro de um minicurso que eu no 7 período ministrei... eh um resumo feito por mim mediante varios artigos e livros, e no curso foi usado Conectiva, pois foi o sistema que melhor atendia a situaçao.

Espero que gostem.

Atenciosamente Geraldo Resende

[4] Comentário enviado por maran em 31/10/2007 - 00:01h

Bom tudo bem que foi escrito em um trabalho e tal
mais vc fal oque era bom pra iniciantes e bom pra iniciantes mandrake e td mais????

tem que atualizar né...
Mais ta legal ^^

[5] Comentário enviado por vencedorgo em 31/10/2007 - 09:33h

Muito bom !!!
Principalmente para os iniciantes fundamentar sua ideia da maneira correta sobre o linux.

[6] Comentário enviado por slackrichard em 31/10/2007 - 10:01h

precisa ser atualizado a maioria das afirmações ai já não são validas, e sem falar que voce esqueceu de atualizar as distros. Ta faldano o kurumin, o ubunto. a conectiva não existemais nem a mandrake agora é mandriva. Outra coisa a conectiva deixou de ser baseada no redhat a partir da versão 7, onde toda a sua base foi reformulada.
sem falar no sistema de pacotes do slackware, hoje ja existe uma serie de ferramentas para isto tão boas quanto o apt,rpm e afins.

Então da so uma renovada ai e siga sempre assim.

[7] Comentário enviado por cguerra em 31/10/2007 - 16:00h

o cara só deu mancada quando disse que o Slack está sem gerenciador de pacotes...


além de falar da antiga mandrake e conectiva, que se uniram a algum tempo já!


e a distro que ele instalou é um pouco antiginha, Conectiva 8 surgiu em 2001 ou 2002...

além de existir distros mais fáceis para iniciantes, tipo Ubuntu e derivador, Kubuntu, Edubuntu...e o Kurumin!

[8] Comentário enviado por dbahiaz em 31/10/2007 - 16:54h

Geraldo,
Seria um otimo artigo, se não fosse por algumas informações desatualizadas, como ja foi dito, acho que isso pode confundir um pouco os usuarios novos, mais tem muita informação valida, parabéns, só de curiosidade qual distrito vc ta usando atualmente?

[9] Comentário enviado por albfneto em 10/07/2008 - 11:11h

O artigo é de 2007, mas é curioso, pq slackware, debian estão diferentes, agoram muito mais amigáveis...
e Mandrake, acho, não existe mais, é o Mandriva, agora!
Hoje existem vários Linux brasileiros, muitos!
a distro pux ainda existe?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts