Zip er en populær platformskommando, der bruges til komprimering og arkivering af data. Komprimering sparer plads ved at formindske datastørrelsen, mens arkivering gør overførslen af data lettere ved at kombinere flere filer eller mapper til en enkelt fil. Overvej, hvis vi skal overføre 5 filer over internettet, hver med størrelse 50 megabyte; overførsel af alle filerne en efter en kan tage lang tid. Komprimering af filerne for at reducere størrelsen op til 25 MB og derefter arkivering af dem alle i en enkelt fil gør det meget hurtigere at overføre filerne, end når de ikke er komprimeret. Zip er det mest anvendte værktøj til arkivering og komprimering af filer, mens unzip'en bruges til at udpakke og dekomprimere de zip-filer.
I denne artikel vil vi se på zip- og unzip-kommandoerne i Linux sammen med deres kommandolinjemuligheder og eksempler.
Forudsætninger
- Ubuntu eller Debian-system
- Zip og unzip-værktøjer installeret
Bemærk: Kommandoerne nævnt i denne artikel er blevet testet på Ubuntu 20.04 LTS (Focal Fossa). De samme kommandoer gælder også for Debian-distribution.
Installation af zip og udpakning
Som standard er zip- og pakkepakker installeret i Ubuntu-systemer. Hvis disse mangler i dit system, kan du nemt installere dem. Start terminalen ved hjælp af Ctrl + Alt + T-tastaturet. For at installere zip skal du derefter udstede følgende i Terminal:
$ sudo apt installere zipFor at installere unzip skal du udstede nedenstående kommando i Terminal:
$ sudo apt installere unzipDer er nogle scenarier, hvor du muligvis bliver bedt om at zip-filer:
- For at spare lagerplads, komprimerer filstørrelsen, da zip lukkes
- Overførsel af store filer via e-mail
- Uploade eller downloade filer i hurtigere hastighed
- For at spare båndbredde
ZIP-kommando i Linux
For at oprette en zip-fil skal du angive navnet på det zip-arkiv og de filer, der skal inkluderes i zip'en.
$ zip-muligheder zip_file file1 file2…Zip enkelt fil
At zip en enkelt fil med navnet testfil.txt til en zip-fil med navnet prøve.lynlås, kommandoen ville være:
$ zip test.zip-testfil.txt
Ovenstående kommando komprimerer den angivne fil i den aktuelle mappe, mens den originale fil efterlades.
For at bekræfte, om zip-filen er oprettet, skal du udstede kommandoen i terminalen nedenfor:
$ ls -l
Zip flere filer
Du kan også zip flere filer med zip-kommandoen. Lad os oprette nogle navngivne filer testfil1.txt, testfil2.txt, testfil3.txt, og testfil4.txt ved hjælp af følgende kommando i terminalen:
$ sudo touch testfil 1.txt testfil2.txt testfil3.txt testfil4.txtNu skal du zip disse filer i en enkelt fil med navnet filer.lynlås, udsted følgende kommando i terminalen:
$ zip-filer.zip-testfil1.txt testfil2.txt testfil3.txt testfil4.txt
Du kan også bruge jokertegnet til at angive flere filer med samme udvidelse. For eksempel at zip alle de filer, der slutter med .txt-udvidelse i en zip-fil, navngivne filer1.zip, udsted følgende kommando i Terminal:
$ zip-filer 1.lynlås *.txt
Zip en fil til en anden mappe
Hvis du har brug for at zip en fil til et andet bibliotek end det aktuelle bibliotek, skal du bruge følgende syntaks:
$ zip / sti / til / bibliotek.zip_file filnavnFor eksempel at zip testfil.txt fil til Documents / docs / directory navngivet som prøve.lynlås, kommandoen ville være:
$ zip Dokumenter / dokumenter / test.zip-testfil.txt
Føj fil til en eksisterende zip
Du kan også tilføje en fil til en allerede eksisterende zip-fil. Brug følgende syntaks til at gøre det:
$ zip -u zip_file filnavnLad os sige, at du har en zip-fil (filer1.lynlås), Og du vil medtage endnu en fil (testfil4.txt) I det ville kommandoen i dette tilfælde være:
$ zip -u filer1.zip testfil4.txt
Fjern en fil fra en zip-fil
På samme måde kan du også fjerne en fil fra en allerede eksisterende zip-fil. Brug følgende syntaks til at gøre det:
$ zip -d zip_file filnavnLad os sige, at du har en zip-fil (filer1.lynlås), Og du vil fjerne en fil (testfil1.txt) Fra det ville kommandoen i dette tilfælde være:
$ zip -d filer1.zip-testfil 1.txt
Zip filer i stille tilstand
Hvis du ikke vil vise output fra zip-kommandoen, skal du bruge indstillingen -q (stille) med zip-kommandoen som følger:
$ zip -q zip_file filnavnFor eksempel, mens du zipper testfil.txt, kan du undertrykke output med følgende kommando:
$ zip -q test.zip-testfil.txtI det følgende skærmbillede kan du se zip-kommandooutputtet, der ikke er vist på terminalen.
Sletning af originale filer efter zip
Som standard opbevarer zip den originale fil sammen med den komprimerede fil. Men ved hjælp af -m mulighed med zip-kommandoen, kan du slette de originale filer efter oprettelse af deres zip-fil.
$ zip -m zip_file filnavnFor eksempel vil følgende kommando slette testfil.txt efter oprettelse af sin zip-fil, prøve.lynlås.
$ zip -m test.zip-testfil.txt
Zip-mapper
For at zip-mapper i dit Linux-system skal du bruge -r (rekursiv) mulighed med zip-kommandoen. Det -r mulighed vil zip mapperne rekursivt, i.e., inklusive indhold af underkataloger.
$ zip -r zip_file katalognavnFor eksempel at zip Dokumenter katalog rekursivt til prøve.lynlås fil, ville kommandoen være:
$ zip -r test.zip-dokumenter /Denne kommando vil zip dokumentmappen sammen med alle underkataloger og filer inkluderet i den.
Indstilling af kompressionsniveau
Du kan også indstille komprimeringsniveauet, der skal anvendes på de filer, der zipes. Kompressionsniveauet varierer fra 0 til 9, hvor 6 er standardværdien, 0 er den laveste værdi, og 9 er den højeste værdi af komprimering.
For eksempel at zip alle tekstfiler til filer1.lynlås ved hjælp af den højeste komprimeringsværdi ville kommandoen være:
$ zip -9 filer1.lynlås *.txt
Tilsvarende at zip alle tekstfiler til filer2.lynlås ved hjælp af den laveste kompressionsværdi -0, kommandoen ville være:
Følgende er output af ls kommando efter oprettelse af zip-filer. Hvis vi sammenligner størrelserne på begge zip-filer, kan du se filer1.zip, som blev komprimeret ved hjælp af komprimeringsniveau 9, har mindre størrelse sammenlignet med filer2.zip, som blev komprimeret ved hjælp af komprimeringsniveau 0.
Opret en adgangskodebeskyttet zip-fil
Du kan også oprette adgangskodebeskyttede zip-filer ved hjælp af -e mulighed med zip-kommandoen som følger:
$ zip -e zip_file filnavnFor eksempel vil følgende kommando zip alle tekstfiler ind filer3.lynlås, bed derefter om et kodeord. Indstil en adgangskode, og tryk på Enter. Bekræft derefter denne adgangskode ved at indtaste den igen og trykke på Enter.
$ zip -e filer3.lynlås *.txt
Tilføjelse af adgangskoder til zip-filer med zipcloak
I det foregående eksempel har vi oprettet en adgangskodebeskyttet zip-fil. Men hvad nu hvis du har oprettet en zip-fil og glemt at indstille adgangskoden. Med zipcloak-kommandoen kan du til enhver tid indstille en adgangskode til en zip-fil.
$ zipcloak zip_fileFor eksempel at indstille en adgangskode til en allerede oprettet zip-fil med navnet filer.lynlås, kommandoen ville være:
$ zipcloak-filer.lynlåsDu bliver bedt om et kodeord. Indtast en adgangskode, og tryk på Gå ind. Bekræft derefter denne adgangskode ved at indtaste den igen og trykke på Gå ind.
Se filoplysninger med zipdetails-kommandoen
Zipdetails-kommandoen viser detaljeret information om den zip-fil. De oplysninger, den viser, handler om rekordstruktur snarere end om komprimerede data. For at finde detaljerede oplysninger om den zip-fil skal du skrive zipdetails efterfulgt af det zip-filnavn som vist nedenfor:
$ zipdetails zip_fileFor eksempel for at finde detaljerede oplysninger om en zip-fil, prøve.lynlås, kommandoen ville være:
$ zipdetails test.lynlåsI output vil du se en masse information om din zip-fil.
Søg inde i filen med zipgrep-kommandoen
Zipgrep-kommandoen giver os mulighed for at søge efter en given tekst i filer inde i den zip-fil uden at udpakke den. Hvis en zip-fil er adgangskodebeskyttet, skal du først indtaste adgangskoden til den. For at søge efter tekst inde i zip-filen skal du bruge følgende syntaks:
$ zipgrep udtryk zip_fileFor eksempel for at søge efter hvilke filer i zip-filen prøve.lynlås indeholder ordet gateway, kommandoen ville være:
$ zipgrep gateway test.lynlåsOutputtet er som følger. Du kan se to filer iplist.tekst og iplist inde i prøve.lynlås indeholder ordet gateway.
For at søge efter en tekst fra en bestemt fil inde i zip-filen kan du også tilføje den:
For eksempel vil følgende kommando søge efter ordet gateway fra kun en bestemt fil iplist inde i zip-filen prøve.lynlås:
$ zipgrep gateway test.zip-dokument / docs / iplist
Se oplysninger med zipinfo-kommandoen
Zipinfo-kommandoen i Linux viser de filer, der er indeholdt i en zip-fil sammen med deres tilladelser, kompressionstype, originalstørrelse, dato og tidsstempel. Hvis du vil se oplysninger om en bestemt zip-fil, skal du skrive zipinfo efterfulgt af filnavnet, som vist nedenfor:
$ zipinfo filnavnDen følgende kommando viser oplysninger om zip-filen filer1.lynlås:
$ zipinfo filer1.lynlås
Opdel filen med zipsplit-kommandoen
Nogle gange er zip-filens størrelse for stor til at du ikke kan uploade den eller sende den som en vedhæftet fil på grund af størrelsesbegrænsninger. Med zipsplit-kommandoen kan du opdele zip-filerne i mindre filer, der er lettere at overføre. At opdele en zip-fil i mindre filer med størrelsen ikke længere end
Det
For eksempel deles kommandoen nedenfor prøve.lynlås i mindre filer med størrelse ikke længere end 104857600 bytes (104 MB).
$ zipsplit -n 104857600 test.lynlåsHer er output fra ovenstående kommando. Det prøve.lynlås filen er opdelt i tre filer, som sekventielt navngives som test1.lynlås, test2.lynlås, og test3.lynlås, henholdsvis.
Hvis du kører ls kommando, vil du se alle de tre split zip-filer sammen med den originale zip-fil.
Tilføj eller se kommentarer i en zip-fil med zipnote
Med zipnote-kommandoen kan du tilføje, se og redigere kommentarerne i din zip-fil. Brug følgende kommando for at se kommentarer:
$ zipnote zip_fileUdskift lynlås fil med dit faktiske zip-filnavn.
Hvis der ikke er nogen kommentarer, vil du se følgende standardvisning:
For at tilføje kommentarer skal du først omdirigere output fra zipnote til kommentarfilen. Brug følgende kommando til at gøre det:
For eksempel at tilføje kommentarer til filer1.lynlås, kommandoen ville være:
$ zipnote filer1.zip> kommentarerRediger nu kommentarer fil ved hjælp af følgende kommando:
$ sudo nano kommentarerFor hver fil skal du tilføje dine kommentarer over de linjer, der siger @ (kommentar over denne linje),gem derefter og afslut filen. Vi har tilføjet to kommentarer i kommentarfilen, som det fremhæves i skærmbilledet nedenfor.
Skriv nu kommentarerne til din zip-fil med følgende kommando:
I vores tilfælde ville kommandoen være;
$ zipnote -w filer1.lynlås < commentsNu kan du kontrollere, om kommentarerne er tilføjet ved at udstede følgende kommando i Terminal:
$ zipnote zip_file
Se hjælp
Brug følgende kommando for at se hjælp til zip-kommando:
$ zip - hjælpDu kan også besøge mandsiden med zip-værktøjet ved hjælp af følgende kommando:
$ mand lynlåsUdpak kommandoen i Linux
Med kommandoen unzip kan du nemt udtrække indhold fra en zip-fil. For at pakke en fil ud, skal du bruge følgende syntaks:
$ udpakke muligheder zip_filePak enkelt zip-filer ud
Lad os sige test for at pakke en enkelt zip-fil ud.zip, kommandoen ville være:
$ unzip test.lynlåsDet udpakkes filen i den aktuelle mappe.
Pak en fil ud til en anden mappe
Du kan også pakke en fil ud i en anden mappe i stedet for til den aktuelle mappe ved hjælp af indstillingen -d som følger:
$ unzip zip_file -d / sti / til / bibliotekAt pakke en zip-fil ud, prøve.lynlås til Dokumenter, katalog, ville kommandoen være:
$ unzip test.zip -dokumenter /
Pak flere filer ud
Overvej, at der er flere zip-filer i en aktuel mappe, som du vil pakke ud. Du kan pakke dem alle ud ved hjælp af en enkelt kommando som følger:
$ unzip '*.zip 'Denne kommando pakker alle zip-filer, der findes i din nuværende mappe.
Undertryk output, når du bruger unzip
I lighed med zip-kommandoen kan du også skjule output fra unzip-kommandoen ved hjælp af -q mulighed som følger:
$ unzip -q zip_file
Ekskluder filer ved hjælp af unzip
Hvis du vil pakke en zip-fil ud, men ikke ønsker at udpakke en bestemt fil, skal du bruge -x mulighed nedenfor:
$ unzip zip_file -x filnavnFor eksempel har vi en lynlås filetest.lynlås indeholdende tre filer i den. Den følgende kommando udpakker alle filer undtagen den ene fil rapport.txt:
$ unzip test.zip -x-rapport.txt
Pak zip-beskyttede zip-filer ud
Brug for at udpakke en adgangskodebeskyttet zip-fil uden at anmode om det -P option efterfulgt af adgangskoden til filen:
$ unzip -PFor eksempel har vi en zip-fil, prøve.lynlås, der er beskyttet af adgangskoden “tin”. For at udtrække denne fil ville kommandoen være:
$ unzip -P tin-test.lynlås
Overskrivning af zip-filer
Hvis du udpakker en fil til et sted, hvor de udpakkede filer allerede eksisterede, bliver du bedt om at: overskrive den aktuelle fil, springe udpakning af den aktuelle fil over, overskrive alle filer, springe udpakning af alle filer over eller omdøbe filen.
For at overskrive alle eksisterende filer uden at spørge, skal du bruge -o mulighed som følger:
Angiv indholdet af en zip
Bruger -l med kommandoen unzip, kan du liste indholdet af en zip-fil uden at udpakke den.
$ unzip -l zip_fileEksempel:
$ unzip -l test.lynlåsFølgende er output fra ovenstående kommando, der viser de filer, der er indeholdt i zip-filen prøve.lynlås, sammen med deres navne, originale filstørrelse, dato og tidsstempler.
Se detaljerede oplysninger
For at se detaljerede oplysninger uden at udpakke zip-filen skal du bruge indstillingen -v som følger:
$ unzip -v zip_fileEksempel:
$ unzip -v test.lynlåsFølgende er output fra ovenstående kommando, der viser de filer, der er indeholdt i prøve.lynlås, sammen med deres navne, original filstørrelse, komprimeret størrelse, komprimeringsmetode, komprimeringsforhold, dato og tidsstempler.
Kontrollerer for fejl i et arkiv
Med indstillingen -t i unzip-kommandoen kan du kontrollere, om en zip-fil er gyldig og ikke indeholder nogen fejl.
$ unzip -t test1.lynlåsEksempel:
$ unzip -t test1.lynlåsOvenstående kommando kontrollerer for fejl i test1.lynlås fil og viser resultater. Følgende output viser, at der ikke er nogen fejl i den komprimerede fil.
Se hjælp
Brug følgende kommando for at se hjælp til unzip-kommandoen:
$ udpak - hjælpDu kan også besøge mandsiden til unzip-værktøjet ved hjælp af følgende kommando:
$ mand pakke udKonklusion
Det er alt hvad du behøver at vide for at mestre zip og pakke ud kommandoer i Linux. I denne artikel har vi diskuteret detaljeret brugen af zip- og unzip-kommandoer i Linux sammen med forskellige kommandolinjemuligheder og eksempler.