Linux - Compactando e Descompactando com .zip


Quando trabalhamos, seja com Linux, seja com outro sistema operacional, uma das operações mais importantes na manipulação de arquivos é a compactação.

Existem vários padrões (.gzip,.bzip2, etc) porém neste post vamos falar do padrão zip e como utiliza-lo na linha de comando Linux/Unix (Shell).

São inúmeras as opções de compactação e descompactação porém vamos listar aqui as mais comuns e algumas que não são tão comuns mas não por isto menos úteis.

Compactação normal de arquivos:
$ zip   nome_do_novo_arquivo.zip   arquivo_1   arquivo_2   arquivo_n

Compactação recursiva
$ zip   -r   nome_do_novo_arquivo.zip   caminho_do_diretorio

Compacta todos os arquivos do diretório em que se está
$ zip   -r   nome_do_novo_arquivo.zip   *

Compacta os arquivos de um diretório mas sem a sua árvore de diretórios
$ zip   -rj   nome_do_novo_arquivo.zip   caminho_do_diretorio


Lista o conteúdo do arquivo zip
$ unzip   -l   nome_do_arquivo.zip

Será exibido algo como abaixo:


Archive:  arq.zip

  Length      Date    Time    Name
---------  ---------- -----   ----
     6070  2012-08-06 10:48   validate.php
      267  2012-07-13 19:42   db.php
     5204  2012-07-27 14:43   FixFile.class.php
      924  2012-07-18 16:00   Folder.class.php
    12342  2012-08-13 12:05   Importer.class.php
     5096  2012-08-17 13:07   importer.php
    15549  2012-08-17 16:14   process.php
---------                     -------
    45452                     7 files



Descompacta um arquivo zip
$ unzip   nome_do_arquivo.zip

Descompacta um arquivo zip em um determinado diretório
$ unzip   nome_do_arquivo.zip   -d   caminho_do_diretorio

Comentários

Postagens mais visitadas deste blog

MySQL - Completando quantidades fixas de caracteres com as funções LPAD() e RPAD()

MySQL - Clonando tabelas na linha de comando

PHP - Gerando arquivo em UTF-8 com fwrite() e utf8_encode()