Articles

How to Zip or Unzip Files From the Linux Terminal

  • Dave McKay

    @TheGurkha

  • Updated May 28, 2019, 5:15pm EDT
Linux shell prompt
Fatmawati Achmad zaenuri/.com

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 zipcloakzipdetailszipsplit ja zipinfo.

Mainos

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

zip-asennuskomento Fedoralle

asentaaksesi puuttuvat elementit CentOS 7: ään, käytä seuraavaa komentoa:

sudo yum install perl-IO-Compress

zip install-komento CentOS

advertisement

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

zip-komento pääteikkunassa

jokainen tiedosto on lueteltu sellaisena kuin se on on lisätty. Tiedoston nimi ja tiedostossa saavutetun pakkauksen määrä näytetään.

lähtö zip-komennosta pääteikkunassa

Mainos

jos katsoo uutta ZIP-arkistoa, voi nähdä, että ”.zip ” – tiedostopääte on lisätty automaattisesti zip.

ls -l source_code.zip

LS zip-arkistossa pääteikkunassa

Jos et halua nähdä tulostetta zip kun ZIP-tiedosto on luotu, käytä -q (hiljainen) vaihtoehto.

zip -q source_code *.c *.h

-q hiljainen vaihtoehto pääteikkunassa

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

-r rekursiivinen vaihtoehto pääteikkunassa

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.

Mainos

seuraavassa komennossa arkistoidaan work hakemisto ja kaikki alihakemistot. Huomaa, että tämä komento annetaan work – kansion ylähakemistosta.

zip -r -q source_code work/

zipping the work directory in a terminal window

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/

-0 pakkausvaihtoehto pääteikkunassa

oletuspakkaustaso on 6. -6 valintaa ei tarvitse antaa, mutta siitä ei ole haittaa, jos teet niin.

zip -r -q source_code work/

tason 6 puristus pääteikkunassa

suurin puristustaso on tasolla 9.

zip -9 -r -q source_code work/

Mainos

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/

salasanojen lisääminen zip-tiedostoihin pääteikkunassa

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

Pura komento pääteikkunassa

Mainos

kun tiedostot puretaan, ne luetellaan pääteikkunaan.

ulostulo Pura pääteikkunassa

ZIP-tiedostoissa ei ole yksityiskohtia tiedostojen omistuksesta. Kaikki tiedostot, jotka puretaan on omistaja asetettu käyttäjälle, joka purkaa ne.

aivan kuten zipunzip on -q (hiljainen) – vaihtoehto, joten sinun ei tarvitse nähdä tiedostoluetteloa, kun tiedostot puretaan.

unzip -q source_code.zip

Pura-q-vaihtoehto pääteikkunassa

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 kohdehakemistoon pääteikkunaan

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

Pura salasanakomento pääteikkunassa

Mainos

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

poista salasanavaihtoehto pääteikkunassa

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

Pura pois-vaihtoehto pääteikkunassa

korvaa tiedostot

Oletetaan, että olet purkanut arkiston, mutta olet vahingossa poistanut muutaman Puretun tiedoston.

Mainos

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.

ylikirjoita kehotteet pääteikkunassa

pakottaaksesi unzip korvataksesi olemassa olevat tiedostot käytä -o (ylikirjoita) – valintaa.

unzip -o -q source_code.zip

ylikirjoitusvalinta pääteikkunassa

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

Pura-n koskaan ylikirjoitusvalinta pääteikkunassa

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

Pura listausvalinta pääteikkunassa

Mainos

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.

luetteloi arkistolähtö pääteikkunassa

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

zipcloak pääteikkunassa

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

zipdetails-komento pääteikkunassa

Mainos

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.

zipdetailien ulostulo pääteikkunassa

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

zipgrep-komento pääteikkunassa

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

zipinfo-komento pääteikkunassa

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
Mainos

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ä

zipinfo-ulostulo pääteikkunassa

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

zipsplit-komento pääteikkunassa

Mainos

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
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 ”