Hvordan Zip Eller Pakke Ut Filer fra Linux Terminal
- Dave McKay
@TheGurkha
- Oppdatert 28 Mai 2019, 5:15pm EDT
zip-filer er Et Universelt Arkiv som vanligvis brukes på windows, macos og til og med linux-systemer. Du kan lage et zip-arkiv eller pakke ut filer fra en med noen vanlige Linux-terminalkommandoer.
ZIP Komprimert Arkiv Filformat
takket være dominans AV ZIP-format I windows riket, ZIP-filer er trolig den vanligste formen for komprimert arkiv i verden.
Mens .tjære.gz og tar.bz2 filer er vanlige På Linux, Windows-brukere vil trolig sende deg et arkiv I ZIP-format. OG hvis du vil arkivere noen filer og sende Dem Til En Windows-bruker, VIL ZIP-formatet være den enkleste, mest kompatible løsningen for alle.
RELATERT: Hvordan Pakke Ut Filer fra en .tjære.gz eller .tjære.bz2-Fil på Linux
zip, unzip og Andre Verktøy
Du vet kanskje allerede At Linux og Unix-lignende operativsystemer som macOS har verktøy som lar deg lage ZIP-filer og pakke ut filer fra dem, kalt zip
og unzip
. Men det er en hel familie av relaterte verktøy som zipcloak
zipdetails
zipsplit
og zipinfo
.
vi sjekket Noen Linux-distribusjoner for å se om de inkluderte disse verktøyene i standardinstallasjonen. Alle verktøyene var til stede I Ubuntu 19.04, 18.10 og 18.04. De var også til stede i Manjaro 18.04. Fedora 29 inkludert zip
og unzip
, men ingen av de andre verktøyene og det var også tilfelle For CentOS.
for å installere de manglende elementene På Fedora 29, bruk følgende kommando:
sudo dnf install perl-IO-Compress
for å installere de manglende elementene På CentOS 7, bruk følgende kommando:
sudo yum install perl-IO-Compress
Hvordan Lage EN ZIP-Fil med zip-Kommandoen
for å lage EN ZIP-fil må du fortelle zip
navnet på arkivfilen og hvilke filer som skal inkluderes i den. Du trenger ikke å legge til «.zip » utvidelse til arkivnavnet, men det gjør ingen skade hvis du gjør det.
for å opprette en fil som heter source_code.zip
som inneholder alle c-kildekodefilene og topptekstfilene i gjeldende katalog, vil du bruke denne kommandoen:
zip source_code *.c *.h
hver fil er oppført som den er lagt til. Navnet på filen og mengden komprimering som ble oppnådd på den filen, vises.
hvis du ser på DET nye ZIP-arkivet, kan du se at «.zip » filtypen har blitt lagt til automatisk av zip
.
ls -l source_code.zip
hvis du ikke vil se utdataene fra zip
SOM ZIP-filen er opprettet, bruk -q
div > (stille) alternativ.
zip -q source_code *.c *.h
Inkludert Kataloger I ZIP-Filer
for å inkludere underkataloger I ZIP-filen, bruk -r
(rekursiv) alternativet og ta med navnet på sub-katalog på kommandolinjen. For å lage EN ZIP-fil som før og også inkludere arkiv-underkatalogen, bruk denne kommandoen.
zip -r -q source_code archive/ *.c *.h
for å være hensynsfull til personen som skal trekke ut filene fra ZIP-filen du lager, er det ofte høflig å lage ZIP-filer med filene i den som finnes i en katalog. Når personen som mottar ZIP-filen, trekker den ut, plasseres alle filene pent i en katalog på datamaskinen.
i den følgende kommandoen skal vi arkiverework
katalogen og alle underkataloger. Merk at denne kommandoen utstedes fra den overordnede katalogen i mappenwork
.
zip -r -q source_code work/
Angi Komprimeringsnivået
du kan angi hvor mye komprimering som brukes på filene når de legges til ZIP-arkivet. Området er fra 0 til 9, med 0 er ingen komprimering i det hele tatt. Jo høyere komprimering, jo lengre tid tar DET å lage ZIP-filen. For beskjedent STØRRELSE ZIP-filer, tidsforskjellen er ikke en betydelig straff. Men da, for beskjeden STØRRELSE ZIP-filer, er standardkomprimeringen (nivå 6) trolig god nok uansett.
for å fåzip
for å bruke et bestemt komprimeringsnivå, pass nummeret som et alternativ på kommandolinjen, med en «-«, slik:
zip -0 -r -q source_code work/
standard komprimeringsnivå er 6. Det er ikke nødvendig å gi -6
alternativet, men det vil ikke skade hvis du gjør det.
zip -r -q source_code work/
maksimum kompresjonsnivå er nivå 9.
zip -9 -r -q source_code work/
forskjellen mellom ingen komprimering (nivå 0) og standard komprimering (nivå 6) ER 400K. Forskjellen mellom standardkomprimering og det høyeste komprimeringsnivået (nivå 9) er bare 4K.
Det kan ikke virke mye, men for arkiver som inneholder hundrevis eller tusenvis av filer, vil den lille mengden ekstra komprimering per fil legge opp til en verdig plassbesparelse.
Legge Passord TIL ZIP-Filer
Legge passord TIL ZIP-filer er enkelt. Bruk alternativet-e
(krypter), og du blir bedt om å skrive inn passordet ditt og skrive det inn for bekreftelse.
zip -e -r -q source_code work/
Slik Pakker DU UT EN ZIP-Fil med unzip-Kommandoen
for å pakke ut filene fra EN ZIP-fil, bruk unzip-kommandoen og oppgi NAVNET PÅ ZIP-filen. Merk at du trenger å gi den «.zip » forlengelse.
unzip source_code.zip
når filene pakkes ut, vises de i terminalvinduet.
ZIP-filer bærer ikke detaljer om fileierskap. Alle filene som er hentet har eieren satt til brukeren som er utpakking dem.
Akkurat som zip
unzip
har et -q
(stille) alternativ, slik at du ikke trenger å se filoppføringen når filene hentes ut.
unzip -q source_code.zip
Trekke Ut Filer til En Målkatalog
for å få filene pakket ut i en bestemt katalog, bruk-d
(katalog), og gi banen til katalogen du ønsker at arkivet skal trekkes ut i.
unzip -q source_code.zip -d ./development
Pakk Ut Passordbeskyttede ZIP-Filer
hvis EN ZIP-fil er opprettet med et passord, vilunzip
be deg om passordet. Hvis du ikke oppgir riktig passord, vil unzip
ikke pakke ut filene.
unzip -q source_code.zip
hvis du ikke bryr deg om at passordet ditt blir sett av andre—eller om det blir lagret i kommandohistorikken din—kan du oppgi passordet på kommandolinjen med -P
(passord) alternativ. (Du må bruke en kapital » P.»)
unzip -P fifty.treacle.cutlass -q source_code.zip
Unntatt Filer
hvis du ikke vil pakke ut en bestemt fil eller gruppe filer, bruk -x
(ekskluder) alternativet. I dette eksemplet vil vi trekke ut alle filene bortsett fra de som slutter i en «.h » forlengelse.
unzip -q source_code.zip -x *.h
Overskrive Filer
Anta at du har pakket ut et arkiv, Men du har slettet noen av de utpakkede filene ved en feil.
en rask løsning for det ville være å pakke ut filene igjen. Men hvis DU prøver å pakke UT ZIP-filen i samme katalog som før ,vilunzip
be deg om en beslutning om å overskrive filene. Det vil forvente ett av følgende svar.
Bortsett frar
(rename) respons, er disse svarene case sensitive.
- y: Ja, overskrive denne filen
- n: Nei, ikke overskrive denne filen
- A: Alle, overskrive alle filene
- N: Ingen, overskrive ingen av filene
- r: Gi Nytt Navn, pakk ut denne filen, men gi den et nytt navn. Du vil bli bedt om et nytt navn.
for å tvinge unzip
for å overskrive eventuelle eksisterende filer, bruk alternativet -o
(overskrive).
unzip -o -q source_code.zip
Den mest effektive måten å erstatte de manglende filene ville være å ha unzip
bare pakke ut filer i arkivet som ikke er i målkatalogen. For å gjøre dette, bruk alternativet-n
(aldri overskrive).
unzip -n source_code.zip
Ser Inne I EN ZIP-Fil
det er ofte nyttig og lærerikt å se en liste over filene i EN ZIP-fil før du pakker den ut. Du kan gjøre dette med alternativet-l
(list archive). Den sendes gjennom less
for å gjøre utgangen håndterlig.
unzip -l source_code.zip | less
utgangen viser kataloger og filer i ZIP-filen, deres lengde og tid og dato de ble lagt til i arkivet. Trykk » q «for å avslutte fra less
.
Det finnes andre måter å kikke inn I EN ZIP-fil som gir forskjellige typer informasjon, som vi skal se.
Legg Til Et Passord Med Zipcloak-Kommandoen
hvis DU har opprettet EN ZIP-fil, men glemt å legge til et passord, hva kan du gjøre? Du kan raskt legge til et passord I ZIP-filen ved hjelp av kommandoenzipcloak
. Pass navnet PÅ ZIP-filen på kommandolinjen. Du vil bli bedt om et passord. Du må bekrefte passordet ved å skrive det inn en gang til.
zipcloak source_code.zip
Vis Fildetaljer Med Zipdetails Kommandoen
zipdetails
kommandoen vil vise deg mye informasjon om ZIP-filen. Den eneste fornuftige måten å håndtere mengden utgang denne kommandoen kan gi, er å pipe den gjennom less
.
zipdetails source_code.zip | less
Merk at informasjonen vil inneholde filnavn selv om ZIP-filen er passordbeskyttet. DENNE typen informasjon lagres i ZIP-filen som metadata og er ikke en del av de krypterte dataene.
Søk I Filen Med Zipgrep Kommandoen
zipgrep
kommandoen lar deg søke i filene i EN ZIP-fil. I det følgende eksemplet vil vi vite hvilke filer I ZIP-filen som har teksten » keyval.h » i dem.
zipgrep keyval.h source_code.zip
Vi kan se at fileneslang.c
oggetval.c
inneholder strengen «keyval.t”.Vi kan også se at det er to kopier av hver av disse filene i forskjellige kataloger I ZIP-filen.
Vis Informasjon med Zipinfo Kommandoen
zipinfo
kommandoen gir deg enda en måte å se inne I EN ZIP-fil. Som før, rør vi utgangen gjennom less
.
zipinfo source_code.zip | less
fra venstre til høyre viser utgangen:
- filtillatelsene
- versjonen av verktøyet som brukes til Å lage ZIP-filen
- den opprinnelige filstørrelsen
- en filbeskrivelse (beskrevet nedenfor)
- metoden for komprimering (deflasjon, i dette tilfellet)
- data og tidsstempel
- navnet på filen og en katalog
filen descriptor består av to tegn. Det første tegnet vil være en «t» eller en » b » for å indikere en tekst eller binærfil. Hvis det er en stor bokstav filen er kryptert. Det andre tegnet kan være en av fire tegn. Dette tegnet representerer hvilken type metadata som er inkludert for denne filen: ingen, en utvidet lokal header, et «ekstra felt» eller begge deler.
- -: hvis det ikke finnes noen, vil tegnet være en bindestrek
- l: hvis det er en utvidet lokal header, men ingen ekstra felt
- x: hvis det ikke er noen utvidet lokal header, men det er et ekstra felt
- X: hvis det er en utvidet lokal header og det er et ekstra felt
Del Filen med Zipsplit-Kommandoen
Hvis DU trenger å sende ZIP-filen til noen andre, men det er størrelsesbegrensninger eller problemer med overføring av filen, kan du bruke zipsplit
kommando for å dele den opprinnelige zip-filen i et sett med mindre zip-filer.
alternativet -n
(størrelse) lar deg angi en maksimal størrelse for HVER AV DE NYE ZIP-filene. I dette eksemplet deler visource_code.zip
– filen. Vi vil ikke at NOEN AV DE nye ZIP-filene skal være større enn 100 KB (102400 byte).
zipsplit -n 102400 source_code.zip
størrelsen du velger, kan ikke være mindre enn størrelsen på noen av filene I ZIP-filen.Ved hjelp av disse kommandoene kan du lage DINE EGNE ZIP-filer, pakke UT ZIP-filer du mottar, og utføre ulike andre operasjoner på Dem uten å forlate Linux-terminalen.Dave McKay Brukte først datamaskiner da stansede papirbånd var på moten, og han har programmert siden den gang. Etter over 30 år i IT-bransjen er han nå en heltids teknologijournalist. I løpet av sin karriere har han jobbet som frilansprogrammerer, leder av et internasjonalt programvareutviklingsteam, EN IT-tjenesteprosjektleder, og senest Som Databeskyttelsesansvarlig. Dave er En Linux evangelist og åpen kildekode talsmann.Les Hele Bio »
Leave a Reply