How to Zip or Unzip Files From the Linux Terminal
- Dave McKay
@TheGurkha
- Updated May 28, 2019, 5:15pm EDT
zip-tiedostot ovat Yleisarkisto, jota käytetään yleisesti Windows -, MacOS-ja jopa Linux-järjestelmissä. Voit luoda zip-arkiston tai purkaa tiedostoja yhdestä, jolla on joitakin yhteisiä Linux-päätekomennoja.
ZIP Compressed Archive-tiedostomuoto
kiitos ZIP-formaatin dominanssin Windows-valtakunnassa, ZIP-tiedostot ovat luultavasti maailman yleisin pakatun arkiston muoto.
kun taas .tervaa.gz-ja tar.bz2-tiedostot ovat yleisiä Linuxissa, Windows-käyttäjät todennäköisesti lähettävät sinulle arkiston ZIP-muodossa. Ja, jos haluat arkistoida joitakin tiedostoja ja lähettää ne Windows-käyttäjä, ZIP-muodossa on helpoin, yhteensopivin ratkaisu kaikille.
RELATED: kuinka purkaa tiedostoja a: sta .tervaa.gz tai .tervaa.BZ2-tiedosto Linuxissa
zip, Pura ja muut apuohjelmat
saatat jo tietää, että Linuxissa ja Unixin kaltaisissa käyttöjärjestelmissä, kuten macOS: ssa, on työkaluja, joiden avulla voit luoda ZIP-tiedostoja ja purkaa niistä tiedostoja, joita kutsutaan nimellä zip
ja unzip
. Mutta on olemassa kokonainen suku siihen liittyviä apuohjelmia, kuten zipcloak
zipdetails
zipsplit
ja zipinfo
.
tarkistimme joitakin Linux-jakeluja nähdäksemme, sisältävätkö ne näitä apuohjelmia vakioasennukseen. Kaikki apuohjelmat olivat läsnä Ubuntu 19.04, 18.10 ja 18.04. He olivat paikalla myös Manjarossa 18.04. Fedora 29 sisälsi zip
ja unzip
, mutta ei muita apuohjelmia, ja näin oli myös Centojen kohdalla.
Jos haluat asentaa puuttuvat elementit Fedora 29: ään, käytä seuraavaa komentoa:
sudo dnf install perl-IO-Compress
asentaaksesi puuttuvat elementit CentOS 7: ään, käytä seuraavaa komentoa:
sudo yum install perl-IO-Compress
Jos jokin Zip-apuohjelmista puuttuu Linux-jakelusta, jota ei ole mainittu edellä, asenna tarvittava paketti kyseisen Linux-jakelun paketinhallintatyökalulla.
miten ZIP-tiedosto luodaan zip-komennolla
luodaksesi ZIP-tiedoston, sinun täytyy kertoa zip
arkistotiedoston nimi ja mitkä tiedostot siihen sisällytetään. Sinun ei tarvitse lisätä ”.zip ” laajennus arkiston nimi, mutta se ei haittaa, jos teet.
luodaksesi tiedoston nimeltä source_code.zip
, joka sisältää kaikki nykyisen kansion C-lähdekooditiedostot ja otsikkotiedostot, käyttäisit tätä komentoa:
zip source_code *.c *.h
jokainen tiedosto on lueteltu sellaisena kuin se on on lisätty. Tiedoston nimi ja tiedostossa saavutetun pakkauksen määrä näytetään.
jos katsoo uutta ZIP-arkistoa, voi nähdä, että ”.zip ” – tiedostopääte on lisätty automaattisesti zip
.
ls -l source_code.zip
Jos et halua nähdä tulostetta zip
kun ZIP-tiedosto on luotu, käytä -q
(hiljainen) vaihtoehto.
zip -q source_code *.c *.h
sisältäen hakemistot ZIP-tiedostoissa
sisällyttääksesi alihakemistot ZIP-tiedostoon, käytä -r
(rekursiivinen) – vaihtoehtoa ja sisällytä alihakemiston nimi-Hakemisto komentorivillä. Jos haluat luoda ZIP-tiedoston kuten ennen ja sisältää myös arkiston alihakemiston, käytä tätä komentoa.
zip -r -q source_code archive/ *.c *.h
ollakseen huomaavainen henkilölle, joka purkaa tiedostot luomastasi ZIP-tiedostosta, on usein kohteliasta luoda ZIP-tiedostoja, joiden sisällä olevat tiedostot sisältyvät hakemistoon. Kun henkilö, joka vastaanottaa ZIP-tiedoston, purkaa sen, kaikki tiedostot sijoitetaan siististi hakemistoon heidän tietokoneellaan.
seuraavassa komennossa arkistoidaan work
hakemisto ja kaikki alihakemistot. Huomaa, että tämä komento annetaan work
– kansion ylähakemistosta.
zip -r -q source_code work/
asettamalla pakkaustason
voit määrittää, kuinka paljon pakkausta sovelletaan tiedostoihin, kun ne lisätään ZIP-arkistoon. Vaihteluväli on 0-9, jolloin 0 ei ole lainkaan puristusta. Mitä korkeampi Pakkaus, sitä kauemmin kestää luoda ZIP-tiedosto. Vaatimattomasti kokoinen ZIP-tiedostoja, aikaero ei ole merkittävä rangaistus. Mutta sitten, vaatimattoman kokoinen ZIP-tiedostoja, oletus Pakkaus (taso 6) on luultavasti tarpeeksi hyvä muutenkin.
saadaksesi zip
käyttämään tietyntasoista pakkausta, syötä numero valintana komentoriville, jossa on ”-”, näin:
zip -0 -r -q source_code work/
oletuspakkaustaso on 6. -6
valintaa ei tarvitse antaa, mutta siitä ei ole haittaa, jos teet niin.
zip -r -q source_code work/
suurin puristustaso on tasolla 9.
zip -9 -r -q source_code work/
kun tähän on arkistoitu tiedostojen ja hakemistojen valinta, ero ei-pakkauksen (taso 0) ja oletuspakkauksen (taso 6) välillä on 400k. Ero oletuspakkauksen ja korkeimman pakkaustason (taso 9) välillä on vain 4K.
, joka ei välttämättä tunnu paljolta, mutta satoja tai jopa tuhansia tiedostoja sisältävissä arkistoissa pieni määrä ylimääräistä pakkausta tiedostoa kohden lisäisi arvokasta tilansäästöä.
salasanojen lisääminen ZIP-tiedostoihin
salasanojen lisääminen ZIP-tiedostoihin on helppoa. Käytä -e
(salaa)-valintaa ja sinua pyydetään syöttämään salasanasi ja syöttämään se uudelleen vahvistusta varten.
zip -e -r -q source_code work/
miten ZIP-tiedosto puretaan Pura-komennolla
, jotta tiedostot puretaan ZIP-tiedostosta, käytetään Pura-komentoa ja annetaan ZIP-tiedoston nimi. Huomaa, että sinun täytyy antaa ”.zip ” laajennus.
unzip source_code.zip
kun tiedostot puretaan, ne luetellaan pääteikkunaan.
ZIP-tiedostoissa ei ole yksityiskohtia tiedostojen omistuksesta. Kaikki tiedostot, jotka puretaan on omistaja asetettu käyttäjälle, joka purkaa ne.
aivan kuten zip
unzip
on -q
(hiljainen) – vaihtoehto, joten sinun ei tarvitse nähdä tiedostoluetteloa, kun tiedostot puretaan.
unzip -q source_code.zip
Tiedostojen purku kohdehakemistoon
saadaksesi tiedostot puretuksi tiettyyn hakemistoon, käytä -d
(Hakemisto) – vaihtoehtoa ja anna polku hakemistoon, johon haluat arkiston purettavan.
unzip -q source_code.zip -d ./development
Pura salasanalla suojatut ZIP-tiedostot
jos ZIP-tiedosto on luotu salasanalla, unzip
kysyy salasanaa. Jos et anna oikeaa salasanaa, unzip
ei pura tiedostoja.
unzip -q source_code.zip
Jos et välitä siitä, että muut näkevät salasanasi—etkä siitä, että se on tallennettu komentohistoriaasi—voit antaa komentoriville salasanan -P
(salasana) – vaihtoehto. (Sinun on käytettävä isoa ” P.”)
unzip -P fifty.treacle.cutlass -q source_code.zip
pois lukien tiedostot
Jos et halua purkaa tiettyä tiedostoa tai tiedostoryhmää, käytä -x
(sulje pois) – vaihtoehtoa. Tässä esimerkissä haluamme purkaa kaikki tiedostot lukuun ottamatta niitä, jotka päättyvät”.h ” laajennus.
unzip -q source_code.zip -x *.h
korvaa tiedostot
Oletetaan, että olet purkanut arkiston, mutta olet vahingossa poistanut muutaman Puretun tiedoston.
pikaratkaisu siihen olisi purkaa tiedostot vielä kerran. Mutta jos yrität purkaa ZIP-tiedoston samaan hakemistoon kuin aiemmin, unzip
pyytää sinua tekemään päätöksen tiedostojen korvaamisesta. Se odottaa jotakin seuraavista vastauksista.
lukuun ottamatta r
(Nimeä uudelleen) vastausta, nämä vastaukset ovat kirjainkokoisia.
- y: kyllä, korvaa tämä tiedosto
- n: ei, älä korvaa tätä tiedostoa
- a: Kaikki, korvaa kaikki tiedostot
- n: ei yhtään, korvaa mikään tiedostoista
- r: Nimeä uudelleen, pura tämä tiedosto, mutta anna sille uusi nimi. Sinua pyydetään antamaan uusi nimi.
pakottaaksesi unzip
korvataksesi olemassa olevat tiedostot käytä -o
(ylikirjoita) – valintaa.
unzip -o -q source_code.zip
tehokkain tapa korvata puuttuvat tiedostot olisi saada unzip
purettua vain arkiston tiedostot, jotka eivät ole kohdehakemistossa. Voit tehdä tämän valitsemalla -n
(älä koskaan korvaa).
unzip -n source_code.zip
Katso ZIP-tiedoston sisälle
on usein hyödyllistä ja opettavaista nähdä lista ZIP-tiedoston sisällä olevista tiedostoista ennen kuin purat sen. Voit tehdä tämän -l
(list archive) – valinnalla. Se johdetaan less
, jotta ulostulo olisi hallittavissa.
unzip -l source_code.zip | less
tuloste näyttää ZIP-tiedoston hakemistot ja tiedostot, niiden pituuden sekä ajan ja päivämäärän, jolloin ne lisättiin arkistoon. Paina ”q”lopettaaksesi less
.
on muitakin tapoja kurkistaa ZIP-tiedoston sisälle, jotka antavat erityyppistä tietoa, kuten tulemme näkemään.
Lisää salasana zipcloak-komennolla
Jos olet luonut ZIP-tiedoston, mutta unohdat lisätä salasanan, mitä voit tehdä? Voit nopeasti lisätä salasanan ZIP-tiedostoon zipcloak
– komennolla. Anna ZIP-tiedoston nimi komentorivillä. Sinulta kysytään salasanaa. Sinun täytyy tarkistaa salasana syöttämällä se toisen kerran.
zipcloak source_code.zip
Katso Tiedoston tiedot zipdetails-komennolla
zipdetails
komento näyttää paljon tietoa ZIP-tiedostosta. Ainoa järkevä tapa käsitellä tämän komennon antamaa ulostulomäärää on putkea se less
.
zipdetails source_code.zip | less
huomaa, että tieto sisältää tiedostonimet, vaikka ZIP-tiedosto olisi salasanasuojattu. Tämäntyyppiset tiedot tallennetaan ZIP-tiedostoon metadatana, eivätkä ne ole osa salattua dataa.
Etsi tiedoston sisältä zipgrep-komennolla
zipgrep
komennolla voi hakea ZIP-tiedoston tiedostojen sisältä. Seuraavassa esimerkissä haluamme tietää, mitkä tiedostot ZIP-tiedostossa on teksti ” keyval.h ” niissä.
zipgrep keyval.h source_code.zip
voimme nähdä, että tiedostot slang.c
ja getval.c
sisältävät merkkijonon ”keyval.h”.Voimme myös nähdä, että on olemassa kaksi kopiota kustakin näistä tiedostoista eri hakemistoissa ZIP-tiedosto.
Katso tietoja zipinfo-komennolla
zipinfo
komento antaa sinulle vielä yhden tavan katsoa ZIP-tiedoston sisälle. Kuten aiemminkin, putsaamme lähdön less
.
zipinfo source_code.zip | less
vasemmalta oikealle tuloste näyttää:
- tiedoston käyttöoikeudet
- ZIP-tiedoston luomiseen käytetyn työkalun versio
- alkuperäinen tiedostokoko
- tiedostokuvaus (kuvattu alla)
- pakkaustapa (deflaatio, tässä tapauksessa)
- tiedot ja aikaleima
- tiedoston nimi ja mikä tahansa hakemisto
tiedosto asiasana koostuu kahdesta merkistä. Ensimmäinen merkki on teksti-tai binääritiedostoa ilmaiseva ”t” tai ”b”. Jos se on iso kirjain, tiedosto on salattu. Toinen hahmo voi olla yksi neljästä hahmosta. Tämä merkki kuvaa, millaista metatietoa tämä tiedosto sisältää: ei mitään, laajennettu paikallinen otsake, ”lisäkenttä” tai molemmat.
- -: jos kumpaakaan ei ole olemassa, merkistä tulee väliviiva
- l: jos on laajennettu paikallinen otsikko, mutta ei ylimääräistä kenttää
- x: Jos ei ole laajennettua paikallista otsikkoa, mutta on ylimääräinen kenttä
- X: jos on laajennettu paikallinen otsikko ja on ylimääräinen kenttä
Jaa tiedosto zipsplit-komennolla
Jos haluat lähettää ZIP-tiedoston jollekin muulle, mutta tiedoston lähettämisessä on kokorajoituksia tai ongelmia, voit käyttää zipsplit
komento jakaa alkuperäisen zip-tiedoston pienempiin zip-tiedostoihin.
-n
(koko) – valinnalla voit asettaa enimmäiskoon jokaiselle uudelle ZIP-tiedostolle. Tässä esimerkissä jaetaan source_code.zip
tiedosto. Emme halua minkään uusista ZIP-tiedostoista olevan suurempia kuin 100 KB (102400 tavua).
zipsplit -n 102400 source_code.zip
valitsemasi koko ei voi olla pienempi kuin minkään ZIP-tiedoston koko.
näillä komennoilla voit luoda omia ZIP-tiedostoja, purkaa saamiasi ZIP-tiedostoja ja suorittaa erilaisia muita toimintoja niillä poistumatta koskaan Linux-päätteestä.
Dave McKay käytti ensimmäisen kerran tietokoneita, kun reikäpaperinauha oli muodissa, ja hän on ohjelmoinut siitä lähtien. Yli 30 vuotta IT-alalla työskenneltyään hän on nyt päätoiminen teknologiatoimittaja. Uransa aikana hän on työskennellyt freelance-ohjelmoijana, kansainvälisen ohjelmistokehitystiimin päällikkönä, IT-palveluiden projektipäällikkönä ja viimeksi tietosuojavastaavana. Dave on Linux-evankelista ja avoimen lähdekoodin puolestapuhuja.Read Full Bio ”
Leave a Reply