Manpages

NIMI

gzip, gunzip, zcat − pakkaa tai pura tiedostoja

YLEISKATSAUS

gzip [ −acdfhlLnNrtvV19 ] [−S suffix] [ nimi ... ]
gunzip
[ −acfhlLnNrtvV ] [−S suffix] [ nimi ... ]
zcat
[ −fhLV ] [ nimi ... ]

KUVAUS

Gzip pakkaa nimetyt tiedostot käyttäen Lempel-Ziv koodausta (LZ77). Kukin tiedosto korvataan tiedostolla, jonka nimen loppuun lisätään .gz, mikäli mahdollista, samalla kun omistajuus sekä pääsy- ja muutosaikatiedot säilyvät ennallaan. (Nimen loppuun lisätään −gz käyttöjärjestelmän ollessa VMS, z käyttöjärjestelmän ollessa MSDOS, OS/2 FAT, Windows NT FAT tai Atari.) Jos tiedostoja ei ole määritelty, tai tiedoston nimi on "-", vakiosyöte pakataan vakiotulostukseen. Gzip yrittää pakata vain tavallisia tiedostoja. Huomaa erityisesti, että se ei tunnista symbolisia linkkejä.

Jos pakatun tiedoston nimi on liian pitkä tiedostojärjestelmälle, gzip typistää sen. Gzip yrittää typistää vain ne tiedostonimen osat, joiden pituus on yli 3 merkkiä. (Osat on erotettu pisteillä.) Jos nimi koostuu vain pienistä osista, pisimmät osat typistetään. Esimerkiksi, jos tiedostonimet on rajoitettu 14 merkkiin, gzip.msdos.exe typistetään nimeksi gzi.msd.exe.gz. Nimiä ei typistetä järjestelmissä, joiden nimenpituutta ei ole rajoitettu.

Oletuksena on, että gzip säilyttää alkuperäisen tiedostonimen ja aikaleiman pakatussakin tiedostossa. Niitä käytetään, kun tiedosto puretaan optiolla −N Tästä on hyötyä, kun pakatun tiedoston nimi typistyy tai aikaleima ei säily tiedostosiirrossa.

Pakatut tiedostot voidaan palauttaa alkuperäiseen muotoonsa komennolla gzip -d , gunzip tai zcat. Jos pakattuun tiedostoon talletettu alkuperäinen nimi ei sovellu tiedostojärjestelmään, uusi kelvollinen nimi rakennetaan alkuperäisestä.

gunzip ottaa tiedostoluettelon komentoriville ja korvaa jokaisen tarkentimeen .gz, -gz, .z, -z, _z tai .Z päättyvän tiedoston, joka alkaa oikealla taikaluvulla, puretulla tiedostolla, jonka nimessä ei ole em. tarkenninta. gunzip tunnistaa myös erityistarkentimet .tgz ja .taz nimenosien .tar.gz ja .tar.Z lyhenteinä. Pakkauksessa gzip käyttää tarkenninta .tgz nimen typistyksen sijasta, jos alkuperäinen nimi on .tar -päätteinen.

gunzip voi nykyisin purkaa apuohjelmilla gzip, zip, compress, compress -H tai pack luotuja tiedostoja. Syöttömuodon tunnistus on automaattinen. Käytettäessä kahta ensimmäistä muotoa gunzip tarkistaa 32 bitin CRC:n. Apuohjelmat pack, gunzip tarkistavat pakkaamattoman pituuden. Apuohjelman compress muotoa ei ole suunniteltu oikeellisuustarkistusta silmälläpitäen. Kuitenkin gunzip pystyy toisinaan havaitsemaan virheellisen .Z-tiedoston. Jos saat virheilmoituksen purkaessasi .Z-tiedostoa, älä oleta, että uncompress ei valita. Yleensä se tarkoittaa vain sitä, että uncompress ei tarkista syöttötietoa ja tulostaa onnellisena roskaa... SCO:n compress -H -muoto (lzh-pakkausmenetelmä) ei sisällä CRC:tä, mutta sallii joitakin oikeellisuustarkistuksia.

Tiedostot, jotka on luotu zip -ohjelmalla, voidaan purkaa gzip-ohjelmalla, jos niissä on vain yksi jäsen, joka on pakattu ´deflaatio´-menetelmällä. Tämän ominaisuuden tarkoituksena on vain auttaa tar.zip-tiedostojen muuntoa tar.gz-muotoon. Useampijäsenisten zip-tiedostojen purkamiseksi käytä apuohjelmaa unzip apuohjelman gunzip sijasta.

zcat on identtinen käskyn gunzip −c kanssa. (Joissakin järjestelmissä zcat voidaan asentaa kuten gzcat alkuperäislinkin säilyttämiseksi apuohjelmaan compress.) zcat purkaa joko komentoriville annetun tiedostoluettelon tai vakiosyötteen ja kirjoittaa puretut tiedot vakiotulostukseen. zcat purkaa tiedostot, joilla on oikea taikaluku riippumatta siitä, onko niillä oikea nimen loppuosa .gz vai ei.

Gzip käyttää Lempel-Ziv -algoritmia, jota käytetään apuohjelmissa zip ja PKZIP. Aikaansaatu pakkauksen määrä riippuu syötteen koosta ja yhteisten merkkijonojen jakaumasta. Tyypillisesti lähdekoodi ja selväkielinen teksti tiivistyvät 60−70%. Pakkaussuhde on yleensä selvästi parempi kuin algoritmeilla LZW (jota käytetään ohjelmassa compress), Huffman-koodaus (jota käyttää pack), tai adaptiivinen Huffman-koodaus (compact).

Pakkaus tehdään aina, silloinkin kun pakattu tiedosto on hiukan suurempi kuin alkuperäinen. Pahimmassa tapauksessa laajennus on muutama tavu gzip-tiedoston alussa plus 5 tavua jokaista 32K lohkoa kohti, eli 0.015% laajennus suurilla tiedostoilla. Todellisuudessa lohkojen määrä on tuskin koskaan suurempi kuin alkuperäinen. gzip säilyttää tiedostojen oikeudet, omistuksen ja aikaleimat sekä pakattaessa että purettaessa.

OPTIOT

−a --ascii

Ascii-tekstimoodi: muunna rivien loput paikallisen käytännön mukaisesti. Tämä optio on käytössä vain eräissä ei-Unix-järjestelmissä. MSDOS:lla CRLF muunnetaan LF:ksi pakattaessa ja LF CRLF:ksi purettaessa.

−c --stdout --to-stdout

Kirjoita tulos vakiotulosteeseen; älä muuta alkuperäistiedostoja. Jos syöttötiedostoja on useita, tulos koostuu erillisistä pakatuista jäsenistä. Paremman pakkaussuhteen saamiseksi liitä kaikki syöttötiedostot yhteen ennen pakkaamista.

−d --decompress --uncompress

Pura pakkaus.

−f --force

Pakota pakkaus tai purku silloinkin, kun tiedostolla on useita linkkejä, tai kun samanniminen tiedosto on jo olemassa, tai kun pakattu tieto luetaan päätteeltä tai kirjoitetaan päätteelle. Jos syöttötieto on muodossa, jonka gzip tunnistaa ja jos optio --stdout on myös käytössä, kopioi syöttötieto muuttumattomana vakiotulosteeseen: tällöin zcat käyttäytyy kuten cat. Jos optio −f ei ole käytössä, eikä gzip ole taustatyönä, se pyytää varmistamaan olemassa olevan tiedoston päällekirjoituksen.

−h --help

Näytä ohjeet ja poistu ohjelmasta.

−l --list

Jokaisesta pakatusta tiedostosta näytetään seuraavat kentät:

compressed size: pakatun tiedoston koko
uncompressed size: pakkaamattoman tiedoston koko
ratio: pakkaussuhde (0.0% jos ei tiedossa)
uncompressed_name: pakkaamattoman tiedoston nimi

Pakkaamaton koko on -1, jos tiedosto ei ole gzip-muotoa (esim. pakatut .Z-tiedostot). Tällaisen tiedoston pakkaamattoman koon saat komennolla:

zcat file.Z | wc -c

Kun käytetään lisäksi --verbose -optiota, saadaan näytölle lisäksi seuraavat kentät:

method: pakkausmenetelmä
crc: pakkaamattoman tiedon 32-bittinen CRC
date & time: pakkaamattoman tiedoston aikaleima

Nykyisin tuetut pakkausmenetelmät ovat deflate, compress, lzh (SCO compress -H) ja pack. Muussa kuin gzip-muodossa olevien tiedostojen crc on ffffffff.

Käytettäessä optiota --name, pakkaamaton nimi, päiväys ja aika ovat pakattuun tiedostoon tallennetut, jos ne ovat olemassa.

Käytettäessä optiota --verbose, kokosummat ja pakkaussuhteet tulevat näytölle, elleivät jotkin koot ole tuntemattomia. Käytettäessä optiota --quiet, otsikko- ja summarivejä ei näytetä.

−L --license

Näytä gzip lisenssi ja poistu ohjelmasta.

−n --no-name

Pakattaessa ei tallenneta alkuperäistä tiedostonimeä ja aikaleimaa oletusarvona. (Alkuperäinen nimi tallennetaan aina, jos nimi oli pakko typistää.) Purettaessa ei palauteta alkuperäistä nimeä (poistetaan vain gzip -pääte pakatun tiedoston nimestä) eikä alkuperäistä aikaleimaa (se kopioidaan pakatusta tiedostosta). Tämä optio on oletuksena purettaessa.

−N --name

Pakattaessa tallennetaan aina alkuperäinen tiedostonimi ja aikaleima; tämä on oletusarvo. Purettaessa palautetaan alkuperäinen tiedostonimi ja aikaleima, jos ne ovat käytettävissä. Tämä optio on hyödyksi järjestelmissä, joissa nimenpituus on rajoitettu tai kun aikaleima on kadonnut tiedoston siirrossa.

−q --quiet

Estetään kaikki varoitukset.

−r --recursive

Kuljetaan rekursiivisesti läpi tiedostorakenteen. Jos jokin komentorivillä mainittu tiedostonimi on hakemisto, gzip menee hakemistoon ja pakkaa kaikki löytämänsä tiedostot (tai purkaa ne, jos käytössä on gunzip ).

−S .suf --suffix .suf

Käytetään päätettä .suf päätteen .gz sijasta. Mitä tahansa päätettä voi käyttää, mutta muita päätteitä kuin .z and .gz pitäisi välttää sekaannuksen välttämiseksi siirrettäessä tiedostoja muihin järjestelmiin. Nollapääte pakottaa gunzip-ohjelman yrittämään kaikkien tiedostojen purkua päätteestä riippumatta, kuten:

gunzip -S "" * (*.* MSDOS:ssa)

Gzip-ohjelman aikaisemmat versiot käyttivät .z -päätettä. Käytäntö muutettiin ristiriidan välttämiseksi pack(1) -ohjelman kanssa.

−t --test

Testi. Tarkistaa pakatun tiedoston oikeellisuuden.

−v --verbose

Laajat tiedot. Näyttää kunkin pakatun tai puretun tiedoston nimen ja pakkausprosentin.

−V --version

Versio. Näyttää versionumeron ja poistuu ohjelmasta.

−# --fast --best

Säätelee pakkausnopeutta käyttäen määrittelynumeroa #, jossa −1 tai −−fast osoittaa nopeimman pakkausmenetelmän (vähäisin pakkaus) ja −9 tai −−best osoittaa hitaimman pakkausmenetelmän (paras pakkaussuhde). Oletusarvoinen pakkaustaso on −6 (siis painottuu hyvään pakkaussuhteeseen nopeuden kustannuksella).

EDISTYNEET KÄYTTÖTAVAT

Useita pakattuja tiedostoja voidaan liittää yhteen. Tässä tapauksessa gunzip purkaa kaikki jäsenet kerralla. Esimerkiksi:

gzip -c file1 > foo.gz
gzip -c file2 >> foo.gz

Siten
gunzip -c foo

on sama kuin

cat file1 file2

Jos .gz -tiedoston yksi jäsen on vahingoittunut, voidaan muut jäsenet vielä pelastaa (jos vahingoittunut jäsen poistetaan). Parempi pakkaussuhde saadaan aikaan pakkaamalla kaikki jäsenet kerralla:

cat file1 file2 | gzip > foo.gz

pakkaa paremmin kuin

gzip -c file1 file2 > foo.gz

Jos haluat pakata ketjutetut tiedostot uudelleen parempaan pakkaussuhteeseen pääsemiseksi, tee seuraavasti:

gzip -cd old.gz | gzip > new.gz

Jos pakattu tiedosto koostuu useasta jäsenestä, --list -option ilmoittama pakkaamaton koko ja CRC koskevat vain viimeistä jäsentä. Jos tarvitset kaikkien jäsenten pakkaamattoman koon, toimi näin:

gzip -cd file.gz | wc -c

Jos haluat tehdä yhden monijäsenisen arkiston niin, että jäsenet voidaan ottaa esiin toisistaan riippumatta, käytä arkisto-ohjelmia kuten tar tai zip. GNU tar tukee -z optiota, joka kutsuu gzip:n läpinäkyvästi. gzip on suunniteltu tar:n täydennykseksi eikä korvaajaksi.

YMPÄRISTÖMUUTTUJAT

Ympäristömuuttuja GZIP voi sisältää joukon oletusarvoja ohjelmalle gzip. Nämä optiot tulkitaan ensin, ja ne voidaan korvata eksplisiittisillä komentoriviparametreilla. Esimerkiksi:
sh: GZIP="-8v --name"; export GZIP
csh: setenv GZIP "-8v --name"
MSDOS: set GZIP=-8v --name

Vax/VMS:llä ympäristömuuttujan nimi on GZIP_OPT, jotta vältettäisiin ristiriita ohjelman kutsutunnuksen kanssa.

DIAGNOSTIIKKA

Normaalisuorituksen paluukoodi on 0. Virhetilan paluukoodi on 1. Varoituksen paluukoodi on 2.

Usage: gzip [-cdfhlLnNrtvV19] [-S suffix] [file ...]

Komentorivillä on määritelty kelvottomia optioita.

file: not in gzip format

Ohjelmalle gunzip annettu tiedosto ei ole pakattu.

file: Corrupt input. Use zcat to recover some data.

Pakattu tiedosto on vahingoittunut. Tiedot virhekohtaan asti voidaan pelastaa komennolla

zcat file > recover

file: compressed with xx bits, can only handle yy bits

Tiedosto oli pakattu ohjelmalla (käyttäen LZW:tä), joka voi käsitellä enemmän bittejä kuin tämän koneen laajennuskoodi. Pakkaa tiedosto uudelleen gzip-ohjelmalla, joka pakkaa paremmin ja käyttää vähemmän muistia.

file: already has .gz suffix -- no change

Ohjelma luulee, että tiedosto on jo pakattu. Anna tiedostolle uusi nimi ja yritä uudestaan.

file already exists; do you wish to overwrite (y or n)?

Vastaa "y", jos haluat korvata tulostustiedoston; vastaa "n" jos et.

gunzip: corrupt input

Ohjelma on havainnut SIGSEGV-virheen, joka yleensä tarkoittaa virhettä syötteessä.

xx.x%

Pakkauksen tilansäästöprosentti. (Merkitystä vain optioilla −v ja −l.)

-- not a regular file or directory: ignored

Kun syöttötiedosto ei ole tavallinen tiedosto tai hakemisto (esim. symbolinen linkki, socket, FIFO, laitetiedosto), sitä ei muuteta.

-- has xx other links: unchanged

Syöttötiedostoon on linkkejä eikä sitä muuteta. Katso lisätietoja ln(1). Käytä optiota −f pakottaaksesi monilinkkisen tiedoston pakkauksen.

VAROITUKSET

Kirjoitettaessa pakattua tietoa nauhalle on yleensä tarpeen täyttää tulostus nollilla lohkorajaan saakka. Kun tieto luetaan ja koko lohko siirretään ohjelmalle gunzip purettavaksi, gunzip havaitsee, että purettavan tiedon jälkeen on ylimääräistä roskaa ja antaa varoituksen. Käytä optiota --quiet varoituksen estämiseen. Tämä optio voidaan sijoittaa ympäristömuuttujaan GZIP seuraavasti:
sh: GZIP="-q" tar -xfz --block-compress /dev/rst0
csh: (setenv GZIP -q; tar -xfz --block-compr /dev/rst0

Edellä olevassa esimerkissä GNU tar:n optio -z kutsuu implisiittisesti ohjelmaa gzip. Varmista, että samaa lohkonpituutta (optio -b tar:ssa) käytetään sekä nauhan luvussa että kirjoituksessa. (Tässä esimerkissä oletetaan käytettävän GNU tar:a.)

BUGIT

Optio --list ilmoittaa väärän koon, jos koko ylittää 2 gigatavua. Optio --list ilmoittaa kooksi -1 ja crc:ksi ffffffff, jos pakattu tiedosto ei ole medialla, jolla suora haku ei ole mahdollinen (esim. nauha).

Eräissä harvinaisissa tapauksissa optio --best antaa huonomman pakkaussuhteen kuin oletustaso (-6). Joissakin merkityksettömissä tapauksissa compress pakkaa paremmin kuin gzip.

KATSO MYÖS

znew(1) zcmp(1) zmore(1) zforce(1) gzexe(1) zip(1) unzip(1) compress(1) pack(1) compact(1)