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
- Sistema Ubuntu ou Debian
- Utilitários compactar e descompactar instalados
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 zipPara instalar a descompactação, emita o comando abaixo no Terminal:
$ sudo apt install unzipExistem alguns cenários em que pode ser necessário compactar os arquivos:
- Para economizar espaço de armazenamento, como compactar comprime o tamanho do arquivo
- Transferência de arquivos grandes por e-mail
- Upload ou download de arquivos em uma velocidade mais rápida
- Para economizar largura de banda
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.TXT, testfile2.TXT, testfile3.TXT, e testfile4.TXT usando o seguinte comando no Terminal:
$ sudo touch testfile1.txt testfile2.txt testfile3.txt testfile4.TXTAgora, 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 filenamePor 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 filenameDigamos 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 filenameDigamos 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 filenamePor 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.TXTNa 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 filenamePor 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 directorynamePor 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:
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 filenamePor 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_filePor exemplo, para definir uma senha para um arquivo zip já criado chamado arquivos.fecho eclair, o comando seria:
arquivos $ zipcloak.fecho eclairSerá 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_filePor exemplo, para encontrar informações detalhadas sobre um arquivo compactado, teste.fecho eclair, o comando seria:
teste $ zipdetails.fecho eclairNa 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_filePor 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 eclairO 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:
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 arquivoO 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
O
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 eclairAqui 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 eclair, test2.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_fileSubstitua 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:
Por exemplo, para adicionar comentários a arquivos1.fecho eclair, o comando seria:
$ zipnote files1.zip> comentáriosAgora, edite o comentários arquivo usando o seguinte comando:
comentários de $ sudo nanoPara 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:
Em nosso caso, o comando seria;
$ zipnote -w files1.fecho eclair < commentsAgora, 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 --helpVocê também pode visitar a página de manual do utilitário zip usando o seguinte comando:
$ man zipComando 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_fileDescompacte arquivos compactados únicos
Para descompactar um único arquivo zip, digamos teste.zip, o comando seria:
teste $ unzip.fecho eclairEle 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órioPara 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 filenamePor 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 -PPor 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:
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_fileExemplo:
$ unzip -l test.fecho eclairA 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_fileExemplo:
$ unzip -v test.fecho eclairA 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 eclairExemplo:
$ unzip -t test1.fecho eclairO 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 --helpVocê também pode visitar a página do manual do utilitário de descompactação usando o seguinte comando:
$ man unzipConclusã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.