Zcat - Linux Command - Unix-komento

Nimi

gzip, gunzip, zcat - pakkaa tai laajenna tiedostoja

tiivistelmä

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

Kuvaus

Gzip vähentää nimettyjen tiedostojen kokoa käyttämällä Lempel-Ziv-koodausta (LZ77). Aina kun mahdollista, jokainen tiedosto korvataan yhdellä, laajennuksella .gz säilyttäen samalla omistusmuodot, pääsy ja muutokset. (Oletuslaajennus on -gz VMS, z MSDOS, OS / 2 FAT, Windows NT FAT ja Atari.) Jos tiedostoja ei ole määritetty tai jos tiedoston nimi on "-", vakiotulo pakotetaan standardiin ulostulo. Gzip yrittää vain pakata säännöllisiä tiedostoja. Erityisesti se sivuuttaa symboliset linkit.

Jos pakattu tiedostonimi on liian pitkä tiedostojärjestelmäänsä, gzip katkaisee sen. Gzip yrittää katkaista vain tiedostonimen, joka on pidempi kuin 3 merkkiä. (Osa rajataan pisteillä.) Jos nimi muodostuu vain pienistä osista, pisin osat katkaistaan. Jos tiedostonimet on rajoitettu 14 merkiksi, gzip.msdos.exe pakataan gzi.msd.exe.gz.ksi. Nimeä ei katkaista järjestelmissä, joilla ei ole tiedostonimen pituuden rajaa.

Oletuksena gzip pitää alkuperäisen tiedoston nimen ja aikaleiman pakatussa tiedostossa. Näitä käytetään purettaessa tiedoston N- vaihtoehdolla. Tämä on hyödyllistä, kun kompressoidun tiedoston nimi on katkaistu tai kun aikaleima ei säilynyt tiedostonsiirron jälkeen.

Pakkaamattomat tiedostot voidaan palauttaa alkuperäiseen muotoon käyttämällä gzip -d tai gunzip tai zcat. Jos kompressoituun tiedostoon tallennetun alkuperäisen nimen ei ole sopiva tiedostojärjestelmäänsä, alkuperäisestä tiedostosta syntyy uusi nimi, jotta se olisi laillista.

gunzip ottaa luettelon tiedoista komentorivinsa ja korvaa jokaisen tiedoston, jonka nimi päättyy .gz, -gz, .z, -z, _z tai .Z ja joka alkaa oikealla magianumerolla kompressoimattomalla tiedostolla ilman alkuperäistä laajennusta . gunzip tunnistaa myös erityiset laajennukset .tgz ja .taz, kuten .tar.gz: n ja .tar.Z: n lyhenteet . Kun pakataan, gzip käyttää .tgz- laajennusta tarvittaessa sen sijaan, että se katkaisi .tar- laajennuksen.

gunzip voi tällä hetkellä purkaa tiedostoja, jotka ovat luoneet gzip, zip, compress, compress -H tai pack. Tulomuodon havaitseminen on automaattista. Kun käytät kahta ensimmäistä formaattia, gunzip tarkistaa 32-bittisen CRC: n. Pakkauksessa gunzip tarkistaa pakkaamattoman pituuden. Tavallinen pakkausmuoto ei ole suunniteltu yhdenmukaisuuden tarkastamiseksi. Kuitenkin gunzip voi joskus havaita huono .Z-tiedosto. Jos saat virheen purettaessa .Z-tiedostoa , älä oleta, että .Z-tiedosto on oikea, koska standardi purkaminen ei valittaa. Tämä tarkoittaa yleensä sitä, että standardi purkaminen ei tarkista panostaan ​​ja luo onnellisesti roskatulostuksen. SCO-pakkaus -H-muoto (lzh-pakkausmenetelmä) ei sisällä CRC: ää, mutta sallii myös jonkin verran yhdenmukaisuutta.

Gzip voi purkaa zip: n luomia tiedostoja vain, jos niillä on yksi jäsen pakattu "deflaatio" -menetelmällä. Tämä ominaisuus on tarkoitettu ainoastaan ​​tar.zip-tiedostojen muuntamiseen tar.gz -muotoon. Jos haluat purkaa zip-tiedostoja useilta jäseniltä, ​​käytä zip-tiedostoa gunzipin sijaan .

zcat on identtinen gunzip -c: n kanssa. (Joissakin järjestelmissä zcat voidaan asentaa gzpatiksi säilyttääksesi alkuperäisen linkin pakkaamaan.) Zcat purkaa komennon komentorivin tai sen standardipäätteen tiedostot ja kirjoittaa kompressoimattoman datan standardituotoksesta. zcat purkaa tiedostot, joilla on oikea taikuusnumero, onko niillä .gz- jälkipide vai ei.

Gzip käyttää Lempel-Ziv-algoritmia, jota käytetään zip: ssä ja PKZIP: ssä. Saadun puristuksen määrä riippuu syötteen koosta ja yhteisten substraattien jakautumisesta. Tyypillisesti tekstiä, kuten lähdekoodia tai englantia, vähennetään 60-70%. Pakkaus on yleensä paljon parempi kuin LZW: n saavuttama (kuten puristuksessa käytetty), Huffman-koodaus ( pakkauksessa käytetty) tai mukautuva Huffman-koodaus ( kompakti ).

Pakkaus suoritetaan aina, vaikka pakattu tiedosto olisikin hieman suurempi kuin alkuperäinen. Pahimmassa tapauksessa laajennus on muutamia tavuja gzip-tiedoston otsikossa, plus 5 tavua jokaisessa 32K-lohkossa tai laajennussuhde 0,015% suurille tiedostoille. Huomaa, että käytettyjen levylevyjen todellinen määrä ei lähes koskaan kasva. gzip säilyttää tiedostojen tilan, omistajuuden ja aikaleimat, kun se pakkaa tai purkaa.

VAIHTOEHDOT

-a -ascii

Ascii-tekstimuoto: muuntaa päätteet linjoilla käyttäen paikallisia käytäntöjä. Tätä vaihtoehtoa tuetaan vain tietyissä ei-Unix-järjestelmissä. MSDOS: lle CR LF muunnetaan LF: ksi puristettaessa ja LF muunnetaan CR LF: ään dekompressoimalla.

-c --stdout - to-stdout

Kirjoita lähtö standardilähtöön; pitää alkuperäiset tiedostot ennallaan. Jos on useita syöttötiedostoja, lähtö koostuu itsenäisesti puristettujen jäsenten sekvenssistä. Saadaksesi paremman pakkauksen ketjuttaa kaikki syöttötiedostot ennen niiden pakkaamista.

-d - kompressointi

Pura.

-f --force

Pakota tai purkaa, vaikka tiedostossa on useita linkkejä tai vastaava tiedosto on jo olemassa tai pakattu tieto luetaan tai kirjoitetaan päätelaitteelle. Jos syöttötieto ei ole gzip: n tunnistamassa muodossa , ja jos option --stdout annetaan myös, kopioi syöttötiedot muuttamatta standardia ouput: anna zcat käyttäytyä kissana. Jos -f ei ole annettu ja kun se ei ole käynnissä taustalla, gzip kehottaa tarkistamaan, onko olemassa oleva tiedosto ylikirjoitettava.

-h --ohjeet

Näytä apuvalikko ja lopeta.

- -lista

Määritä jokaiselle pakatulle tiedostolle seuraavat kentät:


pakattu koko: kompressoidun tiedoston koko
kompressoimaton koko: kompressoimattoman tiedoston koko
suhde: puristussuhde (0,0% jos tuntematon)
uncompressed_name: kompressoimattoman tiedoston nimi

Pakkaamaton koko annetaan -1-tiedostona, jotka eivät ole gzip-muodossa, kuten pakatut .Z-tiedostot. Tällaisen tiedoston pakkaamattoman koon saamiseksi voit käyttää:


zcat file.Z | wc -c

Yhdessä --verbose-vaihtoehdon kanssa näkyvät myös seuraavat kentät:


menetelmä: pakkausmenetelmä
crc: kompressoimattoman datan 32-bittinen CRC
päivämäärä ja aika: kompressoimattoman tiedoston aikaleima

Tällä hetkellä tuetut pakkaustekniikat ovat tyhjentynyt, pakattu, lzh (SCO compress-H) ja pakkaus. Crc annetaan ffffffff-tiedostona, joka ei ole gzip-muodossa.

Kansion kanssa, kompressoimaton nimi, päivämäärä ja kellonaika ovat ne, jotka on tallennettu pakkaustiedostoon, jos se on läsnä.

Kanssa --verbose, koko koko ja pakkaussuhde kaikkien tiedostojen myös näytetään, ellei jotkin koot ovat tuntemattomia. With --quiet, otsikko ja kokonaissarjat eivät näy.

-L - lisenssi

Näytä gzip- lisenssi ja lopeta.

-n --nimi

Kun pakkaat, älä tallenna alkuperäistä tiedostonimeä ja aikaleimaa oletuksena. (Alkuperäinen nimi tallennetaan aina, jos nimi on katkaistu.) Kun purkaa, älä palauta alkuperäisen tiedoston nimeä, jos se on läsnä (poista vain gzip- jälkipakkaus kompressoidusta tiedostonimestä) eikä palauta alkuperäistä aikaleimaa, jos se on olemassa (kopioi se pakatusta tiedostosta). Tämä vaihtoehto on oletusarvo purettaessa.

-N -nimi

Kun pakkaat, säilytä aina alkuperäinen tiedostonimi ja aikaleima; tämä on oletusarvo. Kun purkaa, palauta alkuperäisen tiedoston nimi ja aikaleima, jos se on läsnä. Tämä vaihtoehto on hyödyllinen järjestelmissä, joilla on rajoitettu tiedostonimen pituus tai kun aikaleima on menetetty tiedostonsiirron jälkeen.

-q - hiljainen

Poista kaikki varoitukset.

-r --recursive

Matkustaa hakemistorakenne rekursiivisesti. Jos jokin komentorivillä määritetyistä tiedostonimistä on hakemistoja, gzip laskeutuu hakemistoon ja pakkaa kaikki siellä löydetyt tiedostot (tai purkaa ne gunzipin tapauksessa).

-S .suf --suffix .suf

Käytä .gz: n sijasta .suf-merkkiä. Jokainen loppuliite voidaan antaa, mutta muita kuin .z- ja .gz-välilehdet on vältettävä sekaannusten välttämiseksi, kun tiedostoja siirretään muihin järjestelmiin. Nollan jälkijoukko pakottaa gunzipin kokeilemaan dekompressiota kaikilla annettuilla tiedostoilla loppupäästä riippumatta, kuten:


gunzip -S "" * (*. * MSDOSille)

Gzipin aiemmat versiot käyttivät .z-suffiksia. Tätä muutettiin, jotta vältyttäisiin ristiriidasta pakkauksen kanssa (1).

-t - testi

Testata. Tarkista pakattujen tiedostojen eheys.

-v - verbose

Monisanainen. Näytä jokaisen pakatun tai puretun tiedoston nimi ja prosentuaalinen vähennys.

-V --versio

Versio. Näytä versionumero ja kokoamisen asetukset ja lopeta sitten.

- # - kiitos

Säädä puristusnopeus määritellyllä numerolla # , jossa -1 tai - nopeus ilmaisee nopeimman puristusmenetelmän (vähemmän pakkausta) ja -9 tai - paras ilmaisee hitaimman puristusmenetelmän (paras puristus). Oletuskompressiotaso on -6 (eli puolueellinen kohti suurta puristusta nopeuden kustannuksella).

Kehittynyt käyttö

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


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

Sitten


gunzip -c foo

vastaa


kissa tiedosto1 tiedosto2

Jos gg-tiedoston jäsenelle aiheutuu vahinkoa, muita jäseniä voidaan vielä palauttaa (jos vaurioitunut jäsen poistetaan). Voit kuitenkin saada paremman pakkauksen puristamalla kaikki jäsenet kerralla:


cat file1 file2 | gzip> foo.gz

pakkaa paremmin kuin


gzip -c tiedosto1 tiedosto2> foo.gz

Jos haluat tiivistää ketjutettuja tiedostoja paremman pakkauksen tekemiseksi, toimi seuraavasti:


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

Jos pakattu tiedosto koostuu useista jäsenistä, --list -vaihtoehdolla ilmoitettu pakkaamaton koko ja CRC koskee vain viimeistä jäsentä. Jos tarvitset kompressoimattoman kokoa kaikille jäsenille, voit käyttää:


gzip -cd file.gz | wc -c

Jos haluat luoda yhden arkistotiedoston, jossa on useita jäseniä, jotta jäsenet voidaan myöhemmin irrottaa itsenäisesti, käytä arkistointia, kuten tar tai zip. GNU- tar tukee -z-vaihtoehtoa kutsua gzip avoimesti. gzip on suunniteltu täydentämään tervaa eikä korvaavaa.

KATSO MYÖS

pakkaa (1)

Gzip- tiedostomuoto on määritelty P. Deutsch, GZIP-tiedostomuodon määrityksessä 4.3, , Internet RFC 1952 (toukokuu 1996). Zip- deflaation muoto on määritelty P. Deutsch, DEFLATE Compressed Data Format Specification -versiossa 1.3, , Internet RFC 1951 (toukokuu 1996).

Tärkeää: Käytä man- komentoa ( % man ) nähdäksesi kuinka komentoa käytetään tietyssä tietokoneessa.