Comandos Linux

Comandos Zip e Unzip no Linux

Comandos Zip e Unzip no Linux

Zip é um comando popular de plataforma cruzada usado para compactar e arquivar dados. A compactação economiza espaço reduzindo o tamanho dos dados, enquanto o arquivamento torna a transferência de dados mais fácil, combinando vários arquivos ou diretórios em um único arquivo. Considere, se temos que transferir 5 arquivos pela Internet, cada um com tamanho de 50 megabytes; transferir todos os arquivos um por um pode levar muito tempo. Compactar os arquivos para reduzir o tamanho em até 25 MB e, em seguida, arquivá-los em um único arquivo tornará a transferência dos arquivos muito mais rápida do que quando eles estão descompactados. Zip é o utilitário mais amplamente usado para arquivar e compactar arquivos, enquanto o unzip é usado para extrair e descompactar os arquivos compactados.

Neste artigo, veremos os comandos zip e unzip no Linux, junto com suas opções de linha de comando e exemplos.

Pré-requisitos

Observação: Os comandos mencionados neste artigo foram testados no Ubuntu 20.04 LTS (Fossa Focal). Os mesmos comandos também se aplicam à distribuição Debian.

Instalando Zip e Unzip

Por padrão, os pacotes zip e unzip são instalados em sistemas Ubuntu. Caso eles estejam faltando em seu sistema, você pode instalá-los facilmente. Inicie o Terminal usando o teclado Ctrl + Alt + T. Em seguida, para instalar o zip, emita o seguinte no Terminal:

$ sudo apt install zip

Para instalar a descompactação, emita o comando abaixo no Terminal:

$ sudo apt install unzip

Existem alguns cenários em que pode ser necessário compactar os arquivos:

Comando ZIP no Linux

Para criar um arquivo zip, você precisará fornecer o nome do arquivo compactado e os arquivos que precisam ser incluídos no zip.

$ zip options zip_file file1 file2…

Arquivo único compactado

Para compactar um único arquivo chamado testfile.TXT; para um arquivo zip chamado teste.fecho eclair, o comando seria:

teste $ zip.arquivo de teste zip.TXT


O comando acima irá comprimir o arquivo especificado no diretório atual, deixando o arquivo original para trás.

Para confirmar se o arquivo zip foi criado, execute o comando no Terminal abaixo:

$ ls -l

Compacte vários arquivos

Você também pode compactar vários arquivos com o comando zip. Vamos criar alguns arquivos chamados testfile1.TXTtestfile2.TXTtestfile3.TXT, e testfile4.TXT usando o seguinte comando no Terminal:

$ sudo touch testfile1.txt testfile2.txt testfile3.txt testfile4.TXT

Agora, para compactar esses arquivos em um único arquivo, denominado arquivos.fecho eclair, emita o seguinte comando no Terminal:

$ arquivos zip.zip testfile1.txt testfile2.txt testfile3.txt testfile4.TXT

Você também pode usar o curinga para especificar vários arquivos com a mesma extensão. Por exemplo, para compactar todos os arquivos que terminam com .extensão txt em um arquivo zip, denominado files1.zip, emita o seguinte comando no Terminal:

$ zip files1.fecho eclair *.TXT

Compacte um arquivo em um diretório diferente

Se você precisar compactar um arquivo em algum diretório diferente do diretório atual, use a seguinte sintaxe:

$ zip / caminho / para / diretório.zip_file filename

Por exemplo, para zip testfile.TXT arquivo para Documentos / docs / diretório nomeado como teste.fecho eclair, o comando seria:

$ zip Documents / docs / test.arquivo de teste zip.TXT

Adicionar arquivo a um zip existente

Você também pode adicionar um arquivo a um arquivo zip pré-existente. Use a seguinte sintaxe para fazer isso:

$ zip -u zip_file filename

Digamos que você tenha um arquivo zip (arquivos1.fecho eclair), E você deseja incluir mais um arquivo (testfile4.TXT) Nele, o comando, neste caso, seria:

$ zip -u files1.zip testfile4.TXT

Remover um arquivo de um arquivo zip

Da mesma forma, você também pode remover um arquivo de um arquivo zip já existente. Use a seguinte sintaxe para fazer isso:

$ zip -d zip_file filename

Digamos que você tenha um arquivo zip (arquivos1.fecho eclair), E você deseja remover um arquivo (testfile1.TXT) Dele, o comando, neste caso, seria:

$ zip -d files1.zip testfile1.TXT

Compactar arquivos no modo silencioso

Se você não quiser exibir a saída do comando zip, use a opção -q (quiet) com o comando zip da seguinte maneira:

$ zip -q zip_file filename

Por exemplo, ao compactar o arquivo de teste.txt, você pode suprimir a saída com o seguinte comando:

teste $ zip -q.arquivo de teste zip.TXT

Na captura de tela a seguir, você pode ver a saída do comando zip que não foi exibida no Terminal.

Excluindo arquivos originais após compactar

Por padrão, o zip mantém o arquivo original junto com o arquivo compactado. No entanto, usando o -m opção com o comando zip, você pode excluir os arquivos originais após criar seu arquivo compactado.

$ zip -m zip_file filename

Por exemplo, o seguinte comando excluirá o testfile.TXT depois de criar seu arquivo compactado, teste.fecho eclair.

$ zip -m test.arquivo de teste zip.TXT

Diretórios Zip

Para compactar diretórios em seu sistema Linux, use o -r opção (recursiva) com o comando zip. O -r opção irá compactar os diretórios recursivamente, i.e., incluindo conteúdo de subdiretórios.

$ zip -r zip_file directoryname

Por exemplo, para compactar o Documentos diretório recursivamente para o teste.fecho eclair arquivo, o comando seria:

teste $ zip -r.Documentos zip /

Este comando irá compactar o diretório Documentos, junto com todos os subdiretórios e os arquivos incluídos nele.

Definir o nível de compressão

Você também pode definir o nível de compressão a ser aplicado aos arquivos sendo compactados. O nível de compactação varia de 0 a 9, onde 6 é o valor padrão, 0 é o valor mais baixo e 9 é o valor mais alto de compactação.

Por exemplo, para compactar todos os arquivos de texto para arquivos1.fecho eclair usando o valor de compactação mais alto, o comando seria:

$ zip -9 files1.fecho eclair *.TXT


Da mesma forma, para compactar todos os arquivos de texto para arquivos2.fecho eclair usando o menor valor de compressão -0, o comando seria:

$ zip -0 files2.fecho eclair *.TXT


A seguir está o resultado do ls comando depois de criar os arquivos zip. Se compararmos os tamanhos de ambos os arquivos zip, você pode ver os arquivos1.zip, que foi compactado usando o nível de compactação 9, tem menos tamanho em comparação com arquivos 2.zip, que foi compactado usando o nível de compactação 0.

Crie um arquivo zip protegido por senha

Você também pode criar arquivos zip protegidos por senha usando o -e opção com o comando zip da seguinte maneira:

$ zip -e zip_file filename

Por exemplo, o seguinte comando irá compactar todos os arquivos de texto em arquivos3.fecho eclair, então peça uma senha. Defina qualquer senha e pressione Enter. Em seguida, verifique esta senha digitando-a novamente e pressionando Enter.

$ zip -e files3.fecho eclair *.TXT

Adicionar senhas a arquivos zip com o zipcloak

No exemplo anterior, criamos um arquivo zip protegido por senha. Mas e se você criou um arquivo zip e esqueceu de definir a senha. Com o comando zipcloak, você pode definir uma senha para um arquivo zip a qualquer momento.

$ zipcloak zip_file

Por exemplo, para definir uma senha para um arquivo zip já criado chamado arquivos.fecho eclair, o comando seria:

arquivos $ zipcloak.fecho eclair

Será solicitada uma senha. Digite qualquer senha e pressione Entrar. Em seguida, verifique essa senha digitando-a novamente e pressionando Entrar.

Veja os detalhes do arquivo com o comando zipdetails

O comando Zipdetails mostra informações detalhadas sobre o arquivo compactado. As informações que ele exibe são sobre a estrutura do registro, e não sobre os dados compactados. Para encontrar informações detalhadas sobre o arquivo compactado, digite zipdetails seguido do nome do arquivo compactado, conforme mostrado abaixo:

$ zipdetails zip_file

Por exemplo, para encontrar informações detalhadas sobre um arquivo compactado, teste.fecho eclair, o comando seria:

teste $ zipdetails.fecho eclair

Na saída, você verá muitas informações sobre o seu arquivo compactado.

Pesquise dentro do arquivo com o comando zipgrep

O comando zipgrep nos permite pesquisar um determinado texto dentro de arquivos dentro do arquivo compactado sem extraí-lo. Se um arquivo zip for protegido por senha, você terá que primeiro inserir a senha para ele. Para pesquisar texto dentro do arquivo zip, use a seguinte sintaxe:

$ zipgrep expressão zip_file

Por exemplo, para pesquisar quais arquivos dentro do arquivo zip teste.fecho eclair contém a palavra Porta de entrada, o comando seria:

teste de gateway $ zipgrep.fecho eclair

O resultado é o seguinte. Você pode ver dois arquivos iplist.texto e iplist dentro de teste.fecho eclair contém a palavra gateway.


Para pesquisar um texto de um arquivo específico dentro do arquivo zip, você também pode adicioná-lo:

$ zipgrep expressão zip_file nome do arquivo

Por exemplo, o seguinte comando irá procurar a palavra Porta de entrada de apenas um arquivo específico iplist dentro do arquivo zip teste.fecho eclair:

teste de gateway $ zipgrep.zip Document / docs / iplist

Veja as informações com o comando zipinfo

O comando zipinfo no Linux lista os arquivos contidos em um arquivo zip junto com suas permissões, tipo de compressão, tamanho original, data e carimbo de hora. Para visualizar informações sobre um arquivo zip específico, digite zipinfo seguido do nome do arquivo, conforme mostrado abaixo:

$ zipinfo nome do arquivo

O seguinte comando exibirá informações sobre o arquivo zip arquivos1.fecho eclair:

$ zipinfo files1.fecho eclair

Divida o arquivo com o comando zipsplit

Às vezes, o tamanho do arquivo zip é muito grande e você não consegue carregá-lo ou enviá-lo como um anexo devido a restrições de tamanho. Com o comando zipsplit, você pode dividir os arquivos zip em arquivos menores que são mais fáceis de transferir. Para dividir um arquivo zip em arquivos menores, com tamanho não superior a , a sintaxe seria:

$ zipsplit -n zip_file

 é o tamanho máximo para os arquivos divididos.

Por exemplo, o comando abaixo irá dividir teste.fecho eclair em arquivos menores com tamanho não superior a 104857600 bytes (104 MB).

$ zipsplit -n 104857600 test.fecho eclair

Aqui está a saída do comando acima. O teste.fecho eclair arquivo é dividido em três arquivos, que são nomeados sequencialmente como test1.fecho eclairtest2.fecho eclair, e test3.fecho eclair, respectivamente.

Se você executar o ls comando, você verá todos os três arquivos zip divididos, junto com o arquivo zip original.

Adicionar ou visualizar comentários em um arquivo zip com o zipnote

Com o comando zipnote, você pode adicionar, visualizar e editar os comentários em seu arquivo zip. Para ver os comentários, use o seguinte comando:

$ zipnote zip_file

Substitua o fecho eclair Arquivo com seu nome de arquivo zip real.

Se não houver comentários, você verá a seguinte visualização padrão:


Para adicionar comentários, primeiro, você precisará redirecionar a saída de zipnote para o arquivo de comentários. Use o seguinte comando para fazer isso:

$ zipnote zip_file> comentários

Por exemplo, para adicionar comentários a arquivos1.fecho eclair, o comando seria:

$ zipnote files1.zip> comentários

Agora, edite o comentários arquivo usando o seguinte comando:

comentários de $ sudo nano

Para cada arquivo, adicione seus comentários acima das linhas que dizem @ (comentário acima desta linha),então salve e saia do arquivo. Nós adicionamos dois comentários no arquivo de comentários, como pode ser visto em destaque na imagem abaixo.


Agora escreva os comentários em seu arquivo zip com o seguinte comando:

$ zipnote -w zip_file < comments

Em nosso caso, o comando seria;

$ zipnote -w files1.fecho eclair < comments

Agora, você pode verificar se os comentários foram adicionados emitindo o seguinte comando no Terminal:

$ zipnote zip_file

Ver ajuda

Para ver a ajuda sobre o comando zip, use o seguinte comando:

$ zip --help

Você também pode visitar a página de manual do utilitário zip usando o seguinte comando:

$ man zip

Comando de descompactação no Linux

Com o comando unzip, você pode extrair facilmente o conteúdo de um arquivo zip. Para descompactar um arquivo, use a seguinte sintaxe:

$ unzip options zip_file

Descompacte arquivos compactados únicos

Para descompactar um único arquivo zip, digamos teste.zip, o comando seria:

teste $ unzip.fecho eclair

Ele irá descompactar o arquivo no diretório atual.

Descompacte um arquivo em um diretório diferente

Você também pode descompactar um arquivo em algum outro diretório em vez do diretório atual usando a opção -d da seguinte maneira:

$ descompactar arquivo zip -d / caminho / para / diretório

Para descompactar um arquivo zip, teste.fecho eclair para Documentos, diretório, o comando seria:

teste $ unzip.zip -d Documentos /

Descompacte vários arquivos

Considere que existem vários arquivos zip em um diretório atual que você deseja descompactar. Você pode descompactar todos eles usando um único comando da seguinte maneira:

$ unzip '*.fecho eclair'

Este comando irá descompactar todos os arquivos zip que residem em seu diretório atual.

Suprimir a saída ao usar descompactar

Semelhante ao comando zip, você também pode ocultar a saída do comando unzip usando o -q opção da seguinte forma:

$ unzip -q zip_file

Excluir arquivos usando descompactação

Se você deseja descompactar um arquivo zip, mas não deseja extrair um arquivo específico, use o -x opção abaixo:

$ unzip zip_file -x filename

Por exemplo, temos um zip filetest.fecho eclair contendo três arquivos dentro dele. O seguinte comando irá descompactar todos os arquivos exceto um arquivo relatório.TXT:

teste $ unzip.relatório zip -x.TXT

Descompacte arquivos zip protegidos por senha

Para descompactar um arquivo zip protegido por senha sem perguntar, use -P opção, seguida da senha do arquivo:

$ unzip -P zip_file

Por exemplo, temos um arquivo zip, teste.fecho eclair, que é protegido pela senha “lata”. Para extrair esse arquivo, o comando seria:

teste de $ unzip -P tin.fecho eclair

Substituindo arquivos zip

Se você estiver descompactando um arquivo para um local onde os arquivos extraídos já existiam, você será solicitado a: sobrescrever o arquivo atual, pular a descompactação do arquivo atual, sobrescrever todos os arquivos, pular a descompactação de todos os arquivos ou renomear o arquivo.


Para substituir todos os arquivos existentes sem avisar, use o -o opção da seguinte forma:

$ unzip -o zip_file

Liste o conteúdo de um zip

Usando o -eu opção com o comando unzip, você pode listar o conteúdo de um arquivo zip sem extraí-lo.

$ unzip -l zip_file

Exemplo:

$ unzip -l test.fecho eclair

A seguir está a saída do comando acima que lista os arquivos contidos no arquivo zip teste.fecho eclair, junto com seus nomes, tamanho do arquivo original, data e carimbos de data / hora.

Ver informações detalhadas

Para visualizar informações detalhadas sem extrair o arquivo zip, use a opção -v da seguinte maneira:

$ unzip -v zip_file

Exemplo:

$ unzip -v test.fecho eclair

A seguir está a saída do comando acima que lista os arquivos contidos no teste.fecho eclair, junto com seus nomes, tamanho do arquivo original, tamanho compactado, método de compactação, taxa de compactação, data e carimbos de data / hora.

Verificando se há erros em um arquivo

Com a opção -t no comando unzip, você pode verificar se um arquivo zip é válido e não contém erros.

$ unzip -t test1.fecho eclair

Exemplo:

$ unzip -t test1.fecho eclair

O comando acima verifica se há erros no test1.fecho eclair arquivo e exibe os resultados. A saída a seguir mostra que não há erro no arquivo compactado.

Ver ajuda

Para ver a ajuda sobre o comando unzip, use o seguinte comando:

$ unzip --help

Você também pode visitar a página do manual do utilitário de descompactação usando o seguinte comando:

$ man unzip

Conclusão

Isso é tudo que você precisa saber para dominar os comandos zip e unzip no Linux. Neste artigo, discutimos em detalhes o uso de comandos zip e unzip no Linux, juntamente com várias opções de linha de comando e exemplos.

5 melhores jogos de arcade para Linux
Hoje em dia, os computadores são máquinas sérias usadas para jogos. Se você não pode obter a nova pontuação máxima, você saberá o que quero dizer. Nes...
Batalha por Wesnoth 1.13.6 Desenvolvimento lançado
Batalha por Wesnoth 1.13.6 lançado no mês passado, é o sexto lançamento de desenvolvimento no 1.13.série x e oferece uma série de melhorias, principal...
Como instalar o League Of Legends no Ubuntu 14.04
Se você é fã de League of Legends, esta é uma oportunidade para testar o funcionamento de League of Legends. Observe que LOL é suportado no PlayOnLinu...