Zcat - ukaz Linux - ukaz Unix

Ime

gzip, gunzip, zcat - stiskanje ali razširitev datotek

Povzetek

gzip [ -acdfhlLnNrtvV19 ] [ -S priponka ] [ ime ... ]
gunzip [ -acfhlLnNrtvV ] [ -S priponka ] [ ime ... ]
zcat [ -fhLV ] [ ime ... ]

Opis

Gzip zmanjša velikost imenovanih datotek z uporabo kodiranja Lempel-Ziv (LZ77). Kadarkoli je to mogoče, se vsaka datoteka nadomesti z eno z razširitvijo .gz , pri tem pa ohranja iste lastnosti, čas dostopa in spremembe. (Privzeta razširitev je -gz za VMS, z za MSDOS, OS / 2 FAT, Windows NT FAT in Atari.) Če datoteke niso podane ali če je ime datoteke "-", se standardni vhod stisne na standardni izhod. Gzip bo skušal stisniti samo navadne datoteke. Zlasti bo ignoriral simbolične povezave.

Če je stisnjeno ime datoteke predolgo za njegov datotečni sistem, ga gzip skrajša. Gzip skuša skrinjati le dele imena datoteke, daljše od 3 znakov. (Del je razmejen s pikami.) Če je ime sestavljeno le iz majhnih delov, so najdaljši deli prisekani. Če je na primer imena datotek omejena na 14 znakov, se gzip.msdos.exe stisne na gzi.msd.exe.gz. Imena niso skrajšana na sistemih, ki nimajo omejitve glede dolžine imena datoteke.

Privzeto gzip hrani izvorno ime datoteke in časovni žig v stisnjeni datoteki. Te se uporabljajo pri dekompresiranju datoteke z opcijo -N . To je uporabno, če je bilo stisnjeno ime datoteke skrajšano ali ko časovni žig ni bil shranjen po prenosu datoteke.

Stisnjene datoteke lahko obnovite v izvirno obliko z uporabo gzip-d ali gunzip ali zcat. Če izvirno ime, shranjeno v stisnjeni datoteki, ni primerno za njegov datotečni sistem, je novo ime zgrajeno iz prvotnega, da bi bilo pravno.

gunzip v svoji ukazni vrstici vzame seznam datotek in nadomesti vsako datoteko, katere ime se konča z .gz, -gz, .z, -z, _z ali .Z in ki se začne s pravilnim magičnim številom z nestisnjeno datoteko brez prvotne razširitve . gunzip prepozna posebne razširitve .tgz in .taz kot skrajšave za .tar.gz in .tar.Z . Pri stiskanju gzip uporablja razširitev .tgz, če je potrebno, namesto da skrajša datoteko z razširitvijo .tar .

gunzip lahko trenutno dekompresira datoteke, ki jih ustvarijo gzip, zip, stiskanje, stiskanje -H ali pakiranje. Odkrivanje vhodnega formata je samodejno. Pri uporabi prvih dveh formatov, gunzip preveri 32-bitni CRC. Za pakiranje, gunzip preveri nestisnjeno dolžino. Standardni format stiskanja ni bil zasnovan tako, da omogoča preverjanje skladnosti. Vendar pa je gunzip včasih zmožen zaznati slabo datoteko .Z. Če pride do napake pri razširitvi datoteke .Z , ne predpostavljajte, da je datoteka .Z pravilna preprosto zato, ker se standardni raztegni ne pritožuje. To na splošno pomeni, da standardni dekompresor ne preveri njegovega vnosa in srečno ustvari smeti. Format SCO-H (metoda kompresije lzh) ne vključuje CRC-ja, ampak omogoča tudi nekaj preverjanj doslednosti.

Datoteke, ki jih ustvari zip, lahko gzip unzpressira samo, če imajo en sam član stisnjen z metodo "deflacije". Ta funkcija je namenjena samo za pomoč pri pretvorbi tar.zip datotek v format tar.gz. Če želite izpisati zip datoteke z več člani, uporabite Unzip namesto gunzip.

zcat je identičen z gunzip -c. (V nekaterih sistemih se zcat lahko namesti kot gzcat, da se ohrani prvotna povezava za stiskanje.) Zcat uncompresses seznam datotek v ukazni vrstici ali njegov standardni vhod in zapisuje nestisnjene podatke na standardni izhod. zcat bo raztegnil datoteke, ki imajo pravilno čarobno številko, ali imajo pripono .gz ali ne.

Gzip uporablja algoritem Lempel-Živ, ki se uporablja v zipu in PKZIP. Količina pridobljene kompresije je odvisna od velikosti vnosa in razporeditve skupnih podstav. Značilno je, da se besedilo, kot sta izvorna koda ali angleščina, zmanjša za 60-70%. Stiskanje je na splošno veliko boljše od tistega, ki ga doseže LZW (kot se uporablja v stiskanju ), Huffman kodiranje (kot se uporablja v paketu ) ali adaptivno Huffman kodiranje ( kompakten ).

Stiskanje se vedno izvaja, tudi če je stisnjena datoteka nekoliko večja od izvirnika. Razširitev najslabšega primera je nekaj bajtov za glava gzip datoteke, plus 5 bajtov vsak blok 32K ali širitev 0,015% za velike datoteke. Upoštevajte, da se dejansko število uporabljenih diskovnih blokov skoraj nikoli ne poveča. gzip ohranja način, lastništvo in časovne oznake datotek pri stiskanju ali dekompresiranju.

OPCIJE

-a -ascii

Ascii način besedila: pretvorite konce vrstic z uporabo lokalnih konvencij. Ta možnost je podprta le na nekaterih sistemih, ki niso Unix. Za MSDOS se CR LF pri stiskanju pretvori v LF in se LF pretvori v CR LF pri razširitvi.

-c - stdout - za-stdout

Napišite izhod na standardnem izhodu; originalne datoteke hranite nespremenjene. Če obstaja več vhodnih datotek, je izhod sestavljen iz zaporedja neodvisno stisnjenih članov. Da bi dosegli boljšo stiskanje, združite vse vhodne datoteke, preden jih stisnete.

-d -decompress - uncompress

Razporej.

-f - moč

Prisilite stiskanje ali dekompresijo, tudi če ima datoteka več povezav ali ustrezna datoteka že obstaja ali če stisnjene podatke berete ali jih zapisujete v terminal. Če vhodni podatki niso v obliki, ki jo prepozna gzip, in če je podana tudi možnost -stdout, kopirajte vhodne podatke brez spremembe na standardni način: pustite, da se zcat obnaša kot mačka. Če -f ni podan in če se ne izvaja v ozadju, gzip prosi, da preveri, ali je treba obstoječo datoteko prepišati.

-h - pomoč

Prikažite zaslon za pomoč in zaprite.

-l - seznam

Za vsako stisnjeno datoteko navedite naslednja polja:


stisnjena velikost: velikost stisnjene datoteke
nestisnjena velikost: velikost nestisnjene datoteke
razmerje: razmerje stiskanja (0,0%, če je neznano)
uncompressed_name: ime nestisnjene datoteke

Nekompresirana velikost je podana kot -1 za datoteke, ki niso v gzip formatu, na primer stisnjene .Z datoteke. Za pridobitev nestisnjene velikosti za takšno datoteko lahko uporabite:


zcat file.Z | wc -c

V kombinaciji z možnostjo --verbose so prikazana tudi naslednja polja:


metoda stiskanja
crc: 32-bitni CRC nestisnjenih podatkov
datum in čas: časovni žig za nestisnjeno datoteko

Trenutno podprta stiskalna metoda sta deflacija, stiskanje, lzh (SCO compress-H) in pakiranje. Crc je podan kot ffffffff za datoteko, ki ni v gzip formatu.

Pri --name so nestisnjeno ime, datum in ura tiste, ki so shranjene v datoteki stiskanja, če so prisotne.

Pri --verbose se prikažejo tudi vsota velikosti in stiskanje vseh datotek, razen če nekatere velikosti niso znane. Z --quiet, vrstice naslova in vsote niso prikazane.

-L - licenco

Prikažite licenco gzip in zaprite.

-n - ne-ime

Pri stiskanju ne shranjujte izvirnega imena datoteke in časovnega žiga privzeto. (Izvirno ime se vedno shrani, če bi bilo treba ime okrniti.) Pri dekompresiranju ne obnovite izvirnega imena datoteke, če je prisoten (odstranite samo pripono gzip iz imena stisnjene datoteke) in ne obnovite prvotnega časovnega žiga, če je prisoten (kopirajte iz stisnjene datoteke). Ta možnost je privzeta pri dekompresiranju.

-N-ime

Pri stiskanju vedno shranite izvirno ime datoteke in časovni žig; to je privzeto. Pri dekompresiranju obnovite izvorno ime datoteke in časovni žig, če je prisoten. Ta možnost je uporabna za sisteme, ki imajo omejitev dolžine imena datoteke ali ko je po prenosu datoteke izgubljen časovni žig.

-q - vprašanje

Preprečite vsa opozorila.

-r - rekurzivno

Organizirajte strukturo imenikov rekurzivno. Če so imena imen datotek v ukazni vrstici imeniki, se gzip spusti v imenik in stisne vse datoteke, ki jih tam najde (ali jih razdružite v primeru gunzipa ).

-S .suf -suffix .suf

Uporabite pripono .suf namesto .gz. Vsako pripono je mogoče dati, vendar se je treba izogibati prepotrebnim, razen .z in .gz, da bi se izognili zmedi, ko se datoteke prenesejo na druge sisteme. Nična končnica prinaša gunzip, da poskusi dekompresijo za vse datoteke, ne glede na pripone, kot v:


gunzip -S "" * (*. * za MSDOS)

Prejšnje različice gzipa so uporabile pripono .z. To je bilo spremenjeno, da bi se izognili konfliktu s paketom (1).

-t - test

Test. Preverite celovitost stisnjene datoteke.

-v - glagol

Verbose. Prikazati ime in odstotek zmanjšanja za vsako datoteko stisnjeno ali dekompresirano.

-V - različica

Različica. Prikaži številko različice in možnosti za urejanje, nato pa zaprite.

- # - hitro - najboljše

Regulirajte hitrost stiskanja z uporabo določene števke # , pri čemer -1 ali -fast označuje najhitrejšo stiskanje (manj stiskanja) in -9 ali -best označuje najmanjšo metodo stiskanja (najboljša stiskanja). Privzeta stopnja stiskanja je -6 (to je pristransko proti visokemu stiskanju na račun hitrosti).

Napredna uporaba

Več stisnjenih datotek je mogoče združiti. V tem primeru bo gunzip izvlekel vse člane hkrati. Na primer:


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

Potem


gunzip -c foo

je enakovreden


cat file1 file2

V primeru poškodbe enega člana datoteke .gz se lahko še vedno vrnejo drugi člani (če je odstranjen poškodovan član). Vendar lahko dobite boljšo stiskanje s stiskanjem vseh članov hkrati:


datoteka cat1 file2 | gzip> foo.gz

stisne bolje kot


gzip -c file1 file2> foo.gz

Če želite ponovno združiti združene datoteke, da bi dobili boljšo stiskanje, storite naslednje:


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

Če stisnjeno datoteko sestavlja več članov, je nestranska velikost in CRC, o katerih poroča opcija --list, velja samo za zadnjega člana. Če potrebujete nestisnjeno velikost za vse člane, lahko uporabite:


gzip -cd file.gz | wc -c

Če želite ustvariti eno samo arhivsko datoteko z več člani, tako da bodo člani kasneje lahko izvlečeni neodvisno, uporabite arhivar, kot je tar ali zip. GNU tar podpira možnost -z, da pregledno prosi gzip. gzip je zasnovan kot dopolnilo k katranu , ne kot zamenjava.

POGLEJ TUDI

stiskanje (1)

Format datoteke gzip je podan v različici 4.3, , internetni RFC 1952 (maj 1996) v jeziku P. Deutsch, GZIP. Format za deflacioniranje zip je podan v P. Deutsch, DEFLATE Compressed Data Format Specifikacija različice 1.3, , Internet RFC 1951 (maj 1996).

Pomembno: Uporabite ukaz man ( % man ), da vidite, kako se na vašem računalniku uporablja ukaz.