Zip er en populær plattformkommando som brukes til komprimering og arkivering av data. Komprimering sparer plass ved å krympe datastørrelsen mens arkivering gjør overføringen av data enklere ved å kombinere flere filer eller kataloger i en enkelt fil. Tenk, hvis vi må overføre 5 filer over internett, hver med størrelse 50 megabyte; å overføre alle filene en etter en kan ta lang tid. Komprimering av filene for å redusere størrelsen opp til 25 MB, og arkivering av dem alle i en enkelt fil vil gjøre det mye raskere å overføre filene enn når de er komprimert. Zip er det mest brukte verktøyet for arkivering og komprimering av filer, mens utpakningen brukes til å pakke ut og dekomprimere de zippede filene.
I denne artikkelen vil vi se på zip og pakke ut kommandoer i Linux, sammen med deres kommandolinjealternativer og eksempler.
Forutsetninger
- Ubuntu eller Debian-system
- Zip og pakke ut verktøy installert
Merk: Kommandoene nevnt i denne artikkelen er testet på Ubuntu 20.04 LTS (Focal Fossa). De samme kommandoene gjelder også for Debian-distribusjon.
Installere zip og pakke ut
Som standard er zip og pakk ut pakker installert i Ubuntu-systemer. Hvis disse mangler i systemet ditt, kan du enkelt installere dem. Start terminalen ved hjelp av Ctrl + Alt + T-tastaturet. For å installere zip, utsted følgende i Terminal:
$ sudo apt installere zipFor å installere pakke ut, send kommandoen nedenfor i Terminal:
$ sudo apt installere pakke utDet er noen scenarier der du kan bli bedt om å zip-filer:
- For å spare lagringsplass, komprimerer filstørrelsen ved glidelås
- Overføring av store filer via e-post
- Laste opp eller laste ned filer i raskere hastighet
- For å spare båndbredde
ZIP-kommando i Linux
For å opprette en zip-fil, må du oppgi navnet på det zip-arkivet og filene som må inkluderes i zip-en.
$ zip-alternativer zip_file file1 file2…Zip enkelt fil
Å zip en enkelt fil med navnet testfil.tekst; til en zip-fil med navnet test.glidelås, kommandoen ville være:
$ zip test.zip-testfil.tekst
Kommandoen ovenfor vil komprimere den spesifiserte filen i den gjeldende katalogen mens den originale filen blir liggende.
For å bekrefte om zip-filen er opprettet, send kommandoen i terminalen nedenfor:
$ ls -l
Zip flere filer
Du kan også zip flere filer med zip-kommandoen. La oss lage noen filer som heter testfil1.tekst, testfil2.tekst, testfil3.tekst, og testfil4.tekst ved hjelp av følgende kommando i terminalen:
$ sudo touch testfil 1.txt testfil2.txt testfil3.txt testfil4.tekstNå for å pakke disse filene i en enkelt fil, med navnet filer.glidelås, gi følgende kommando i terminalen:
$ zip-filer.zip testfil 1.txt testfil2.txt testfil3.txt testfil4.tekst
Du kan også bruke jokertegnet til å spesifisere flere filer med samme utvidelse. For eksempel å zip alle filene som slutter med .txt-utvidelse i en zip-fil, kalt filer1.zip, gi ut følgende kommando i terminalen:
$ zip-filer 1.glidelås *.tekst
Zip en fil til en annen katalog
Hvis du trenger å zip en fil til en annen katalog enn den nåværende katalogen, kan du bruke følgende syntaks:
$ zip / sti / til / katalog.zip_file filnavnFor eksempel å zip testfil.tekst fil til Dokumenter / dokumenter / katalog som heter test.glidelås, kommandoen ville være:
$ zip Dokumenter / dokumenter / test.zip-testfil.tekst
Legg til fil i en eksisterende zip
Du kan også legge til en fil i en eksisterende zip-fil. Bruk følgende syntaks for å gjøre det:
$ zip -u zip_file filnavnLa oss si at du har en zip-fil (filer1.glidelås), Og du vil inkludere en fil til (testfil4.tekst) I den vil kommandoen, i dette tilfellet, være:
$ zip -u filer1.zip testfil4.tekst
Fjern en fil fra en zip-fil
På samme måte kan du også fjerne en fil fra en allerede eksisterende zip-fil. Bruk følgende syntaks for å gjøre det:
$ zip -d zip_file filnavnLa oss si at du har en zip-fil (filer1.glidelås), Og du vil fjerne en fil (testfil1.tekst) Fra det, vil kommandoen, i dette tilfellet, være:
$ zip -d filer1.zip testfil 1.tekst
Zip filer i stille modus
Hvis du ikke vil vise utdataene fra zip-kommandoen, bruker du -q (stille) alternativet med zip-kommandoen som følger:
$ zip -q zip_file filnavnFor eksempel mens du zipper testfilen.txt, kan du undertrykke utdataene med følgende kommando:
$ zip -q test.zip-testfil.tekstI det følgende skjermbildet kan du se zip-kommandoutgangen som ikke har blitt vist på terminalen.
Slette originale filer etter glidelås
Som standard beholder zip den originale filen sammen med den komprimerte filen. Imidlertid bruker du -m alternativet med zip-kommandoen, kan du slette de originale filene etter at du har opprettet den zip-filen.
$ zip -m zip_file filnavnFor eksempel vil følgende kommando slette testfil.tekst etter å ha opprettet den glidelåste filen, test.glidelås.
$ zip -m test.zip-testfil.tekst
Zip-kataloger
For å zip-kataloger i Linux-systemet ditt, bruk -r (rekursivt) alternativ med zip-kommandoen. De -r alternativet vil zip katalogene rekursivt, i.e., inkludert innhold i underkataloger.
$ zip -r zip_file katalognavnFor eksempel å zip Dokumenter katalog rekursivt til test.glidelås fil, vil kommandoen være:
$ zip -r test.zip-dokumenter /Denne kommandoen vil zip-dokumentkatalogen, sammen med alle underkataloger og filene som er inkludert i den.
Stille inn kompresjonsnivå
Du kan også stille inn kompresjonsnivået som skal gjelde for filene som blir zippet. Kompresjonsnivået varierer fra 0 til 9, hvor 6 er standardverdien, 0 er den laveste verdien og 9 er den høyeste verdien for komprimering.
For eksempel å pakke alle tekstfiler til filer1.glidelås bruker den høyeste kompresjonsverdien, vil kommandoen være:
$ zip -9 filer1.glidelås *.tekst
Tilsvarende for å pakke alle tekstfiler til filer2.glidelås bruker den laveste kompresjonsverdien -0, kommandoen ville være:
Følgende er resultatet av ls kommandoen etter å ha opprettet zip-filene. Hvis vi sammenligner størrelsene på begge zip-filene, kan du se filer1.zip, som ble komprimert ved hjelp av kompresjonsnivå 9, har mindre størrelse sammenlignet med filer2.zip, som ble komprimert ved hjelp av kompresjonsnivå 0.
Opprett en passordbeskyttet zip-fil
Du kan også opprette passordbeskyttede zip-filer ved hjelp av -e alternativet med zip-kommandoen som følger:
$ zip -e zip_file filnavnFor eksempel vil følgende kommando zip alle tekstfiler inn filer3.glidelås, så be om passord. Angi hvilket som helst passord og trykk Enter. Bekreft deretter passordet ved å skrive det på nytt og trykke Enter.
$ zip -e filer3.glidelås *.tekst
Legge til passord i zip-filer med zipcloak
I forrige eksempel har vi opprettet en passordbeskyttet zip-fil. Men hva om du har opprettet en zip-fil og glemt å angi passordet. Med zipcloak-kommandoen kan du når som helst angi et passord til en zip-fil.
$ zipcloak zip_fileFor eksempel å sette et passord til en allerede opprettet zip-fil med navnet filer.glidelås, kommandoen ville være:
$ zipcloak-filer.glidelåsDu blir bedt om passord. Skriv inn hvilket som helst passord og trykk Tast inn. Bekreft deretter passordet ved å skrive det inn og trykke på Tast inn.
Vis fildetaljer med zipdetails-kommandoen
Zipdetails-kommandoen viser detaljert informasjon om den zip-filen. Informasjonen den viser handler om rekordstruktur i stedet for komprimerte data. For å finne detaljert informasjon om den zippede filen, skriv inn zipdetails etterfulgt av det zippede filnavnet, som vist nedenfor:
$ zipdetails zip_fileFor eksempel for å finne detaljert informasjon om en zip-fil, test.glidelås, kommandoen ville være:
$ zipdetails test.glidelåsI utgangen vil du se mye informasjon om den zip-filen din.
Søk inne i filen med zipgrep-kommandoen
Zipgrep-kommandoen lar oss søke etter en gitt tekst i filer i den zip-filen uten å trekke den ut. Hvis en zip-fil er passordbeskyttet, må du først oppgi passordet for den. For å søke etter tekst i zip-filen, bruk følgende syntaks:
$ zipgrep uttrykk zip_fileFor eksempel for å søke etter hvilke filer i zip-filen test.glidelås inneholder ordet inngangsport, kommandoen ville være:
$ zipgrep gateway test.glidelåsResultatet er som følger. Du kan se to filer iplist.tekst og iplist inne i test.glidelås inneholder ordet gateway.
For å søke etter en tekst fra en bestemt fil i zip-filen, kan du også legge den til:
For eksempel vil følgende kommando søke etter ordet inngangsport fra bare en bestemt fil iplist inne i zip-filen test.glidelås:
$ zipgrep gateway test.zip Document / docs / iplist
Vis informasjon med zipinfo-kommandoen
Zipinfo-kommandoen i Linux viser filene i en zip-fil sammen med tillatelser, komprimeringstype, originalstørrelse, dato og tidsstempel. For å se informasjon om en bestemt zip-fil, skriv zipinfo etterfulgt av filnavnet, som vist nedenfor:
$ zipinfo filnavnFølgende kommando viser informasjon om zip-filen filer1.glidelås:
$ zipinfo filer1.glidelås
Del filen med zipsplit-kommandoen
Noen ganger er zip-filens størrelse for stor til at du ikke klarer å laste den opp eller sende den som et vedlegg på grunn av størrelsesbegrensninger. Med zipsplit-kommandoen kan du dele zip-filene i mindre filer som er enklere å overføre. Å dele en zip-fil i mindre filer, med størrelse ikke lenger enn
De
For eksempel vil kommandoen nedenfor bli delt test.glidelås i mindre filer med størrelse ikke lenger enn 104857600 byte (104 MB).
$ zipsplit -n 104857600 test.glidelåsHer er utdataene fra kommandoen ovenfor. De test.glidelås filen er delt inn i tre filer, som sekvensielt heter test1.glidelås, test2.glidelås, og test3.glidelås, henholdsvis.
Hvis du driver ls kommandoen, vil du se alle de tre delte zip-filene, sammen med den originale zip-filen.
Legg til eller se kommentarer i en zip-fil med zipnote
Med zipnote-kommandoen kan du legge til, vise og redigere kommentarene i zip-filen din. For å se kommentarer, bruk følgende kommando:
$ zipnote zip_fileBytt ut glidelås fil med ditt faktiske zip-filnavn.
Hvis det ikke er noen kommentarer, vil du se følgende standardvisning:
For å legge til kommentarer, må du først omdirigere utdataene fra zipnote til kommentarfilen. Bruk følgende kommando for å gjøre det:
For eksempel å legge til kommentarer til filer1.glidelås, kommandoen ville være:
$ zipnote filer1.zip> kommentarerNå, rediger kommentarer filen ved hjelp av følgende kommando:
$ sudo nano kommentarerFor hver fil, legg til kommentarer over linjene som sier @ (kommentar over denne linjen),deretter lagre og avslutte filen. Vi har lagt til to kommentarer i kommentarfilen, som vist fremhevet i skjermbildet nedenfor.
Skriv nå kommentarene til zip-filen din med følgende kommando:
I vårt tilfelle vil kommandoen være;
$ zipnote -w filer1.glidelås < commentsNå kan du bekrefte om kommentarene er lagt til ved å utstede følgende kommando i Terminal:
$ zipnote zip_file
Vis hjelp
For å se hjelp angående zip-kommando, bruk følgende kommando:
$ zip --hjelpDu kan også besøke manusiden for zip-verktøyet ved hjelp av følgende kommando:
$ man zipPakk ut kommandoen i Linux
Med unzip-kommandoen kan du enkelt trekke ut innhold fra en zip-fil. For å pakke ut en fil, bruk følgende syntaks:
$ pakke ut alternativer zip_filePakk ut enkelt zip-filer
La oss si test for å pakke ut en enkelt zip-fil.zip, vil kommandoen være:
$ pakke ut test.glidelåsDen vil pakke ut filen i den gjeldende katalogen.
Pakk ut en fil til en annen katalog
Du kan også pakke ut en fil til en annen katalog i stedet for den nåværende katalogen ved å bruke alternativet -d som følger:
$ pakke ut zip_file -d / path / to / katalogÅ pakke ut en zip-fil, test.glidelås til Dokumenter, katalog, vil kommandoen være:
$ pakke ut test.zip -d Dokumenter /
Pakk ut flere filer
Tenk på at det er flere zip-filer i en nåværende katalog som du vil pakke ut. Du kan pakke ut dem alle ved hjelp av en enkelt kommando som følger:
$ pakke ut *.glidelås'Denne kommandoen vil pakke ut alle zip-filene i den nåværende katalogen.
Undertrykk utdata når du bruker pakke ut
I likhet med zip-kommandoen, kan du også skjule utdataene for utpakkekommandoen ved hjelp av -q alternativ som følger:
$ unzip -q zip_file
Ekskluder filer ved å pakke ut
Hvis du vil pakke ut en zip-fil, men ikke ønsker å pakke ut en bestemt fil, bruker du -x alternativet nedenfor:
$ unzip zip_file -x filnavnFor eksempel har vi glidelås filetest.glidelås inneholder tre filer i den. Følgende kommando pakker ut alle filene unntatt den ene filen rapportere.tekst:
$ pakke ut test.zip -x rapport.tekst
Pakk ut passordbeskyttede zip-filer
For å pakke ut en passordbeskyttet zip-fil uten å spørre, bruk -P alternativet, etterfulgt av passordet for filen:
$ pakke ut -PFor eksempel har vi en zip-fil, test.glidelås, som er beskyttet av passordet “tinn”. For å trekke ut denne filen, vil kommandoen være:
$ pakke ut -P tinnprøve.glidelås
Overskriving av zip-filer
Hvis du pakker ut en fil til et sted der de ekstraherte filene allerede eksisterte, blir du bedt om å: overskrive den nåværende filen, hoppe over å pakke ut den nåværende filen, overskrive alle filer, hoppe over å pakke ut alle filene eller gi nytt navn til filen.
For å overskrive alle eksisterende filer uten å spørre, bruk -o alternativ som følger:
Liste innholdet i en zip
Bruker -l alternativet med unzip-kommandoen, kan du liste innholdet i en zip-fil uten å pakke den ut.
$ unzip -l zip_fileEksempel:
$ unzip -l test.glidelåsFølgende er utdata fra kommandoen ovenfor som viser filene i zip-filen test.glidelås, sammen med navn, opprinnelig filstørrelse, dato og tidsstempel.
Se detaljert informasjon
For å se detaljert informasjon uten å trekke ut zip-filen, bruk alternativet -v som følger:
$ unzip -v zip_fileEksempel:
$ unzip -v test.glidelåsFølgende er utdata fra kommandoen ovenfor som viser filene i test.glidelås, sammen med navn, original filstørrelse, komprimert størrelse, komprimeringsmetode, komprimeringsforhold, dato og tidsstempel.
Søker etter feil i et arkiv
Med alternativet -t i unzip-kommandoen kan du sjekke om en zip-fil er gyldig og ikke inneholder noen feil.
$ unzip -t test1.glidelåsEksempel:
$ unzip -t test1.glidelåsOvennevnte kommando sjekker for feil i test1.glidelås filen og viser resultatene. Følgende utdata viser at det ikke er noen feil i den komprimerte filen.
Vis hjelp
Bruk følgende kommando for å vise hjelp angående utpakningskommandoen:
$ unzip --helpDu kan også besøke mann-siden for å pakke ut verktøyet ved å bruke følgende kommando:
$ man pakke utKonklusjon
Det er alt du trenger å vite for å mestre zip og pakke ut kommandoer i Linux. I denne artikkelen har vi diskutert i detalj bruken av zip- og pakkekommandoer i Linux sammen med forskjellige kommandolinjealternativer og eksempler.