Skip to content

Exemplos práticos do comando zip

17 de abril de 2021

Neste artigo

Existem várias maneiras de compactar arquivos usando a linha de comando do Linux. Este artigo inclui exemplos práticos que mostram como usar o comando zip para compactar e organizar arquivos em seu sistema de arquivos. Os arquivos compactados são usados ​​quando você precisa economizar espaço e copiar arquivos grandes de um lugar para outro. Se você tiver 10 arquivos com 100 megabytes de tamanho e precisar transferi-los para um site ftp, a transferência pode levar um tempo considerável, dependendo da velocidade do processador. Se você compactar todos os 10 arquivos em um único arquivo compactado e a compactação reduzir o tamanho do arquivo para 50 MB por arquivo, você só precisará transferir a metade dos dados.

Como criar um arquivo de todos os arquivos em uma pasta

Imagine que você tem uma pasta de músicas com os seguintes arquivos MP3:

Rodovia AC / DC para o Inferno

Night Prowler.mp3 Amor com fome man.mp3 Get It Hot.mp3 Ande por cima de você.mp3 Highway to hell.mp3 Se você quiser sangue, você o conseguiu.mp3 Show down in flames.mp3 Touch too much.mp3 Batendo no mato. mp3 Girls Got Rhythm.mp3 Este comando simples do Linux que ilustra como criar um arquivo de todos os arquivos na pasta atual chamado ACDC_Highway_to_Hell.zip: zip ACDC_Highway_to_Hell *

type = “code”> Texto rola a tela para cima, mostrando os arquivos à medida que são adicionados.

Como incluir arquivos ocultos em um arquivo

O comando anterior serve para arquivar todos os arquivos em uma pasta, mas inclui apenas os arquivos que não estão ocultos. Nem sempre é tão simples. Imagine que você queira compactar sua pasta de início para poder fazer backup em uma unidade USB ou disco rígido externo. Sua pasta de início inclui arquivos ocultos. Para compactar todos os arquivos, incluindo os arquivos ocultos em uma pasta, execute o seguinte comando: zip home *. *

type = “code”> Isso cria um arquivo chamado home.zip com todos os arquivos da pasta pessoal. (Você deve estar na pasta de início para que isso funcione). O problema com esse comando é que ele inclui apenas os arquivos da pasta pessoal e não as pastas, o que nos leva ao próximo exemplo.

Como arquivar todos os arquivos e subpastas em um arquivo Zip

Para incluir todos os arquivos e subpastas em um arquivo, execute o seguinte comando: zip -r home.

type = “código”>

Como adicionar novos arquivos a um arquivo compactado existente

Se você deseja adicionar novos arquivos a um arquivo existente ou atualizar os arquivos em um arquivo, use o mesmo nome para o arquivo ao executar o comando zip. Por exemplo, imagine que você tem uma pasta de músicas com quatro álbuns e cria um arquivo chamado music.zip para manter como backup. Agora imagine que uma semana depois você baixe dois novos álbuns. Para adicionar os novos álbuns ao arquivo zip, basta executar o mesmo comando zip da semana anterior. Para criar o arquivo de música original, execute o seguinte código: zip -r music / home / yourname / music /

type = “code”> Para adicionar novos arquivos ao arquivo, execute o mesmo comando novamente. Se o arquivo zip contiver uma lista de arquivos e um dos arquivos no disco tiver sido alterado, o arquivo corrigido será atualizado no arquivo zip.

Como atualizar os arquivos existentes em um arquivo compactado

Se você tem um arquivo zip que supostamente contém os mesmos nomes de arquivo todas as vezes e deseja atualizar esse arquivo com todas as alterações feitas a esses arquivos, o -f switch ajuda você a fazer isso. Por exemplo, imagine que você tenha um arquivo compactado com os seguintes arquivos: / home / seunome / documentos / arquivo1 / home / seunome / documentos / arquivo2 / home / seunome / documentos / arquivo3 / home / seunome / documentos / arquivo4 / home / seunome / documents / file5 / home / yourname / documents / file6 Agora imagine que durante a semana, você adicionou dois novos arquivos e alterou dois arquivos para que a pasta / home / yourname / documents fique assim: / home / yourname / documents / arquivo1 / home / seunome / documentos / arquivo2 / home / seunome / documentos / arquivo3 / home / seunome / documentos / arquivo4 (atualizado) / home / seunome / documentos / arquivo5 (atualizado) / home / seunome / documentos / arquivo6 / home / seunome / documentos / arquivo7 / home / seunome / documentos / arquivo8 Quando você executa o comando a seguir, o arquivo zip conterá os arquivos atualizados (arquivo4 e arquivo5), mas o arquivo7 e o arquivo8 não serão adicionados. zip zipfilename -f -r / home / seunome / documentos

type = “código”>

Como excluir arquivos de um arquivo compactado

Então, você criou um enorme arquivo zip com centenas de arquivos e agora percebe que há quatro ou cinco arquivos no arquivo zip que você não precisa. Sem ter que compactar todos os arquivos novamente, você pode apenas executar o comando zip com o -d mude da seguinte maneira: zip zipfilename -d [name of file in archive]

type = “code”> Por exemplo, se você tiver um arquivo no arquivo com o nome home / documents / test.txt, exclua-o com este comando: zip zipfilename -d home / documents / test.txt

type = “código”>

Como copiar arquivos de um arquivo Zip para outro

Se você tiver arquivos em um arquivo zip e quiser copiá-los para outro arquivo zip sem extraí-los primeiro e compactá-los novamente, use o -você interruptor. Suponha que você tenha um arquivo zip chamado “variousmusic.zip” com músicas de vários artistas, um dos quais é AC / DC. Você pode copiar as músicas AC / DC do arquivo variousmusic.zip para o seu arquivo ACDC.zip usando o seguinte comando: zip variousmusic.zip -U –out ACDC.zip “Back_In_Black.mp3”

type = “code”> O comando acima copia o arquivo “Back_In_Black.mp3” de variousmusic.zip para ACDC.zip. Se o arquivo zip para o qual você está copiando não existir, ele será criado.

Como usar a correspondência de padrões e tubulação para criar um arquivo

A próxima opção é realmente útil porque permite que você use a saída de outros comandos para inserir arquivos em seu arquivo zip. Suponha que você deseja criar um arquivo chamado lovesongs.zip, que contém todas as músicas que possuem a palavra love no título. Para encontrar os arquivos com amor no título, você pode usar o seguinte comando: find / home / seunome / Música -nome * amor *

type = “code”> O comando acima não é 100 por cento perfeito porque ele pega palavras como “trevo” também, mas você entendeu. Para adicionar todos os resultados retornados do comando acima a um arquivo zip chamado lovesongs.zip, execute este comando: find / home / yourname / Music -name * love * | zip lovesongs.zip – @

type = “código”>

Como criar um arquivo dividido

Se você estiver fazendo backup do seu computador, mas a única mídia disponível para backup for um conjunto de DVDs virgens, você tem uma escolha. Você pode continuar compactando os arquivos até que o arquivo zip tenha 4,8 gigabytes e gravar o DVD, ou pode criar algo chamado arquivo dividido, que continua criando novos arquivos em um conjunto após atingir o limite especificado. Por exemplo: zip mymusic.zip -r / home / myfolder / Music -s 670m

type = “código”>

Como personalizar o relatório de progresso do processo de compactação

Existem várias maneiras de personalizar a saída que aparece enquanto a compactação está em andamento. As opções disponíveis são as seguintes:

  • -db = exibe quantos bytes foram compactados e quantos faltam
  • -dc = exibe uma contagem de arquivos compactados e quantos ainda faltam
  • -dd = exibe pontos para cada 10 MB de arquivo compactado
  • -ds = define a frequência com que os pontos aparecem
  • -du = exibe o tamanho descompactado de cada arquivo

Por exemplo: zip myzipfilename.zip -dc -r / home / music

type = “código”>

Como consertar um arquivo Zip

Se você tiver um arquivo zip quebrado, pode tentar consertá-lo usando o -F comando e se isso falhar, o FF comando. Isso é útil se você criou um arquivo dividido usando o -s mudar, e você perdeu um dos arquivos compactados. Por exemplo, tente este primeiro: zip -F myfilename.zip –out myfixedfilename.zip

type = “code”> e zip -FF myfilename.zip –out myfixedfilename.zip

type = “código”>

Como criptografar um arquivo

Se você tiver informações confidenciais que deseja armazenar em um arquivo zip, use o -e comando para criptografá-lo. Você é solicitado a inserir uma senha e repeti-la. Por exemplo: zip myfilename.zip -r / home / wikileaks -e

type = “código”>

Como mostrar o que será compactado

Se você sabe que vai criar um arquivo grande, certifique-se de que os arquivos corretos serão adicionados ao arquivo zip. Você pode ver os resultados esperados de um comando zip especificando o -sf interruptor. Por exemplo: zip myfilename.zip -r / home / music / -sf

type = “código”>

Como testar um arquivo

Depois de fazer backup dos arquivos em um arquivo zip, é tentador economizar espaço em disco excluindo os arquivos originais. Antes de fazer isso, é uma boa ideia testar se o arquivo zip funciona corretamente. Você pode usar o -T mude para testar se o arquivo zip é válido. Por exemplo: zip myfilename.zip -T

type = “code”> A saída deste comando quando um arquivo é inválido pode ser semelhante a:

  • Aviso de zip: assinatura final ausente – provavelmente não é um arquivo zip

Lembre-se de que você pode tentar o comando -F para consertar arquivos zip corrompidos. É importante notar que o -T pode produzir falsos positivos, pois indica que um arquivo zip está corrompido, embora ao abri-lo seja possível extrair todos os arquivos.

Como excluir arquivos

Às vezes, você deseja excluir certos arquivos de um arquivo zip. Por exemplo, se você copiar os arquivos de seu telefone ou câmera digital, terá uma mistura de vídeos e imagens. Você pode querer compactar as fotos em photos.zip e os vídeos em videos.zip. Esta é uma maneira de excluir os vídeos ao criar photos.zip zip photos.zip -r / home / photos / -x * .mp4

type = “código”>

Como especificar o nível de compressão

Quando você compacta arquivos em um arquivo zip, o sistema decide se deve compactar o arquivo ou apenas armazená-lo. Os arquivos MP3, por exemplo, já estão compactados, portanto, não faz sentido compactá-los ainda mais; eles geralmente são armazenados como estão em um arquivo zip. Você pode, entretanto, especificar um nível de compactação entre 0 e 9 para compactar ainda mais um arquivo. Isso leva mais tempo para fazer, mas pode gerar uma economia significativa de espaço. zip myfiles.zip -r / home -5

type = “código”>