Exemplos prácticos do comando Zip

Hai moitas cousas que podes facer co comando zip de Linux

Existen varias maneiras de comprimir ficheiros usando a liña de comandos de Linux . Este artigo inclúe exemplos prácticos que amosan como usar o comando zip para compactar e organizar ficheiros dentro do seu sistema de ficheiros.

Os ficheiros comprimidos úsanse cando se necesita aforrar espazo e copiar arquivos grandes dun lugar a outro.

Se tes 10 ficheiros de 100 megabytes de tamaño e tes que transferilos a un sitio ftp , a transferencia pode levar moito tempo dependendo da velocidade do teu procesador.

Se comprime os 10 ficheiros nun só arquivo comprimido e a compresión reduce o tamaño do ficheiro a 50MB por ficheiro, só terá que transferir a metade de datos.

Como crear un arquivo de todos os ficheiros nunha carpeta

Imaxina que tes un cartafol de cancións cos seguintes ficheiros MP3 nel:

AC / DC Highway to Hell
Night Prowler.mp3
Amor home famoso.mp3
Get It Hot.mp3
Camiña por ti
Autopista ao inferno.mp3
Se queres sangue chegue o.mp3
Amosar en chamas.mp3
Toca demasiadas veces
Batendo ao redor do arbusto.mp3
Girls Got Rhythm.mp3

Este sinxelo comando de Linux que ilustra como crear un arquivo de todos os ficheiros no cartafol actual chamado ACDC_Highway_to_Hell.zip:

zip ACDC_Highway_to_Hell *

O texto desprázase pola pantalla onde se mostran os ficheiros a medida que se van engadindo.

Como incluír ficheiros ocultos nun arquivo

O comando anterior está ben para arquivar todos os ficheiros dunha carpeta, pero só inclúe ficheiros que non están escondidos.

Non sempre é tan sinxelo. Imaxina que quería zip o teu cartafol persoal para que poidas facer unha copia de seguridade a unha unidade USB ou disco duro externo . O seu cartafol persoal inclúe ficheiros ocultos.

Para comprimir todos os ficheiros, incluídos os ficheiros ocultos dun cartafol, execute o seguinte comando:

casa zip *. *

Isto crea un ficheiro chamado home.zip con todos os ficheiros dentro do cartafol persoal.

(Debe estar no cartafol persoal para que isto funcione). O problema con este comando é que só inclúe os ficheiros do cartafol persoal e non os cartafoles, o que nos leva ao seguinte exemplo.

Como arquivar todos os ficheiros e subcartafoles nun arquivo Zip

Para incluír todos os ficheiros e subcartafoles nun arquivo, execute o seguinte comando:

zip -r casa.

Como engadir novos ficheiros a un ficheiro comprimido existente

Se quere engadir novos ficheiros a un arquivo existente ou actualizar os ficheiros dun arquivo, use o mesmo nome para o arquivo cando execute o comando zip.

Por exemplo, imaxine que ten un cartafol de música con catro álbums e crea un arquivo chamado music.zip para manter como copia de seguridade. Agora imaxina unha semana máis tarde descargas dous novos álbumes . Para engadir os novos álbums ao ficheiro zip, simplemente executa o mesmo comando zip que fixeches a semana anterior.

Para crear o arquivo de música orixinal, execute o seguinte código:

zip -r música / home / yourname / music /

Para engadir novos ficheiros ao arquivo executar de novo o mesmo comando.

Se o arquivo zip ten unha lista de ficheiros nel e un dos ficheiros no disco cambiou, o ficheiro modificado actualízase no arquivo zip.

Como actualizar os ficheiros existentes nun arquivo comprimido

Se ten un arquivo zip que suporía conter os mesmos nomes de arquivo cada vez e desexa actualizar ese ficheiro con calquera cambio que fose feito a estes ficheiros, entón o modificador -f axúdalle a facer isto.

Por exemplo, imaxine que ten un arquivo comprimido cos seguintes ficheiros:

/ 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 imaxina que durante a semana agregaches dous novos ficheiros e modifiquei dous ficheiros para que o cartafol / home / yourname / documents pareza así:

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

Cando execute o comando seguinte o ficheiro zip contén os ficheiros actualizados (file4 e file5) pero non se engadirán file7 e file8.

zip zipfilename -f -r / home / yourname / documents

Como eliminar arquivos desde un arquivo comprimido

Entón, creou un arquivo zip enorme con centos de arquivos e agora entender que hai catro ou cinco arquivos no arquivo zip que non precisa alí. Sen ter que sincronizar todos os ficheiros de novo, pode executar o comando zip co interruptor -d do seguinte xeito:

zip zipfilename -d [nome do arquivo no arquivo]

Por exemplo, se ten un arquivo no arquivo co nome home / documents / test.txt, elimínao con este comando:

zip zipfilename -d home / documents / test.txt

Como copiar arquivos desde un arquivo Zip a outro

Se ten ficheiros nun arquivo zip e quere copialos noutro ficheiro zip sen extraelos primeiro e repizándoos, use o botón -u .

Supoña que tes un arquivo zip chamado "variousmusic.zip" con música de varios artistas, un dos cales é AC / DC. Pode copiar as cancións AC / DC do ficheiro variousmusic.zip no seu ficheiro ACDC.zip usando o seguinte comando:

zip variousmusic.zip -U --out ACDC.zip "Back_In_Black.mp3"

O comando anterior copia o ficheiro "Back in black" de variousmusic.zip a ACDC.zip. Se o ficheiro zip que está copiando non existe, créase.

Como usar a correspondencia e as canalizacións de patróns para crear un arquivo

O seguinte cambio é realmente útil porque permite usar a saída doutros comandos para inserir ficheiros no seu ficheiro zip. Supoña que quere crear un ficheiro chamado lovesongs.zip, que contén todas as cancións que teñen a palabra amor no título.

Para atopar os ficheiros con amor no título pode usar o seguinte comando:

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

O comando anterior non é 100 por cento perfecto porque recolle palabras como "trébol", pero obtén a idea. Para engadir todos os resultados devoltos do comando anterior a un arquivo zip chamado lovesongs.zip, execute este comando:

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

Como crear un arquivo dividido

Se estás a facer copias de seguridade da túa computadora pero o único medio dispoñible para facer unha copia de seguridade é un conxunto de DVD en branco , entón tes a opción. Podes gardar arquivos ata que o arquivo zip é de 4.8 gigabytes e grava o DVD ou podes crear algo chamado arquivo dividido que siga creando novos arquivos nun conxunto despois de que alcance o límite que especificas.

Por exemplo:

zip mymusic.zip -r / home / myfolder / Music -s 670m

Como personalizar o informe de progreso do proceso de zipping

Existen varias maneiras de personalizar a saída que aparece mentres se está a cargar.

Os interruptores dispoñibles son os seguintes:

Por exemplo:

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

Como corrixir un ficheiro Zip

Se tes un arquivo zip que está roto, podes tentar arranxalo usando o comando -F e se falla, o comando FF .

Isto é útil se creou un arquivo dividido usando o -s switch e perdeu un dos ficheiros de arquivo.

Por exemplo, probe este primeiro:

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

e despois

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

Como cifrar un arquivo

Se ten información confidencial que quere gardar nun ficheiro zip, use o comando -e para cifralo . Solicítase introducir un contrasinal e repetir o contrasinal.

Por exemplo:

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

Como amosar que será comprimido

Se sabe que vai crear un arquivo grande, asegúrese de que os ficheiros correctos se engadan ao ficheiro zip. Podes ver os resultados esperados dun comando zip especificando o - switch sf .

Por exemplo:

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

Como probar un arquivo

Despois de facer copias de seguridade de ficheiros a un arquivo zip, é tentador gardar espazo no disco eliminando os ficheiros orixinais. Antes de facelo, é unha boa idea probar que o ficheiro zip funciona correctamente.

Podes usar o interruptor -T para probar que o ficheiro zip é válido.

Por exemplo:

zip myfilename.zip -T

A saída deste comando cando un arquivo non é válido pode parecer algo así:

Lembra que podes probar o comando -F para corrixir os ficheiros zip rotos.

É interesante notar que o -T pode producir falsos positivos porque afirma que un ficheiro zip está mal, aínda que cando o abra pode extraer todos os ficheiros.

Como eliminar ficheiros

Ás veces quere excluír certos ficheiros zip. Por exemplo, se copia os ficheiros do seu teléfono ou cámara dixital, ten unha mestura de vídeos e imaxes. Quizais desexe gardar as fotos en photos.zip e vídeos en videos.zip.

Aquí tes unha forma de excluír os vídeos ao crear fotos.zip

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

Como especificar o nivel de compresión

Cando comprime ficheiros nun ficheiro zip, o sistema decide se comprimir o ficheiro ou simplemente almacenalo. Os ficheiros Mp3, por exemplo, xa están comprimidos, polo que non hai moito sentido en comprimilos máis; normalmente almacénanse como está dentro dun arquivo zip.

Non obstante, pódese especificar un nivel de compresión entre 0 e 9 para comprimir un ficheiro máis aló. Isto leva máis tempo facer, pero pode aforrar moito espazo.

zip myfiles.zip -r / home -5