Você está na página 1de 8

03/03/2011

LicaoCompactandoDescompactandoAr
Pular para Busca English

GrupoLinux Iniciar sesso ou Registro


Pular para Busca English

Editar

Anexar

Impresso

Voc est aqui: TWiki > Web GrupoLinux r14 - 24 Feb 2011 - 10:35:03 - PauloLima > LinuxEssencialFinal > LicaoCompactandoDescompactandoArquivos

, create new tag Anterior Trilha B Prximo comentar

Web GrupoLinux Criar Novo Tpico ndice Busca Alteraes Notificaes Estatsticas Preferncias Webs BrOffice EaD GrupoJava GrupoLinux GrupoLogica GrupoWeb Main Ruby SGBD SO Sandbox TWiki Wikeditora WikiEdu

Lio 11 - Compactando e Descompactando Arquivos


Objetivo(s): Oferecer Contedo conhecimentos sobre os 11.1 Compactadores compactadores de arquivo e seu 11.2 Tipos de compactadores uso via linha de comando. 11.3 bzip2 Direitos autorais e licena: Veja 11.4 gzip notas de direitos autorais e licena 11.5 zip no final da lio. 11.6 tar 11.7 Comparativo entre os compactadores 11.1 Compactadores 11.8 Terminologia Utilizada 11.9 Exerccios de Reviso Uma das formas mais importantes 11.10 - Direitos autorais e licena encontradas para o armazenamento e 11.11 - Comentrios transporte das informaes por um meio no ativo (disquete por exemplo) a compactao, que nada mais do que diminuir o seu tamanho fsico sem que haja a perda do valor interno. Um compactador ao receber um arquivo como entrada far com que todos os dados iguais sejam armazenados num mesmo local, e ao descompact-los eles sero depositados no local escolhido pelo usurio. Inicialmente todas as ferramentas e formatos de compactao esto disponveis em ambiente GNU/Linux. Os algoritmos de compactao empregados nas diferentes ferramentas possuem caractersticas bem singulares, com vantagens e desvantagens entre si. Enquanto um melhor sobre arquivos do tipo texto, outro melhor para figuras e assim por diante. Na hora da criao de novos arquivos compactados, a escolha por um formato fica a gosto do usurio. Ao receber arquivos em um determinado formato, s resta-nos utilizar a ferramenta correspondente.

11.2 Tipos de compactadores 11.3 bzip2


O compactador bzip2 um dos mais comuns e eficientes dentre os compactadores existentes para o sistema GNU/Linux. Sintaxe:
bzip2 [-opo] nome_arquivo

Opo: k - mantm o arquivo original (backup) q - compacta mesmo com erro d - descompacta o arquivo do tipo .bz2 f - sobrescreve o arquivo j existente

sintectus.com//LicaoCompactando

1/8

03/03/2011

LicaoCompactandoDescompactandoAr help - chama ajuda


A opo "f " que sobrescreve um arquivo existente pode ser til nos casos de alterao de arquivo corrompido dentro de um sistema, sem haver a necessidade de remov-lo primeiro, tal como funciona em cpias ou remoes de arquivos. Um arquivo, ao ser compactado pela ferramenta bzip2, ter a sua extenso acrescida de .bz2. Para a descompactao de um arquivo podem ser selecionados dois modos, um que mais comum aos descompactadores, a colocao das letras un (usado para negao em ingls) na palavra, que para este caso seria: bunzip2, conforme a sintaxe:
bunzip2 [-opo] nome_arquivo.bz2

Opo: f - sobrescreve o arquivo se existente Outra forma passar a opo -d (descompacta arquivos do tipo .bz2) junto com o comando de compactao, ficando com o seguinte formato:
bzip2 -d nome_arquivo.bz2

possuindo o mesmo efeito que o bunzip2. Exemplo de compactao de um arquivo qualquer:


$bzip2 teste $ls -l teste*

-rw-r--r--

1 aluno

aluno

4147 Feb 21 11:01 teste.bz2

Exemplo de descompactao do arquivo anterior:


$bunzip2 teste.bz2 $ls -l teste*

-rw-r--r--

1 aluno

aluno

25223 Dec 21 11:01 teste

11.4 gzip
Gzip um compactador muito conhecido no sistema Linux, tendo uma boa aceitao por parte dos usurios que realizam testes com ele. A sua compactao melhor vista em arquivos dos tipos texto ou figura, sobre o ponto de vista de alguns outros compactadores. Este compactador tambm muito utilizado no trmino de um novo programa, que junto com os scripts (programas gerenciadores), que so passados para os usurios, para maiores detalhes vide tpico sobre gerenciamento de arquivos. Um arquivo quando compactado com o gzip no deixa uma cpia do arquivo original. recomendado fazer uma cpia de segurana antes de passar o compactador. A extenso gerada com esta ferramenta o .gz, mantendo todas as informaes originais, tais como o proprietrio, as permisses e a data de criao.

sintectus.com//LicaoCompactando

2/8

03/03/2011

LicaoCompactandoDescompactandoAr
-rw-rw---1 cleberjr cleberjr 556 Nov 18 10:01 margem.swf

[cleberjr@saproad cleberjr]$ chmod 666 margem.swf [cleberjr@saproad cleberjr]$ gzip margem.swf [cleberjr@saproad cleberjr]$ ls -l margem.swf.gz -rw-rw-rw1 cleberjr cleberjr 590 Nov 18 10:01 margem.swf.gz

[cleberjr@saproad cleberjr]$ chmod 660 margem.swf.gz [cleberjr@saproad cleberjr]$ gunzip margem.swf.gz [cleberjr@saproad cleberjr]$ ls -l margem.swf -rw-rw---1 cleberjr cleberjr 556 Nov 18 10:01 margem.swf

Sintaxe:
gzip [-opo] nome_arquivo/diretrio

Opo: f - fora a descompactao sobre arquivos existentes e compactao sobre links simblicos; r - trabalha de forma recursiva sob diretrios; t - testa a integridade do arquivo compactado; d - descompacta o arquivo do tipo .gz; h - chama a ajuda. Uma vantagem desta ferramenta a possibilidade de compactar diretrios tambm, e a principal desvantagem de no existir opo para manter o arquivo original e criar outro compactado. Exemplo:
$ gzip teste

$ ls -l

-rw-r--r--

1 aluno

aluno

4926 Feb 21 11:01 teste.gz

Para a descompactao existem duas formas:


gunzip nome_arquivo.gz

ou gzip -d nome_arquivo.gz

Exemplo:
$ gunzip teste.gz

$ ls -l teste* -rw-r--r-1 aluno aluno 25223 Feb 21 11:01 teste

11.5 zip
O compactador zip alm de um utilitrio para a compactao serve tambm como empacotador (para melhor entendimento sobre empacotadores veja tpico sobre a ferramenta tar), tendo como principal funo a sua portabilidade, ou seja, esta ferramenta compatvel com outros sistemas de compactao do tipo pkzip e similares.

sintectus.com//LicaoCompactando

3/8

03/03/2011

LicaoCompactandoDescompactandoAr Quando for desejado a compactao de vrios arquivos em um s arquivo, o zip muito til, pois em sua prpria sintaxe solicitado um nome para ser o arquivo principal (no pode ser um arquivo existente) evitando assim a perda do arquivo originrio.
Sintaxe:
zip [-opo] arquivo.zip arquivo1 arquivo2 ... arquivoN

Para esse caso o arquivo arquivo.zip ser criado no momento da compactao e ele no precisa necessariamente possuir a extenso .zip, ela colocada para facilitar a sua identificao. Opes: r - trabalha de forma recursiva sobre diretrios; T - testa a integridade do arquivo de zip; h - apresenta a ajuda; D - no adiciona diretrios quando solicitado uma pasta inteira. A opo D pode ser utilizada quando for necessrio copiar somente os arquivos que esto dentro de uma pasta, mas que exista alm dos arquivos um diretrio, sendo este no necessrio, excluindo assim este diretrio. Para a descompactao e desempacotamento utilizado o seguinte comando:
unzip nome_arquivo.zip

Exemplo:
$ zip arquivo.zip teste teste1

updating: teste (deflated 81%) updating: teste1(deflated 75%)

$ ls l arquivo* -rw-r--r-1 aluno aluno 10046 Feb 21 11:15 arquivo.zip

Exemplo de descompactao
$ unzip arquivo.zip

Archive:

arquivo.zip

[aluno@lab20 aluno]$ ls -l

-rw-r--r--rw-r--r--rw-r--r--

1 aluno 1 aluno 1 aluno

aluno aluno aluno

25223 Feb 21 11:01 20046 Feb 21 11:13 1121 Feb 21 11:15

teste teste1 arquivo.zip

Note que o arquivo original (compactado) no perdido aps a sua descompactao.

11.6 tar
O TAR um empacotador, que permite o armazenamento de vrios arquivos e at mesmo diretrios dentro de um nico arquivo, para diversas utilidades, entre elas esto o backup do sistema e para transporte. Quando dito que vrios arquivos podem ser empacotados, no indica que o mesmo ser compactado, pois so duas operaes distintas. No caso do compactador, os arquivos sero comprimidos tendo assim o seu tamanho de alocao em disco diminudo, enquanto que o empacotador estar preocupado em juntar vrios arquivos ou diretrios dentro de um nico arquivo.

sintectus.com//LicaoCompactando

4/8

03/03/2011

LicaoCompactandoDescompactandoAr As chamadas tarballs, ou arquivos .tar.gz, so na realidade, um pacote tar (contendo diversos arquivos), compactado com a ferramenta gzip. Resultados semelhantes so obtidos atravs do uso do tar em conjunto com o bzip2 (estes geralmente possuem terminao .tar.bz2).
Sobre um arquivo empacotado pode ser realizado vrias tarefas, entre elas esto: criar, retirar os arquivos, acrescentar novos arquivos, ler o seu contedo, entre outros. Sintaxe:
tar [-opo][argumentos] nome_do_arquivo.tar arquivo1 ... arquivon

Opo: c - cria um novo arquivo empacotado; p - retira os arquivos empacotados mantendo suas informaes originais; r - inserir um novo arquivo aos empacotados; x - retira os arquivos empacotados dentro do diretrio corrente; t - lista todo o contedo do arquivo empacotado. Argumentos: C - diretrio - indica para o sistema que ser especificado um diretrio para a desempacotao dos arquivos; f - arquivo - indica para o sistema que ser especificado um arquivo; h - no copia links simblicos, e sim os arquivos para os quais elas apontam; v - indica para o sistema informar o processamento de empacotamento conforme ele vai sendo realizado; z - compacta os arquivos empacotados aps o processo com a ferramenta de compactao gzip; j - compacta os arquivos empacotados aps o processo com a ferramenta de compactao bzip2. Sobre os argumentos os mais utilizados so v, para a visualizao do que est ocorrendo, o z, para a compactao do pacote e o f para a informao do arquivo geral (a ordem das letras utilizadas no influencia no resultado assim como em outros casos de comandos com opes) Exemplo:
$ tar cvf zteste.tar zlogin zlogout zprofile zshenv zshrc

$ ls zlogin zlogout zprofile zshenv zshrc zteste.tar

Os arquivos originais no foram apagados, e sim criado uma cpia para dentro de zteste.tar. Para confirmar se tudo deu certo, deve ser gerada uma lista sobre os arquivos que esto dentro do pacote:
$ tar tvf zteste.tar

zlogin zlogout zprofile zshenv zshrc

sintectus.com//LicaoCompactando

5/8

03/03/2011

LicaoCompactandoDescompactandoAr Se nenhum erro for retornado o pacote est perfeito.


Empacotando e compactando ao mesmo tempo com a ferramenta de compactao gzip:
$ tar cvfz zteste.tar.gz zlogin zlogout zprofile zshenv zshrc

$ ls

zlogin

zlogout

zprofile

zshenv

zshrc

zteste.tar.gz

A extenso gz informa que o pacote tambm foi compactado. O desempacotamento muito simples, sendo que dever ser informado para o sistema a opo x:
$cp zteste.tar /tmp/

$cd /tmp

$tar xvf zteste.tar $ls

zlogin

zlogout

zprofile

zshenv

zshrc

zteste.tar

O arquivo original zteste.tar ir permanecer no sistema, para servir como backup se caso ocorra alguma coisa com os arquivos descompactados, devendo ser apagado manualmente do sistema, se o usurio assim o preferir. Caso o pacote esteja compactado dever ser informado, junto com as demais opes, o argumento sobre a ferramenta de compactao, sendo, z para o gzip (gz) e j para o bzip2 (bz2).

11.7 Comparativo entre os compactadores


Aqui est um comparativo dos compactadores vistos utilizando um arquivo relativamente pequeno( um arquivo em PDF). compactador bzip2 gzip zip tamanho original do arquivo 11.1 MB (11631660 bytes) 11.1 MB (11631660 bytes) 11.1 MB (11631660 bytes) tamanho novo 10.4 MB (10856335 bytes) 10.3 MB (10813183 bytes) 10.3 MB (10813347 bytes) taxa de compresso 6,665643597% 7,036631057% 7,035221112 %

Agora um comparativo com um arquivo maior (um arquivo de vdeo): compactador bzip2 gzip zip tamanho original do arquivo 238,8 MB (250437044 bytes) 238,8 MB (250437044 bytes) 238,8 MB (250437044 bytes) tamanho novo 236,8 MB (248319817 bytes) 236,1 MB (247617747 bytes) 236,1 MB (247617868 bytes) taxa de compresso 0,84541287 % 1,125750789 % 1,125702474 %

11.8 Terminologia Utilizada


sintectus.com//LicaoCompactando 6/8

03/03/2011

LicaoCompactandoDescompactandoAr Superusurio usurio responsvel pelo sistema, possui todos os direitos sobre o sistema. Sistema o computador em si, com as funcionalidades de hardware e software. Login acesso ao sistema utilizando um usurio conhecido e uma senha vlida Logout finalizar a sesso de acesso do usurio que efetuou login no sistema Compactador ferramenta que auxilia a reduzir o tamanho de um arquivo ou diretrio Empacotador ferramenta que aglutina (junta) vrios arquivos ou diretrios em um nico arquivo Raiz designao dada para o /, simboliza o ponto de inicio para todo o sistema

11.9 Exerccios de Reviso


1. possvel empacotar diretrios? 2. Apresente os passos para gerar um arquivo empacotado e compactado, depois listar o seu contedo, mover para o diretrio /tpm e desempacotar l. 3. Como seria a leitura do arquivo mensagem.gz, primeiramente descompactando e depois sem descompactar?

11.10 - Direitos autorais e licena


Autor(es): Direito Autoral: Copyright Licena: Esta obra est licenciada sob uma Licena Creative Commons.

Anterior Trilha B

Prximo

11.11 - Comentrios
Adicionar

LicaoForm Titulo LicaoAnterior NivelAcima LicaoPosterior Licenca DireitoAutoral Autoria PreRequisitos SoftwareUtilizado Objetivo Oferecer conhecimentos sobre os compactadores de arquivo e seu uso via linha de comando. 11 Compactando e Descompactando Arquivos LicaoControlandoProcessos LicaoLoginDesligamentoReinicializacaodoSistema ExerciciosConceitoseComandosUnix LicencaCreativeCommonsBySA ?

OrdemPadrao

sintectus.com//LicaoCompactando

7/8

03/03/2011

LicaoCompactandoDescompactandoAr
TrilhaPadrao B

Editar | Anexar | Impresso | Texto Puro | Referncias: Web, Global | Histrico: r14 < r13 < r12 < r11 < r10 | Mais aes de tpico

Copyright 2003 - 2011, pelos autores colaboradores. Todo o contedo desta pgina pode ser utilizado segundo os termos da Licena Creative Commons: Atribuio, Uso no Comercial e Permanncia da Licena, salvo disposio em contrrio indicada de forma explcita no tpico correspondente.

sintectus.com//LicaoCompactando

8/8

Você também pode gostar