Skip to main content

Como compactar arquivos usando a linha de comando do Linux

Como funciona as Válvulas Pneumáticas? (Abril 2025)

Como funciona as Válvulas Pneumáticas? (Abril 2025)
Anonim

Há várias maneiras diferentes 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 todos os 100 megabytes de tamanho e precisar transferi-los para um site FTP, a transferência poderá 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 metade dos dados.

Como criar um arquivo de todos os arquivos em uma pasta

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

Rodovia AC / DC para o Inferno
Prowler da Noite.mp3
Amor com fome man.mp3
Get It Hot.mp3
Caminhe por toda parte.mp3
Rodovia para o inferno.mp3
Se você quer sangue, você entendeu.mp3
Mostrar em chamas.mp3
Toque muito.mp3
Batendo em volta do mato.mp3
Girls Got Rhythm.mp3

Este comando simples do Linux que ilustra como criar um arquivo de todos os arquivos na pasta atual chamada ACDC_Highway_to_Hell.zip:

zip ACDC_Highway_to_Hell *

O texto percorre a tela mostrando os arquivos à medida que são adicionados.

Como incluir arquivos ocultos em um arquivo

O comando anterior é bom para arquivar todos os arquivos em uma pasta, mas inclui apenas arquivos que não estão ocultos.

Nem sempre é tão simples assim. Imagine que você queria compactar sua pasta pessoal para que possa fazer o backup em uma unidade USB ou disco rígido externo. Sua pasta inicial inclui arquivos ocultos.

Para compactar todos os arquivos, incluindo os arquivos ocultos em uma pasta, execute o seguinte comando:

zip para casa *. *

Isso cria um arquivo chamado home.zip com todos os arquivos dentro da pasta base.

(Você deve estar na pasta inicial para que isso funcione). O problema com esse comando é que ele inclui apenas os arquivos na pasta inicial e não nas 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 casa.

Como adicionar novos arquivos a um arquivo zipado existente

Se você quiser adicionar novos arquivos a um arquivo existente ou atualizar os arquivos em um arquivo morto, use o mesmo nome para o arquivo morto ao executar o comando zip.

Por exemplo, imagine que você tenha uma pasta de músicas com quatro álbuns e crie um arquivo chamado music.zip para manter como um 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 que você fez na semana anterior.

Para criar o arquivo de música original, execute o seguinte código:

zip -r music / home / yourname / music /

Para adicionar novos arquivos ao arquivo, execute o mesmo comando novamente.

Se o arquivo zip tiver uma lista de arquivos nele 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 zipado

Se você tiver um arquivo zip que deve conter os mesmos nomes de arquivo todas as vezes e desejar atualizar esse arquivo com as alterações feitas nesses arquivos, o -f switch ajuda você a fazer isso.

Por exemplo, imagine que você tenha um arquivo compactado com os seguintes arquivos:

/ home / yourname / documents / file1
/ home / yourname / documents / file2
/ home / yourname / documents / file3
/ home / yourname / documents / file4
/ home / yourname / 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 agora se pareça com isto:

/ home / yourname / documents / file1
/ home / yourname / documents / file2
/ home / yourname / documents / file3
/ home / yourname / documents / file4 (atualizado)
/ home / yourname / documents / file5 (atualizado)
/ home / yourname / documents / file6
/ home / yourname / documents / file7
/ home / yourname / documents / file8

Quando você executar o comando a seguir, o arquivo zip conterá os arquivos atualizados (file4 e file5), mas file7 e file8 não serão adicionados.

zip zipfilename -f -r / home / seunome / documentos

Como excluir arquivos de um arquivo zipado

Então você criou um enorme arquivo zip com centenas de arquivos e agora percebe que existem quatro ou cinco arquivos no arquivo zip que você não precisa. Sem ter que zipar todos esses arquivos novamente, você pode simplesmente executar o comando zip com o -d alternar da seguinte maneira:

zip zipfilename -d nome do arquivo no arquivo

Por exemplo, se você tiver um arquivo no arquivo morto com o nome home / documents / test.txt, exclua-o com este comando:

zip zipfilename -d home / documents / test.txt

Como copiar arquivos de um arquivo zip para outro

Se você tiver arquivos em um arquivo zip e desejar copiá-los para outro arquivo zip sem extraí-los primeiro e rezipá-los, 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 do 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"

O comando acima copia o arquivo "Back_In_Black.mp3" de variousmusic.zip para ACDC.zip.Se o arquivo zip que você está copiando não existir, ele será criado.

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

O próximo switch é realmente útil porque permite usar a saída de outros comandos para inserir arquivos no seu arquivo zip. Suponha que você queira criar um arquivo chamado lovesongs.zip, que contém todas as músicas que têm a palavra amor no título.

Para encontrar os arquivos com amor no título, você pode usar o seguinte comando:

encontre / home / yourname / Music -name * love *

O comando acima não é 100% perfeito porque também pega palavras como "trevo", mas você entende. Para adicionar todos os resultados retornados do comando acima a um arquivo zip chamado lovesongs.zip, execute este comando:

encontre / home / yourname / Music -name * love * | zip lovesongs.zip - @

Como criar um arquivo dividido

Se você estiver fazendo o backup do seu computador, mas a única mídia disponível para backup é um conjunto de DVDs em branco, então você tem uma escolha. Você pode manter os arquivos zipados até que o arquivo zip seja de 4,8 gigabytes e gravar o DVD, ou você pode criar um arquivo chamado split, que mantém a criação de novos arquivos em um conjunto após atingir o limite especificado.

Por exemplo:

zip mymusic.zip -r / home / myfolder / Música -s 670m

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.

Os switches disponíveis são os seguintes:

  • -db = exibe quantos bytes foram compactados e quantos são enviados
  • -dc = exibe uma contagem de arquivos compactados e quantos são enviados
  • -dd = exibe pontos para cada 10MB de arquivo que foi compactado
  • -ds = define com que frequência os pontos aparecem
  • -du = exibe o tamanho não compactado de cada arquivo

Por exemplo:

zip myzipfilename.zip -dc -r / home / music

Como consertar um arquivo zip

Se você tem um arquivo zip que está quebrado, você pode tentar corrigi-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.

Por exemplo, tente este primeiro:

zip -F myfilename.zip --out myfixedfilename.zip

e depois

zip -FF myfilename.zip --out myfixedfilename.zip

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 digitar uma senha e a repetir a senha.

Por exemplo:

zip myfilename.zip -r / home / wikileaks -e

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 -sf interruptor.

Por exemplo:

zip myfilename.zip -r / home / music / -sf

Como testar um arquivo

Depois de fazer backup de arquivos em um arquivo zip, é tentador economizar espaço em disco excluindo os arquivos originais. Antes de fazer isso, é uma boa ideia testar o arquivo zip corretamente.

Você pode usar o -T mude para testar se o arquivo zip é válido.

Por exemplo:

zip myfilename.zip -T

A saída deste comando quando um arquivo é inválido pode ser algo como:

  • aviso zip: assinatura final ausente - provavelmente não é um arquivo zip

Lembre-se de que você pode tentar o comando -F para corrigir arquivos zip quebrados.

Vale a pena notar que o -T pode produzir falsos positivos, pois diz que um arquivo zip está corrompido, mesmo quando você o abre, você pode extrair todos os arquivos.

Como excluir arquivos

Às vezes você quer excluir certos arquivos de um arquivo zip. Por exemplo, se você copiar os arquivos do seu telefone ou câmera digital, terá uma mistura de vídeos e imagens. Você pode querer zipar as fotos para photos.zip e vídeos para videos.zip.

Aqui está uma maneira de excluir os vídeos ao criar photos.zip

zip photos.zip -r / home / photos / -x * .mp4

Como especificar o nível de compactação

Quando você compacta arquivos em um arquivo zip, o sistema decide se deseja compactar o arquivo ou apenas armazená-lo. Os arquivos MP3, por exemplo, já estão compactados, portanto, não há muito sentido em compactá-los ainda mais; eles geralmente são armazenados como dentro de um arquivo zip.

Você pode, no entanto, especificar um nível de compactação entre 0 e 9 para compactar um arquivo ainda mais. Isso leva mais tempo para ser feito, mas pode economizar muito espaço.

zip myfiles.zip -r / home -5