Estações de trabalho on-line OnWorks Linux e Windows

Logotipo

Hospedagem online grátis para estações de trabalho

<Anterior | Conteúdo | Próxima>

zip

O zip programa é uma ferramenta de compressão e um arquivador. O formato de arquivo usado pelo programa é familiar aos usuários do Windows, uma vez que lê e escreve .zip arquivos. No Linux, entretanto, gzip é o programa de compressão predominante com bzip2 sendo um segundo próximo.

Em seu uso mais básico, zip é invocado assim:

zip opções arquivo zipfile ...

Por exemplo, para fazer um arquivo zip de nosso playground, faríamos o seguinte:



[me @ linuxbox ~] $ zip -r playground.zip playground

[me @ linuxbox ~] $ zip -r playground.zip playground


A menos que incluamos o -r opção de recursão, apenas o recreio diretório (mas nenhum de seus conteúdos) é armazenado. Embora a adição da extensão .zip é automático, incluiremos a extensão do arquivo para maior clareza.

Durante a criação do arquivo zip, zip normalmente exibirá uma série de mensagens como esta:



adicionando: playground / dir-020 / arquivo-Z (armazenado 0%) adicionando: playground / dir-020 / arquivo-Y (armazenado 0%) adicionando: playground / dir-020 / arquivo-X (armazenado 0%) adicionando: playground / dir-087 / (armazenado 0%) adicionando: playground / dir-087 / arquivo-S (armazenado 0%)

adicionando: playground / dir-020 / arquivo-Z (armazenado 0%) adicionando: playground / dir-020 / arquivo-Y (armazenado 0%) adicionando: playground / dir-020 / arquivo-X (armazenado 0%) adicionando: playground / dir-087 / (armazenado 0%) adicionando: playground / dir-087 / arquivo-S (armazenado 0%)


Essas mensagens mostram o status de cada arquivo adicionado ao arquivo. zip irá adicionar arquivos ao arquivo usando um de dois métodos de armazenamento: Ou irá “armazenar” um arquivo sem compressão, como mostrado aqui, ou irá “esvaziar” o arquivo que executa a compressão. O valor numérico exibido após o método de armazenamento indica a quantidade de compressão alcançada. Como nosso playground contém apenas arquivos vazios, nenhuma compactação é realizada em seu conteúdo.

Extrair o conteúdo de um arquivo zip é simples ao usar o descompactar programa:


[me @ linuxbox ~] $ cd foo

[me @ linuxbox foo] $ descompacte ../playground.zip

[me @ linuxbox ~] $ cd foo

[me @ linuxbox foo] $ descompacte ../playground.zip


Uma coisa a se notar sobre zip (em oposição a alcatrão) é que, se um arquivo existente for especificado, ele será atualizado em vez de substituído. Isso significa que o arquivo existente é preservado, mas novos arquivos são adicionados e os arquivos correspondentes são substituídos.

Os arquivos podem ser listados e extraídos seletivamente de um arquivo zip, especificando-os para

../playground.zip

../playground.zip

Data

----

Data

----

Tempo

----

Tempo

----

10-05-16 09:25

10-05-16 09:25

descompactar:



[me @ linuxbox ~] $ descompacte -l playground.zip playground / dir-087 / arquivo-Z

[me @ linuxbox ~] $ descompacte -l playground.zip playground / dir-087 / arquivo-Z


Arquivo:

Comprimento

--------

0

--------

0

Nome

----

playground / dir-087 / arquivo-Z

-------

Arquivo 1

Arquivo:

Comprimento

--------

0

--------

0


[me @ linuxbox ~] $ cd foo

[me @ linuxbox foo] $ descompacte ../playground.zip playground / dir-087 / file-Z

Arquivo: ../playground.zip

substituir playground / dir-087 / file-Z? [s] es, [n] o, [A] ll, [N] um, [r] ename: y

extraindo: playground / dir-087 / file-Z

[me @ linuxbox ~] $ cd foo

[me @ linuxbox foo] $ descompacte ../playground.zip playground / dir-087 / file-Z

Arquivo: ../playground.zip

substituir playground / dir-087 / file-Z? [s] es, [n] o, [A] ll, [N] um, [r] ename: y

extraindo: playground / dir-087 / file-Z


imagem

Com o -l opção causa descompactar para simplesmente listar o conteúdo do arquivo sem extrair o arquivo. Se nenhum arquivo for especificado, descompactar irá listar todos os arquivos no arquivo. o -v opção pode ser adicionada para aumentar o detalhamento da listagem. Observe que, quando a extração do arquivo entra em conflito com um arquivo existente, o usuário é avisado antes de o arquivo ser substituído.

Como alcatrão, zip pode fazer uso de entrada e saída padrão, embora sua implementação seja um pouco menos útil. É possível canalizar uma lista de nomes de arquivos para zip via -@ opção:


[me @ linuxbox foo] $ cd

[me @ linuxbox ~] $ localizar playground -name "arquivo-A" | zip - @ file-A.zip

[me @ linuxbox foo] $ cd

[me @ linuxbox ~] $ localizar playground -name "arquivo-A" | zip - @ file-A.zip


Aqui usamos find para gerar uma lista de arquivos que correspondem ao teste -name "arquivo-A"e, em seguida, canalize a lista para zip, que cria o arquivo arquivo-A.zip contendo os arquivos selecionados.

O zip também suporta a gravação de sua saída na saída padrão, mas seu uso é limitado porque poucos programas podem fazer uso da saída. Infelizmente, o programa de descompactação não aceita entrada padrão. Isso evita que zip e unzip sejam usados ​​juntos para realizar


formulário de cópia de arquivo de rede como alcatrão.

O zip pode, no entanto, aceitar entrada padrão, portanto, pode ser usado para compactar a saída de outros programas:



[me @ linuxbox ~] $ ls -l / etc / | zip ls-etc.zip -

adicionando: - (desinflado 80%)

[me @ linuxbox ~] $ ls -l / etc / | zip ls-etc.zip -

adicionando: - (desinflado 80%)


Neste exemplo, canalizamos a saída de ls para dentro zip. Como alcatrão, zip interpreta o traço final como “usar entrada padrão para o arquivo de entrada”.

O descompactar programa permite que sua saída seja enviada para a saída padrão quando o -p (para tubo) a opção é especificada:



[me @ linuxbox ~] $ descompacte -p ls-etc.zip | menos

[me @ linuxbox ~] $ descompacte -p ls-etc.zip | menos


Abordamos algumas das coisas básicas que zip/descompactar pode fazer. Ambos têm várias opções que aumentam sua flexibilidade, embora algumas sejam específicas de plataforma para outros sistemas. As páginas do manual para ambos zip e descompactar são muito bons e contêm exemplos úteis. No entanto, o uso principal desses programas é para a troca de arquivos com sistemas Windows, ao invés de realizar compactação e arquivamento no Linux, onde alcatrão e gzip são muito preferidos.


Top OS Cloud Computing na OnWorks: