Como compactar arquivos usando a linha de comando do Linux
Existem várias maneiras de compactar arquivos usando o 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.
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 arquivo e a compressão reduz o tamanho do arquivo para 50 MB por arquivo, então você só precisa 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ê quer sangue, você tem it.mp3.
Mostre abaixo em flames.mp3.
Toque muito.mp3.
Brincando 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 *
O texto rola a tela para cima, mostrando os arquivos à medida que são adicionados.
Como incluir arquivos ocultos em um arquivo
O comando anterior é adequado 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 um pendrive ou disco rígido externo. Sua pasta de início inclui arquivos ocultos.
Para compactar todos os arquivos, incluindo o arquivos escondidos em uma pasta, execute o seguinte comando:
zip home *. *
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.
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 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 música / home / seunome / música /
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ê tiver um arquivo zip que supostamente contém os mesmos nomes de arquivo todas as vezes e quiser atualizá-lo com todas 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 / seunome / documentos agora se pareça com isto:
/home/yourname/documents/file1.
/home/yourname/documents/file2.
/home/yourname/documents/file3.
/ home / seunome / documentos / arquivo4 (atualizado)
/ home / seunome / documentos / arquivo 5 (atualizado)
/home/yourname/documents/file6.
/home/yourname/documents/file7.
/home/yourname/documents/file8.
Ao executar 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.
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 forma:
zip zipfilename -d [nome do arquivo no arquivo]
Por exemplo, se você tiver um arquivo no arquivo com o nome home / documents / test.txt, você o exclui 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 quiser copiá-los para outro arquivo zip sem extraí-los primeiro e compactá-los novamente, use o -você trocar.
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"
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:
encontre / home / seunome / Música -nome * amor *
O comando acima não é 100% perfeito porque também seleciona palavras como "trevo", 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 - @
Como criar um arquivo dividido
Se você estiver fazendo backup do seu computador, mas a única mídia disponível para backup é um conjunto de DVDs virgens, então você tem uma escolha. Você pode continuar compactando os arquivos até que eles tenham 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 que você especificar.
Por exemplo:
zip mymusic.zip -r / home / myfolder / Music -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.
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.
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 alternar, e você perdeu um dos arquivos compactados.
Por exemplo, tente este primeiro:
zip -F myfilename.zip --out myfixedfilename.zip.
e então.
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 criptografar isto. Você é solicitado a inserir um senha e 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 o -sf trocar.
Por exemplo:
zip myfilename.zip -r / home / music / -sf.
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.
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.
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 compressão
Quando você compactar arquivos em um arquivo zip, o sistema decide se deve compactar o arquivo ou apenas armazená-lo. 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.