Timo Kinnunen
Särkiniementie 16 A 41
70700 Kuopio
Finland

Klikkaa tästä palataksesi takaisin Timon Serverimaailma etusivulle - Click here to return back to the front page of Timos' Serverimaailma homesite

Klikkaa tästä palataksesi takaisin Timon suomenkielisten DOS ja OS/2-oppaiden valintasivulle - Click this link to Return back to The Page of Timo's Finnish DOS and OS/2 manuals

Klikkaa tästä palataksesi takaisin sivulle Tietoo - Click this link to Return back to the page of Information

Zip21 ja Unzipsfx Opas

6.3.1998

28.7.2017

Yleistä: ZIP 2.1

Tässä oppaassa esitellään kaksi pääasiassa OS/2:ssa ja Unixeissa käytetävää ohjelmaa, jotka liittyvät toiminnallisesti toisiinsa. Toisella luodaan arkistoja, ja toisella niistä tehdään itsepurkautuvia. Näille vastakkaisesti toimiva Unzip- ohjelma esitellään erikseen toisaalla. Nämä oppaat on vedostettu aiemmin tekemistäni EXE -muotoisista oppaista. Kaikki nämä ohjelmat ovat saman ohjelmaperheen jäseniä. Tässä yhteydessä on myös syytä mainita näiden kanssa täydellisesti yhteensopiva "Front End" -ohjelma InfoZip Shell, jonka viimeisessä, ja vapaasti korvauksetta saatavassa versiossa on sisäänrakennettuna Unzip -ohjelma, ja tämä "Front End" ohjelma tekee arkistoja täsmälleen samalla tavalla kuin Zip 2.1, mutta myös purkaa niitä. En ota tästä käännöksestäni mitään korvausta siitä yksinkertaisesta syystä, että nämä esitellyt ohjelmat ovat ilmaisia. Missään ei ole erikseen kielletty oppaiden suomentamista.

ZIP 2.1 OHJELMAN TEKIJÄT

Tekijänoikeus (C) 1990-1996 Mark Adler, Richard B. Wales, Jean-loup Gailly, Onno van der Linden, Kai Uwe Rommel, Igor Mandrichenko, John Bush ja Paul Kienitz.

NIINKUIN KAIKKI VAPAASTI SAATAVA, ZIP JA KAIKKI SIIHEN LIITTYVÄT SOVELLUKSET JAETAAN "NIINKUIN NE OVAT" -TILASSA, JA NIIHIN EI SISÄLLY VALMISTAJAN TAHOLTA MITÄÄN SITOUMUKSIA, JA NIINPÄ VALMISTAJA EI OLE VASTUUSSA MAHDOLLISISTA VAURIOISTA JOITA OHJELMAN KÄYTÖSTÄ VOI SEURATA. SAMA PÄTEE MYÖS TÄHÄN SUOMENNOKSEEN, VAIKKA OLENKIN PYRKINYT TEKEMÄÄN SEN KANSSA MAHDOLLISIMMAN TARKKAA TYÖTÄ.

Zip (ja Unzip): usein kysyttyä:

K. Saan purkaessa virheilmoituksen "compression method 8".

V. Hanki viimeisin unzip-versio.

K. En voi purkaa zip-tiedostoa, vaan saan viestin: "zipfile is part of multi-disk archive" tai jonkin muun viestin.

V. Varmistu siitä, että teit siirron binaarimuodossa, ja varmistu siitä, että kopiosi koko on sama kuin alkuperäisen tiedoston.

K. Kun ajan unzip-ohjelmaa, saan viestin: "End-of-central-directory signature not found".

V. Tavallisesti tämä merkitsee sitä, että zip-tiedosto on vahingoittunut, tai että sinulla on kompressoimaton samannniminen tiedosto samassa hakemistossa. Jälkimmäisessä tapauksessa komento voidaan antaa muodossa:

unzip zipfile.zip

ZIP 2.1 Kuvaus

Zip on kompressointi ja tiedostonpakkaussovellus järjestelmille Unix, VMS, MSDOS, OS/2, Windows NT, Minix, Atari ja Macintosh. Se on analoginen UNIX komentojen tar(1) ja compress(1) -kombinaatioille, ja yhteensopiva PKzip -ohjelman kanssa (Phil Katzin ZIP, joka on tehty MSDOS -järjestelmää varten). PKzip ohjelmasta on tehty OS/2 versio PKzip 2.50, jonka optiot eroavat DOS -versiosta sioinä, että käytetään kokonaisia sanoja, kuten "extract", mutta muutoin sekä OS/2 -että DOS -versiot ovat yhteensopivat. Zip 2.1 sisältää useita optioita, joita voi käyttää vain mm. Unix tai VMS järjestelmissä. Tästä syystä optioita tulee käyttää harkiten, ja huomioiden yhteensopivuusongelmat eri järjestelmien välillä. Purkamisessa voi käyttää OS/2 PM "front-end" -sovellusta ZIP -tiedostoja varten, koska siinä on käytetty samaa skeemaa kuin Unzip -ohjelmassa, joka on tavallaan sisäänrakennettu tähän Shell-ohjelmaan. Ellei halua käyttää juuri tätä helppoa tapaa, on käytettävissä irrallinen Zip -ohjelman rinnakkaisohjelma (unzip(1L)), joka purkaa zip -arkistoja. Sekä Zip -että Unzip(1L) -ohjelmat voivat työskennellä arkistojen kanssa, jotka on tehty ohjelmalla PKzip, ja sekä PKzip -että PKunzip voivat vastavuoroisesti työskennellä arkistoilla, jotka on tehty Zip -ohjelmalla. Siten Zip 2.1 -ohjelma on yhteensopiva Pkzip 2.04g:n kanssa. Huomaa kuitenkin, että PKunzip 1.10 ei voi purkaa tiedostoja, jotka on tehty ohjelmilla Pkzip 2.04g tai Zip 2.1. Näillä ohjelmilla tehtyjä arkistoja puretaan joko ohjelmalla Pkunzip 2.04g tai Unzip 5.0p1 (tai uudemmalla).

Kuinka saan tietoa Zip- ja Unzip ohjelmien kytkimistä?

Saadaksesi lyhyen esityksen siitä kuinka käytät Zip- ja Unzip -ohjelmia kirjoita ohjelman nimi ilman mitään parametreja OS/2 -komentorivillä, ja paina ENTER.

NIMI

zip, zipcloak, zipnote, zipsplit - arkistotiedostojen pakkaus ja kompressointi.

SYNOPSIS

zip [-AcdDeEfFghjklLmoqrSTuvVwXyz @ $ ] [-b polku] [-n suffixes] [-t mmddyy][ziptiedosto [ tiedosto1 tiedosto2 ...]] [-xi luettelo]
zipcloak [-dhL] [-b polku] ziptiedosto
zipnote [-hwL] [-b polku] ziptiedosto
zipsplit [-hiLpst] [-n koko] [-b polku] ziptiedosto

Ohjelma on käyttökelpoinen tiedostojoukon pakkaukseen jakelua varten; tiedostojen arkistointiin; ja levytilan säästämiseksi kompressoimalla käyttämättömiä tiedostoja tai hakemistoja. Zip -ohjelma panee yhden, tai useamman tiivistetyn tiedoston yhteen arkistotiedostoon, jossa on tiedot tiedostojen nimistä, polkumääritykistä, päiväyksestä, ja viimeisestä muokkauspäivämäärästä, ja tarkistusinformaatio tiedoston yhtenäisyyden tarkistamiseksi. Kokonainen hakemistorakenne voidaan pakata yhteen tiedostoarkistoon käyttäen yhtä ainutta komentoa. Tiivistyssuhde 2:1:stä 3:1:een on tavallinen tekstitiedostoilla. Huomaa, että pakkausohjelman täytyy tukea tiedostojärjestelmän nimeämiskäytäntöä. Jos haluat pakata esimerkiksi Windows 95 järjestelmän pitkiä hakemisto- ja tiedostonimiä, ja palauttaa ne onnistuneesti takaisin, täytyy sinun käyttää WinZip 6.2 -pakkeria, tai uudempaa. Monet tälle järjestelmälle suunnitellut asennusohjelmat sisältävät jo monasti tällaista informaatiota, ja sellaista ei voi käsitellä esimerkiksi PKzip 2.04g ohjelmalla ilman tiettyjä varmistuksia. Jos kuitenkin pitkien hakemisto, ja tiedostonimien informaatio tallennetaan erikseen otokseen poimituista hakemistoista esimerkiksi Doslfnbk.EXE ohjelmalla, ja sen luoma arkisto liitetään mukaan luotavaan ZIP -arkistoon, ja kohdejärjestelmässä ei ole ennestään tällaisia hakemisto- ja tieodstorakenteita, voidaan siellä palauttaa kaikki tarvittava informaatio käyttämällä Pkzip 2.04g ja Doslfnbk.EXE ohjelmia, kun käyttää järkeä ja päättelyä. Kohdejärjestelmänkin on tietysti oltava Windows 95. Zip -ohjelmalla on yksi tiivistysmetodi (deflation), ja se voi pakata tiedostoja myös ilman tiivistystä. Zip valitsee näistä vaihtoehdoista parhaimman automaattisesti. Jos annetaan jonkin jo olemassaolevan arkistotiedoston nimi, Zip kirjoittaa samannimisten tiedostojen päälle, ja lisää arkistoon ne tiedostot, joita siellä ei vielä ole. Jos esimerkiksi "foo.zip" on jo olemassa, ja sisältää foo/tiedosto1 ja foo/tiedosto2, ja hakemisto foo sisältää myös tiedostot foo/tiedosto1 ja foo/tiedosto2, niin komento: zip -r foo foo - korvaa tiedoston foo/tiedosto1 "foo.zip" -arkistotiedostossa, ja lisää siihen tiedoston foo/tiedosto3. Niinpä "foo.zip" sisältääkin tiedostot foo/tiedosto1, foo/tiedosto2 ja foo/tiedosto3, joista ainoastaan tiedosto foo/tiedosto2 on säilynyt täysin koskemattomana. Jos tiedostoluettelo on spesifioutu "-@", ottaa Zip luettelon syötetyistä tiedostoista standardista syötöstä. UNIXissa tätä optiota voidaan käyttää konjuktiossa find(1) komennon kanssa. Esimerkiksi kun arkistoidaan kaikki C -lähdetiedostot oletushakemistossa, ja sen alihakemistoissa, annetaan komento: find . -name "*.[ch]" -print | zip source -@ - (huomaa, että malli täytyy erottaa lainausmerkein, jotta shell ei laajenna sitä). Zip hyväksyy myös yksinkertaisen "-" -merkin tiedoston nimeksi, jossa tapauksessa se kirjoittaa zip-tiedoston standardiin tulostukseen, ja sallii tulostuksen jonotuksen toiseen ohjelmaan. Esimerkiksi komento: zip -r - . | dd of=/dev/nrst0 obs=16k - aiheuttaa sen, että Zip ohjaa tulostuksen suoraan nauhalle niin, että blokkikoko on spesifioitu niin, että varmuus- kopioidaan oletushakemisto. Zip hyväksyy "-" -merkin myös tiivistettävän tiedoston nimeksi, jossa tapauksessa ohjelma lukee tiedoston standardissa syötössä, ja sallii Zip-ohjelman ottaa syötön toisesta ohjelmasta.

Esimerkiksi komento:

tar cf - . | zip backup -

tiivistäisi tar-komennon tulostuksen jos pakataan oletus- hakemistoa. Tämä tuottaa paremman tiivistyksen kuin edellisessä esimerkissä käytettäessä -r optiota, koska Zip voi huomioida tiedostojen välisen redundanssin. Varmuuskopio voidaan palauttaa käyttäen komentoa:

unzip -p backup | tar xf -

Kun mitään zp-tiedostonimeä ei anneta, ja stdout ei ole pääte, Zip toimii suodattimena, tiivistäen standardin syötön standardiksi tulostukseksi.

Esimerkiksi:

tar cf - . | zip | dd of=/dev/nrst0 obs=16k

on sama kuin:

tar cf - . | zip - - | dd of=/dev/nrst0 obs=16k

Zip-arkistot, jotka on luotu tällä tavoin voidaan purkaa Funzip-ohjelmalla, joka on osa unzip-ohjelmapakettia, tai Gunzip-ohjelmalla, joka taas on osa gzip-pakettia.

Esimerkiksi:

dd if=/dev/nrst0 ibs=16k | funzip | tar xvf -

Kun muutetaan olemassaolevaa zip-arkistoa, Zip-ohjelma kirjoittaa väliaikaisen tiedoston jossa on uusi sisältö, ja korvaa sillä vanhan vasta kun uuden version luonti on päätetty virheettömästi. Jos zip-arkistotiedoston nimessä ei anneta tarkennetta, lisätään .zip -tarkenne automaattisesti. Mikäli tiedostossa on jo jokin muu tarkenne kuin .zip, pidetään se muuttumattomana.

ZIP 2.1 OPTIOT

-A

Säätää itsepurkautuvaa ajettavaa tiedostoa, joka tehdään lisäämällä olemassaolevaan arkistotiedostoon SFX-osa, joka suorittaa purkamisen niin, että arkistoon tallennetut "arkistojäsen-offsetit" huomioivat tämän arkistoon lisätyn datan.

-b polku

Käyttää määriteltyä polkua (hakemistoa) tilapäisille zip-arkistoille, esimerkiksi:

zip -b /tmp stuff *

Asettaa tilapäiset arkistot hakemistoon '/tmp' ja kopioi ne sieltä 'stuff.zip' tiedoston päälle työhakemistoon kun tämä on tehty. Tämä optio on hyödyllinen vain silloin kun päivitetään jotakin jo olemassaolevaa arkistoa, ja jos siinä tiedostojärjestelmässä, joka sisältää vanhan arkiston ei ole riittävästi tilaa säilyttää yhtäaikaisesti sekä vanhaa että uutta arkistoa.

-c

Lisää yksirivisen kommentin jokaiseen arkiston tiedostoon. Sellaiset tiedosto-operaatiot, kuten 'lisäys' ja 'päivitys' tehdään ensin, ja senjälkeen käyttäjää pyydetään lisäämään yhden rivin kommentin jokaiseen tiedostoon. Jos syötät tekstiä, ja painat senjälkeen "Enter" näppäintä, lisäät kommentin, mutta jos et syötä mitään ja painat "Enter" näppäintä, ei kommenttia lisätä.

-d

Poistaa (tuhoaa) tiedostoja zip-arkistosta, esimerkiksi käsky: zip -d foo foo/tom/junk foo/harry/\* \*.o - poistaa hakemiston 'foo/tom/junk', sekä kaikki tiedostot hakemistosta 'foo/harry', sekä kaikki ne tiedostot, joiden tarkenne on '.o' missä tahansa ne sijaitsevatkin. Huomaa '\' -merkkien käyttö, koska niiden ansiosta Zip "näkee" tähtimerkit '*', ja kykenee suorittamaan vertailun ARKISTON sisältöön työhakemiston asemesta. MSDOS-järjestelmässä '-d' on tarkka pienten tai isojen kirjainten suhteen zip-arkistossa - eli tiedostonimet tulee antaa isoilla kirjaimilla kirjoitettuna - jos ne on arkistoitu käyttäen PKzip -ohjelmaa MSDOS-järjestelmässä.

-D

Älä luo hakemisto-osaa zip-arkistoon. Hakemisto-osa luodaan oletusarvoisesti jotta niiden attribuutit voidaan tallentaa zip-arkistoon. Ympäristömuuttujaa ZIPOPT voidaan käyttää oletusoptioiden muuttamiseen. Esimerkiksi Unixissa 'sh':n kanssa: ZIPOPT="-D"; export ZIPOPT - (Muuttujaa ZIPOPT voidaan käyttää mihin tahansa optioon lukuuottamatta '-i' ja '-x', ja se voi sisältää useita optioita.) Optio '-D' on lyhenne '-x "*/":stä, mutta jälkimmäistä ei voida asettaa oletusarvoksi ZIPOPT ympäristössä.

-e

Salakirjoitaa zip-arkiston käyttäen salasanaa, joka on syötetty päätteeltä vastauksena kyselyyn (jota ei kaiuteta näytölle; mikäli standardi virhe ei ole 'tty', zip lopettaa toimintansa virheen tapahtuessa.) Salasanan kysely toistetaan jottei käyttäjä tekisi kirjoitusvirheitä (eli käyttäjän tulee kirjoittaa salasana kahdesti täsmälleen samalla tavalla).

-f

Korvaa (tuoreista) zip-arkiston olemassaoleva tiedosto vain jos sitä on muokattu senjälkeen kun siitä on tehty arkistoon tallenne; päinvastoin kun päivitysoptio (-u) tämä optio ei lisää arkistoon tiedostoja, joita siellä ei vielä ole. Esimerkiksi:

zip -f foo

Tämä komento tulisi ajaa samasta hakemistosta josta Zip-komento ajettiin alunperin, koska zip-arkistossa olevat polut ovat aina relatiivisia. Huomaa, että 'aikavyöhyke' ympäristömuuttuja TZ tulisi asettaa paikallisen 'aikavyöhykkeen' mukaan jotta '-f', '-u', ja '-o' -optiot toimisivat oikein. Syyt tähän ovat hieman epäselvät, mutta näin on tehtävä niiden erojen vuoksi joita Unix-muotoisten tiedostojen aikamääreillä (aina GMT) ja useimpien muiden käyttöjärjestelmien aikamääreillä keskenään on (koska jälkimmäiset, kuten MSDOS, käyttävät paikallista aikaa), sekä siitä syystä, että aikoja on vertailtava keskenään. Tyypillinen TZ-arvo on``MET-1METDST'' - eli "Keski-Euroopan aika varustettuna automaattisella kesä- ja talviajan vaihdolla, tai päivänvalon tallennusajalla" (Daylight Savings Time).

-F

Korjataan zip-arkisto. Tätä optiota käytetään mikäli joitakin osia arkistosta puuttuu. Option toimintakykyä ei taata, joten sinun on ensin tehtävä varmuuskopio alkuperäisestä arkistosta. Kaksinkertaisena '-FF' vahingoittuneen arkiston sisäpuolella ilmoitettuihin tiivistettyjen tiedostojen ilmoitettuun kokoon ei uskota, ja Zip skannaa arkistoa etsien erityisiä merkkejä indentifioidakseen rajat arkistojäsenten välillä. Yksinkertainen '-F' on paljon luotettavampi silloin kun arkisto on vahingoittunut lievästi. Jos arkisto on vain 'truncated', tulisi tätä optiota yrittää. Kumpikaan optioista ei palauta arkistoja jotka on siirretty ASCII-muodossa, vaikka oikea siirtomuoto olisikin ollut binaarimuoto. Kun korjaus on tehty, ja Zip ajetaan käyttäen '-t' optiota, voi Zip ilmoittaa että joillakin tiedostoilla on huono CRC [Cyclic Redundancy Test -virhe]. Näitä tiedostoja ei voida palauttaa, vaan ne on poistettava kokonaan arkistosta käyttäen '-d' optiota.

-g

Lisätään (jotakin) spesifioituun zip-arkistoon sen asemesta että luotaisiin uusi arkisto. Mikäli tämä operaatio ei onnistu, Zip yrittää palauttaa arkiston sen alkuperäiseen kokoonpanoon. Jos TÄMÄ epäonnistuu, vaurioituu arkisto.

-h

Näyttää zip-arkisto-ohjelman aputekstin (aputeksti ilmaantuu myös käynnistettäessä Zip-ohjelma ilman argumentteja).

-i

tiedostotLiitetään ainoastaan spesifioidut tiedostot, esimerkiksi:

zip -r foo . -i \*.c

mikä liittää mukaan ainoastaan tiedostot joiden tarkenne on '.c' ja jotka sijaitsevat työhakemistossa ja sen alihakemistoissa (Huomautus PKzip -käyttäjille: vastaava PKzip-komento on:

pkzip -rP foo *.c

PKzip ei salli uudelleenohjausta muuhun kuin vallitsevaan hakemistoon.) Merkki '\' aiheuttaa sen, ettei Shell osallistu tiedostojen jakoon - eli kaikki vertailu tapahtuu Zip-ohjelman toimesta, ja kaikilla hakemistojen tasoilla.

-j

Tallennetaan ainoastaan tallennetun tiedoston nimi, eli jätetään polku huomioimatta. Oletusarvona Zip-ohjelma tallentaa koko polkunimen (suhteessa työhakemistoon)

-J

Poistetaan mikä tahansa data, joka ohjaa zip-arkiston purkua tms. (esimerkiksi SFX lisäke)

-k

Yritetään muuttaa nimet ja polut vastaamaan MSDOS:n käytäntöä, eli tallennetaan vain MSDOS-attribuutit (eli UNIXIN käyttäjän WRITE attribuutti) ja merkitään polku tms. MSDOS:n itse tekemäksi (vaikka ei näin olisikaan). Näin menetellään jotta tallenteella olisi yhteensopivuus MSDOS:n PKzip-ohjelman kanssa, joka ei voi käsitellä tiettyjä tiedostonimiä - kuten esimerkiksi niitä, joissa on kaksi pistettä.

-l

Käännetään Unixin rivinvaihtomerkki 'LF' MSDOS:n käyttämäksi 'CR LF' -merkiksi. Tätä optiota EI tulisi käyttää binaarisissa tiedostoissa. Optiota voidaan käyttää Unixissa mikäli zip-arkisto on tarkoitettu käsiteltäväksi MSDOS:n Pkzip-ohjelmalla. Jos tiedostot jo sisältävät 'CR LF' -merkkejä, optio lisää ylimääräisen 'CR' -merkin. Tämä varmistaa sen, että Unzip -a Unixissa tuottaa takaisin tarkan kopion alkuperäisestä tiedostosta, ja kumoaa komennon Zip -l -vaikutuksen.

-ll

Käännetään MSDOS:n rivinvaihtomerkki 'CR LF' Unxin merkiksi 'LF'. Tätä optiota EI tulisi käyttää binaarisissa tiedostoissa. Optiota voidaan käyttää MSDOS:ssa mikäli zip-arkisto on tarkoitettu purettavaksi Unixissa.

-L

Näytetään Zip-ohjelmalisenssi.

-m

Siirretään spesifioudut tiedostot zip-arkistoon; tämä optio tuhoaa kohteena olevat hakemistot ja tiedostot senjälkeen kun arkisto on tehty. Hakemiston tulee tulla täysin tyhjäksi siirron jälkeen ennekuin se tuhotaan. Huomaa, ettei mitään tuhota ennekuin arkisto on muodostettu onnistuneesti, ja virheettömästi. Tämän option käyttö säästää levytilaa, mutta se on myös potentiaalisesti vaarallinen, ja niinpä sitä suositellaan käytettäväksi yhdessä '-T' -kytkimen kanssa, joka testaa arkiston ennenkuin siirretyt tiedostot ja arkistot hävitetään niiden aluperäisestä sijainnista.

-n suffixit

Ei yritetä tiivistää tiedostoja, joilla on tietyt tarkenteet. Tällaiset tiedostot tallennetaan ilman tiivistystä, ja Zip-ohjelma ei haaskaa aikaansa yrittäessään niiden tiivistämistä. Merkintätapa selviää seuraavasta: zip -rn .Z:.zip:.tiff:.gif:.sndfoo foo - Tässäkopioidaan kaikki 'foo' -hakemistosta arkistotiedostoon 'foo.zip', mutta niin, että pelkkää tallennusta käytetään tiedostoihin, joiden tarkenne on .Z,.zip,.tiff,.gif,tai.snd- ja niitä ei edes yritetä tiivistää. (kuva- ja äänitiedostoilla on yleensä niille kullekin soveltuva erityinen tiivistysmenetelmänsä). Oletusarvona Zip-ohjelma EI tiivistä tiedostoja, joiden tarkenne on: .Z, .zip, .zoo, .arc, .lzh, ja .arj. Tällaiset tiedostot tallennetaan suoraan arkistoon, sillä ne ovat mitä todennäköisimmin itsekin tiivistettyjä arkistotiedostoja. Ympäristömuuttujaa ZIPOPT voidaan käyttää muuttamaan oletusasetuksia. Esimerkiksi Unixissa, jossa on 'csh': setenv ZIPOPT "-n .gif:.zip" - Jos yritetään kaikkien tiedostojen tiivistystä käytä: zip -n : foo - Suurimman mahdollisen tiivistyksen optio -9 yrittää myös kaikkien tiedostojen tiivistystä huolimatta siitä mitä tarkenteita niillä on.

-o

Asetetaan zip-arkiston päiväys "viimeksi muokatun" (last modified) tiedoston päiväyksen mukaiseksi. Tätä optiota voidaan käyttää ilman muita optioita – esimerkiksi: zip -o foo

-q

Kytkee hiljaisen toiminnan; ei esitä informaatiota tai kyselyjä. (Hyödyllinen esimerkiksi shell-skripteissä ja taustalla suoritetuissa tehtävissä).

-r

Siirtää hakemistorakenteen suoraan tiedostoon, esimerkiksi komento: zip -r foo foo

Siirtää kaikki 'foo' hakemiston alihakemistot ja tiedostot arkistoon 'foo.zip'. Poimintaan otetaan myös tiedostot jotka alkavat ".", koska uudelleen- ohjaus ei käytä shellin tiedostonimien jaon mekanismia. Jos haluat sisällyttää pelkästään tietyn kokoelman hakemiston tiedostoista, käytä ' i ' -optiota määritelläksesi niiden tiedostojen mallin joita poimitaan. Älä käytä kytkintä '-r' nimen ".*" kanssa, koska se vastaa "..", ja aiheuttaa sen, että Zip-ohjelma yrittää pakata "parent" -hakemiston.

-S

Sisällytetään mukaan myös järjestelmä- ja piilotiedostot. tämä optio on tehokas vain joissakin järjestelmissä, ja Unixissa se ei toimi.

-t mmddyy

Ei käsitellä tiedostoja, joita on muokattu annetun päivämäärän jälkeen.

mm = kuukausi
dd= päivä
yy= vuosi

Esimerkiksi:

zip -rt 120791 infamy foo

lisää kaikki ne tiedostot ja alihakemistot arkistoon 'foo' joita on viimeksi muokattu 7 joulukuuta 1991 jälkeen, ja zip-arkistona on 'infamy.zip'

-T

Testataan uuden zip-tiedoston eheys. Jos tarkistus ei onnistu, jää vanha zip-tiedosto entiselleen, ja jos käytetään '-m' optiota, poistetaan tiedostot, joita ei alunperin arkistossa ollut.

-u

Korvataan (päivitetään) olemassaoleva arkiston jäsen vain jos kohteena oleva tiedosto/hakemisto on uudempi kuin arkistossa oleva tallenne. Esimerkiksi komento: zip -u stuff * - lisää minkä tahansa uuden työhakemistossa olevan tiedoston arkistoon, sekä päivittää minkä tahansa tiedoston, jota on muutettu arkiston 'stuff.zip' luomisen jälkeen. (huomaa, että Zip-ohjelma ei yritä pakata 'stuff.zip' arkistoa uuden, päivitetyn samannimisen arkiston osaksi). Huomaa myös, että '-u' optio ilman argumentteja toimii samalla tavoin kuin '-f' (tuoreista) optio.

-v

Käytetään laajempaa toimintakuvausinfoa, tai tulostetaan Zip-ohjelman diagnostinen versioinfo. Kun tätä optiota sovelletaan todellisissa operaatioissa, nähdään näytössä tiivistyksen etenemisestä kertovia tietoja, sekä muita laajempia tietoja zip-tiedoston rakennepiirteistä, ja erikoisuuksista. Jos '-v' optiota käytetään vain komentoriviargumenttina, ja stdout ei ole uudelleenohjattu tiedostoon, tulostetaan näytölle diagnostisia tietoja. Niiden aputekstien lisäksi joissa on Zip-ohjelman ohjelman nimi, versio, sekä julkaisupäivämäärä, sekä tietoja osoitteista, joista ohjelmaa on saatavissa. Näiden tietojen lisäksi näytetään tietoja kohdeympäristöstä, OS versiosta, kompilaation päivämäärästä, ja voimassa olevista lisäasetuksista joita käytetään luomaan itsepurkautuva zip-arkisto.

-V

Tallennetaan VMS tiedostoattribuutit. Tämä optio on käytettävissä vain VMS käyttöjärjestelmässä, ja tällä optiolla luodut zip-arkistot eivät tavallisesti ole käyttökelpoisia muissa käyttöjärjestelmissä.

-w

Liitetään tiedostojen versionumero nimeen, sisältäen tiedostojen moniversiot. Tämä optio on käytettävissä vain VMS käyttöjärjestelmässä (käytä kaikkein uusinta versiota määritellystä tiedostosta).

-x tiedostot

Ei poimita mukaan määriteltyjä tiedostoja, esimerkiksi komento: zip -r foo foo -x \*.o - sisällyttää mukaan 'foo' -sisällöt arkistoon 'foo.zip' mutta EI poimi tiedostoja, joiden tarkenne (tai pikemminkin loppuosa) on '.o'. Merkki '\' estää shellin suorittaman tiedsotojenkäsittelyn, joten tiedostojen vertailun suorittaa Zip-ohjelma kaikilla hakemistojen tasoilla.

-X

Ei tallenneta ylimääräisiä tiedostoattribuutteja (kuten OS/2:n laajennettuja attribuutteja, uid/gid ja Unixissa tiedostojen päivämääriä).

-y

Tallennetaan sellaisinaan symboliset linkit arkistoon, ja niitä ei tiivistetä tai tallenneta linkin osoittamaan tiedostoon (vain UNIXissa).

-z

Kehoite luoda arkistoon monirivinen kommentti. Kommentin päättymisen ilmaisee rivi, jossa on pelkästään piste, tai tiedoston loppumista osoittava merkki:

UNIX = ^D

MSDOS,
OS/2,
VAX/VMS = ^Z

Jälkimmäinen merkki voidaan luoda MSDOS:ssa yksinkertaisimmin kirjoittamalla jotakin 'copy con' -komennolla ja painamalla viimeisellä, tyhjällä rivillä control-Z -näppäintä, jolloin näytöllä oleva teksti tallentuu tiedostoksi, jonka päättymistä ilmaisee vaadittu merkki. On hyvä huomata, että monet uudempien MS-DOS -järjestelmien editorit eivät tee lainkaan tällaista merkkiä tiedoston loppuun. Tällainen ohjelma on esimerkiksi QBASIC -ohjelman kanssa toimiva EDIT.EXE. Jos tiedosto on kuitenkin käsitelty niin, että siinä on tällainen lopetusmerkki, voidaan kommentti "ottaa pois" tiedostosta antamalla esimerkiksi komento:

zip -z foo < foowhat
-#

Säädetään tiivistyksen nopeutta käyttäen spesifioitua yksikköä '#', jossa '0' tarkoittaa sitä, ettei tiivistystä käytetä lainkaan (kaikki tiedostot tallennetaan sellaisinaan), '-1' viittaa siinen, että käytetään nopeinta tiivistystä (joskin tiivistysaste on kaikkein vähäisin), ja '-9' tarkoittaa sitä, että tiivistysnopeus on pienin (mutta tiivistysaste on kaikkein suurin, ja suffiksien luetteloa ei huomioida). Oletusarvoinen tiivistystaso on '-6'.

-@

Tämän option avulla arkistoon syötettävien tiedostojen luettelo luetaan tiedostosta. Huomaa, että sellaiset tiedostonimet, joissa esiintyy välilyöntejä, täytyy merkitä yksinkertaisin lainausmerkein, kuten

'tiedoston nimi'
-$

Sisällytetään sen asemassa olevan painoksen nimi, jossa sijaitsee ensimmäinen tiivistettävä tiedosto. Jos haluat sisällyttää ainoastaan painoksen nimen, tai kääntää sen pakolla erikseen spesifioituun asemaan, käytä aseman nimeä ensimmäisen tiedoston nimenä, kuten esimerkissä:

zip -$ foo a: c:bar

Tämä optio ei toimi kaikissa käyttöjärjestelmissä. Se toimii MSDOS ja OS/2 -järjestelmissä, mutta ei Unix järjestelmässä.

ZIP 2.1 ESIMERKIT

Yksinkertaisin esimerkki:

zip stuff *

Tässä luodaan arkistotiedosto 'stuff.zip' (otaksuen, ettei sitä ole ennestään olemassa). Tämän jälkeen arkistoon tallennetaan kaikki oletushakemiston tiedostot tiivistäen niitä. Arkistoon lisätään .ZIP tarkenne (suffix) automaattisesti. Näin ei tapahdu jos annettu arkistonimi sisältää pisteen, mikä mahdollistaa mm. muunkaltaisten tarkenteiden antamisen. Johtuen tavasta, jolla shell ohjaa tiedostonimien antamista, ei tiedostoja, jotka alkavat "." (piste) -merkillä sisällytetä mukaan. (Pisteet "." ja ".." (tai joskus enemmänkin) viittavat hakemistoon, eikä tiedostoon). Jos nämäkin merkit halutaan sisällyttää mukaan, voidaan antaa komento:

zip stuff .* *

Mutta tämäkään menetelmä ei sisällytä yhtään työhakemiston alihakemistoa mukaan. Jos halutaan pakata koko hakemisto, annetaan komento: zip -r foo foo - joka luo arkiston 'foo.zip', ja arkisto sisältää kaikki työhakemiston alihakemistossa 'foo' sijaitsevat tiedostot, ja alihakemistot tiedostoineen. On mahdollista, että haluat arkistoida tiedostot, jotka sijaitsevat 'foo' hakemistossa, mutta et halua arkistoida kyseistä hakemistonimeä. Voit käyttää '-j' optiota ohittaaksesi 'foo' hakemiston tallennusvaihtoehdon antamalla komennon: zip -j foo foo/* - jos käytettävissäsi ei ole tarpeeksi levytilaa, et ehkä onnistu luomaan samanaikaisesti arkistoa 'foo' hakemistosta tiedostoineen, ja säilyttämään tätä hakemistoa alkuperäisessä muodossaan. Tällaisessa tapauksessa voit luoda arkiston osittamalla koko operaation osasiksi, mikä tapahtuu käyttämällä '-m' optiota. Jos 'foo' hakemisto sisältää alihakemistot 'tom', 'dick', ja 'harry', voit antaa komennon:

zip -rm foo foo/tom
zip -rm foo foo/dick
zip -rm foo foo/harry

Ensimmäinen komento luo 'foo.zip' arkiston, ja seuraavat komennot lisäävät siihen omat osuutensa. Jokaisessa toimintaportaassa luodun arkiston jälkeen sitä edeltänyt arkisto tuhotaan, jotta levyllä olisi tilaa seuraavaa askelta varten.

MALLIEN VERTAILU

Tämä osa tästä oppaasta pätee vain UNIX järjestelmään. Tiedoista on hyötyä myös OS/2 ja MSDOS järjestelmissä. UNIXshellit (sh(1) sen csh(1)) suorittavat tiedostonimien jaon komentoargumentteina. Erityispiirteitä ovat.

?

vertaa mitä tahansa yksittäistä merkkiä

*

vertailtavana on suurempi joukko merkkejä (tai ei yhtään)

[]

vertaa mitä tahansa merkkiä vaihtelualueen sisällä, joka merkitään hakasulkein (esimerkiksi: [a-f], [0-9]). Kun tällaisia merkkejä havaitaan (ilman, että niistä poistuttaisiin merkein '\' tai ""shell etsii niitä tiedostoja, jotka ovat relatiivisia työhakemiston suhteen, jotka vastaavat mallia, ja jotka saatetaan korvata argumentilla, johon on kytketty luettelo nimistä, joita sovitetaan toisiinsa vertaamalla. Zip-ohjelma voi tehdä samanlaisen vertailun koskien niitä nimiä, joita on zip-arkistossa muokattavana, tai tapauksessa että käytetään '-x' tai '-i' optioita, tai koskien luetteloa tiedostoista, joiden mukaan toimitaan- käyttämällä '\' tai "" merkkejä, jotka kertovat shellille, ettei nimien laajennusta tehdä. Yleisesti, kun Zip-ohjelma löytää nimen luettelosta, joka on tarkoitus toteuttaa, se etsii ensin nimeä tiedostojärjestelmästä. Jos se löytää nimen, se lisää sen luetteloon, joka on tarkoitus toteuttaa. Jos se ei löydä tiedostoa, se etsii nimeä muokattavana olevasta arkistosta, jos sitä on olemassa, ja käyttää vertailussa mallia, jota on kuvattu edellä - jos malli on esitetty. Jokaisen vertailun yhteydessä ohjelma lisää nimen prosessoitavien luetteloon, mikäli nimi vastaa nimeä, joka on annettu '-x' optiolla, tai ei vastaa mitään nimeä, joka on annettu '-i' optiolla. Mallien vertailu sisältää polun, ja niinpä sellaiset mallit kuten '\*.o' vastaavat nimeä, jotka loppuvat '.o' merkkiin, mutta polun tunnisteella ei ole väliä. Huomaa, että '\' merkin tulee edeltää jokaista erikoismerkkiä (kuten ?*[]), tai koko argumentti tulee erottaa tavallisin lainausmerkein (""). Yleisesti, käytä '\' merkkiä ohjataksesi Zip-ohjelmaa mallien vertailussa - käyttäessäsi '-f' (tuoreista) ja '-d' (tuhoa) optioita, sekä joskus '-x' (älä huomioi) optiota käytettäessä soveltuvassa operaatiossa, joita ovat: add, -u, -f, tai -d

KATSO MYÖS

compress(1), shar(1L), tar(1), unzip(1L), gzip(1L)

Zip2.1 ei ole yhteensopiva PKunzip 1.10 -ohjelman kanssa. Käytä Zip 1.1 ohjelmaa luodaksesi zip-tiedostoja, joita purat PKunzip 1.10 -ohjelmalla. Zip 2.1 -ohjelmalla tuotettuja .zip -tiedostoja ei voi päivittää Zip 1.1 tai PKzip 1.10 -ohjelmilla, jos ne sisältävät salakirjoitettuja osioita, tai jos ne on tuotettu jonossa, tai laitteesa, jota ei voida etsiä. Vanhat Zip- tai PKzip -ohjelmaversiot voisivat luoda arkiston, jonka formaatti ei olisi oikea. Vanhat versiot voivat luetteloida arkiston tiedostoja, mutta eivät voi arkistoa purkaa, koska niissä on uusi algoritmi. Jos et käytä salakirjoitusta, ja käytät tavanomaisia tiedostoja, ei tästä asiasta ole huolta. VMS -järjestelmässä kaikkia outoja tiedostomuotoja ei käsitellä oikein. vain "stream-LF format" .zip-arkistotiedostojen voi odottaa toimivan ZIP -ohjelmassa. Toiset voidaan konvertoida käyttämällä Rahul Desin BILF-ohjelmaa. Zip 2.1 käsittelee sisäisesti joitakin konversioita. Jos käytetään kermit-protokollaa siirrettäessä tiedostoja Vaxista MSDOS-järjestelmään, kirjoita Vaxissa "set file type block". Kun siirto tehdään päinvastoin, kirjoita "set file type fixed" Vaxissa. Kummassakin tapaukseessa MSDOSISSA kirjoitetaan "set file type binary". VMS:ssä Zip juuttuu tiedostospesifikaatioon, joka käyttää DECnet syntaksia: foo::*.*. OS/2 -järjestelmässä Zip ei osaa matsata joitakin tiedostoja, kuten sellaisia, jotka sisältävät huutomerkkejä, tai lainausmerkkejä. Tämä on itsessään OS/2 -järjestelmässä oleva virhe: 32-bittinen DosFindFirst/Next ei löydä sellaisia nimiä. Toiset ohjelmat, kuten GNU tar kärsivät myös tästä virheestä. OS/2:ssa niiden laajennettujen attribuuttien määrä, jotka voidaan näyttää DIR komennolla on (yhteensopivuuden vuoksi) sama kuin määrä palautettuna DosQueryPathInfo() 16-bittiseen versioon. Muussa tapaukseessa OS/2:n versiot 1.3 ja 2.0 raportoisivat erilaiset EA (Extended Attributes) -koot, kun tiedostonimeä näytetään DIR -komennolla. Kuitenkin se "structure layout", joka palautetaan 32-bitisessä DosQueryPathInfo():ssa in hieman erilainen, se käyttää erilaisia "padding" -bittejä ja linkkiosoittimia (se on linkitetty luettelo) jotta siinä olisi kaikki 4-bitin rajapinnan kaikki kentät tulevaisuuden RISC OS/2 -versioita varten. Tästä syystä Zipin ilmoittama arvo (joka käyttää tätä 32-bitin muodon kokoa) eroaa arvosta, jonka DIR raportoi. Zip tallentaa 32-bitin formaatin siirrettävyyden vuoksi, jopa OS/2 1.3:ssa ajettavissa 16-bitin MS-C- kompiloiduissa versioissa. Amigassa '-A' optio ei tällä hetkellä toimi.

Unzipsfx

Greg Roelofs oli vastuussa niistä perusmodifikaatioista, joita täytyi tehdä Unzip -ohjelmaan, jotta voitiin luoda UnZipSFX. Huomaa, että Unzipsfx -ohjelmalla tehdyt itsensäpurkavat arkistot eivät ole sen enempää (tai vähempää) siirtokelpoisia eri järjestelmien välillä kuin koko sen ohjelmaperhe. Yleisesti: jossakin erityisessä Unix -järjestelmässä tehty arkistotiedosto purkaa itsensä automaattisesti vain toisessa vastaavassa järjestelmässä. Tavallista Unzip -ohjelmaa voi silti käyttää tällaisen itsensäpurkavan tiedoston purkuun, vaikka se luokin harmittoman varoituksen ylimääräisistä biteistä .ZIP -tiedoston alussa. Tästä "yhteensopivuudesta" huolimatta itsensäpurkava arkisto ei ole validi zip-arkisto, ja on mahdollista, ettei PKunzip saata kyetä purkamaan sitä lainkaan, tai testaamaan sitä. Tämä rajoitus johtuu siitä yksinkertaisesta tavasta jolla tiedosto on luotu; sisäistä rakennetta ei ole päivitetty vastaamaan ylimääräisiä, alkuperäiseen zip-tiedostoon lisättyjä bittejä.

Synopsis ja kuvaus

<name of unzipsfx+archive combo> [-cfptuz[ajnoqsCLV$]] [tiedosto(t) ... [-x xtiedosto(t) ...]]

Unzipsfx -ohjelma on Unzip (1L) -ohjelman modifikaatio, ja sen takoituksena on käsitellä olemassaolevia zip-arkistoja niin, että niistä tulee itsensäpurkavia. Sensijaan, että ottaisi ensimmäisen "non-frag" -argumentin vastaamaan purettavia tiedostoja, Unzipsfx etsii itsensä sillä nimellä, jolla se on luotu, ja testaa ja purkaa siihen liitety arkiston. Koska rakenne on näin yksinkertainen, ja koska suorittava osa on niin pieni, kaikki ei-suorastaan-välttämätön on poistettu: ei ole aputekstejä, diagnoosirutiineja (-l ja -v), kykyä dekompressoida vanhempia tiivistysmuotoja ("reduce", Shrink" ja "Implode" -menetelmät). Samoin ei ole mahdollista suoritta purkua muihin hakemistoihin kuin mikä on aktiivisena. Salakirjoituksen purkua tuetaan kompilointi-aika -optiona, mutta sitä tulisi välttää - ellei arkisto sisällä salakirjoitettuja tiedostoja. Huomioitakoon se, että Unzipsfx ohjelman tapaan toimivia ohjelmia on muitakin, kuten PKzip 2.04g ohjelmaan liittyvä Zip2Exe-ohjelma, jonka voi liittää PKzip ohjelmalla tuotettuun zip-arkistoon samaan tapaan kuin Unzipsfx -lisäkkeen Zip 2.1 ohjelmalla tuotettuun zip-arkistoon. PKzip 2.04g -menetelmä on käyttökelpoinen jos halutaan nimenomaisesti MSDOS ympäristössä purkautuvia arkistoja. Lisäksi tarjolla on myös mm. RAR ohjelman avulla lisättävä itsepurkautuva osio, ja RAR ohjelma tarjoaa myös mahdollisuuden luoda asennus SFX -osioita, joiden luomisessa käytetään tähän osioon sisäänrakennettua skripti-kieltä. Tästä on lisätietoja erillisessä RAR 2.01 -oppaassa, jonka olen myös suomentanut. Myös muilla ohjelmilla voidaan lisätä arkistoon elementtejä, jotka tekevät niistä itsepurkautuvia.

ARGUMENTIT

tiedosto[.zip]

.ZIP -arkistotiedoston polku. Mikäli tiedostospesifikaationa ovat jokerimerkit, jokainen matsaava tiedosto prosessoidaan siinä järjestyksessä kuin käyttö- tai tiedostojärjestelmä määrää. vain tiedostonimi voidaan esittää jokerimerkein, ei polkua. Jokerimerkit vastaavat Unixin egrep(1):n tavanomaisia ilmaisuja, ja saattavat sisältää:

*

vastaa 0:n -tai suuremman merkkimäärän sekvenssiä. Tämän merkin käyttö on tunnettua MS-DOS -järjestelmästä, ja sillä voidaan ilmaista yhdellä merkillä suurempi määrä merkkejä.

?

vastaa täsmällisesti yhtä merkkiä

[...]

vastaa mitä tahansa yksittäistä merkkiä, joka on hakasulkeiden sisällä; vaihteluväli on ilmaistu aloitusmerkillä, tavutusmerkillä, ja lopetusmerkillä. Jos huudahdusmerkki seuraa vasemmanpuolesta sulkeista (`!' or `^') niin sulkeiden sisällä olevia merkkejä ei oteta huomioon. [Varmistu siitä että erotat lainausmerkein jokaisen merkin, joka voisi tulla tulkituksi tai muokatuksi käyttöjärjestelmän taholta - erityisesti tämä olisi huomioitava Unixissa ja VMS:ssä].

[file(s)]

Prosessoitavien arkistojäsenten lisävarusteluettelo erotettuna välilyönnein. VMS -versioiden, jotka on kompiloitu VMSCLI -määrittein täytyy erottaa tiedostot pilkuilla. Merkkejä, joiden suhteen käyttöjärjestelmät ovat kriittisiä täytyisi välttää.

[-x xfile(s)]

Niiden arkistojäsenten lisäluettelo, jotka suljetaan prosessoinnin ulkopuolelle. Koska jokerimerkit vastaavat hakemistoerottimia (`/'), täytyy tätä optiota käyttää erottamaan kaikkia niitä tiedostoja, jotka sijaitsevat alihakemistoissa.

Esimerkiksi komento:

``unzip foo *.[ch] -x */*''

purkaa kaikki C -lähdetiedostot, jotka ovat päähakemistossa, mutta ei yhtään tiedostoa, joka on missä tahansa alihakemistossa. Ilman "-x" optiota kaikki C -lähdetiedostot missä tahansa hakemistossa puretaan. Jos Unzipsfx -ohjelma on kompiloitu SFX_EXDIR määriteltynä, on seuraava optio voimassa:

[-d exdir]

Lisäselvityksellä määritelty hakemisto, jonne tiedostoja puretaan. Oletusarvona kaikki tiedostot ja alihakemistot luodaan työhakemistoon. "-d" optio sallii purun myös muuhun hakemiston (edellyttäen tietysti, että käyttäjällä on lupa kirjoittaa tähän hakemistoon). Sekä optio- että hakemisto voidaan kirjoittaa peräkkäin ilmanyhtään valkeaa välilyöntiä, mutta huomaa että tämä saattaa aiheuttaa sen, että normaali shell-käyttäytyminen estyy. Erityisesti: kun optioon liitetään "tilde" -merkki joka erotetaan siitä välilyönnillä - lajentuu se Unix C:n shelleissä käyttäjän kotihakemiston nimeksi, mutta jos tämä "tilde" (joka on espanjankielisessä tekstissä käytetty yläaaltoviiva) liitetään suoraan "-d" option perään, käsitellään "tilde"-merkkiä literaalisena, vallitsevan hakemiston alihakemistona.

UNZIPSFX OPTIOT

Unzipsfx-ohjelma tukee seuraavia Unzip(1L) optioita: "-c" ja "-p" (puretaan standardiin tulokstukseen/näytölle), "-f" ja "-u" (tuoreistetaan ja päivitetään olemassaolevia tiedostoja purkamisen kautta), "-t" (testataan arkistoa) ja "-z" (tulostetaan arkistokommentti). Kaikki normaalit luettelointioptiot on poistettu (-l, -v ja -Z), mutta testausta (-t) voidaan käyttää "köyhän miehen luettelointina". Vaihtoehtoisesti ne, jotka luovat itsepurkautuvia arkistoja, voivat haluta lisättävän lyhyen luettelon zip-arkiston kommenttiin.

MODIFIOIJAT

Unzipsfx-ohjelma tukee nykyään kaikkia niitä modifioijia, joita Unzip-ohjelmakin tukee. "-a" (konvertoi tekstitiedostoja), "-n" (älä koskaan päällekirjoita), "-o" (päällekirjoita ilman varoitusta), "-q" (toimi ilman kyselyjä ja ilmoituksia), "-C" (vertaa nimiä tapauskohtaisesti), "-L" (konvertoi suurilla kirjaimilla kirjoitetut OS nimet pienillä kirjaimilla kirjoitetuin nimin), "-j" (ei polkuja), ja "-V". Lisäksi tuetaan seuraavia käyttöjärjestelmille tyypillisiä optioita, kuten "-X" (palautetaan VMS omistaja/suojausinfo), "-s" (konvertoidaan välilyönnit tiedostonimissä alleviivausmerkeiksi: MSDOS, OS/2, NT), sekä -$ (palautetaan painoksen nimi: MSDOS, OS/2, NT, Amiga). (Tulevissa ohjelmaversioissa tavallisen ASCII-tekstimuodon konversiota ei enää ole, koska arkiston luojan on helppoa varmistua siitä, että teksti on oikeanmuotoista paikallista OS -järjestelmää varten. EBCDIC konversion tuki jatkuu koska zip-tiedoston formaatti viittaa tekstitiedostojen ASCII-muotoisuuteen).

YMPÄRISTÖOPTIOT

Unzipsfx-ohjelma käyttää samoja ympäristömuuttujia kuin Unzip(1L), vaikka tämä onkin vain sen henkilön asia, joka luo ja testaa itsepurkautuvia arkistoja.

SALAKIRJOITUKSEN PURKU

Salakirjoituksen purkua tuetaan samalla tavoin kuin Unzip(1L) -ohjelmassa - eli interaktiivisesti, ja ilman, että salasanaa kyseltäisiin. Jos arkistossa ei ole salakirjoitettuja tiedostoja, ei ole mitään syytä käyttää sellaista Unzipsfx-ohjelman versiota, joka tukee salasanan purkua, koska sillä vain lisätään turhaan arkiston kokoa.

UNZIPSFX ESIMERKIT

Luodaksesi itsepurkautuvan arkiston nimeltä 'letters' tavallisesta zip-tiedostosta 'letters.zip', ja muuttaaksesi uuden arkiston luvan niin, että se voidaan purkaa maailmanlaajuisesti Unix-järjestelmässä tee seuraavasti:

cat unzipsfx letters.zip > letters
chmod 755 letters
zip -A letters

Samanlainen arkisto voidaan luoda MSDOS, OS/2 ja NT järjestelmissä (huomaa '/b' option käyttö):

copy /b unzipsfx.exe+letters.zip letters.exe
zip -A letters.exe

VMS-järjestelmässä:

copy unzipsfx.exe,letters.zip letters.exe
letters == "$currentdisk:[currentdir]letters.exe"
zip -A letters.exe

(VMS append-komentoa voidaan myös käyttää. Toinen komennoista asentaa uuden ohjelman "vieraana komentona", joka voi ottaa argumentteja. Kolmas rivi otaksuu, että Zip on jo asennettuna vieraana komentona.)

AmigaDOS-järjestelmässä:

MakeSFX letters letters.zip UnZipSFX

(MakeSFX sisältyy Unzip-ohjelman lähdekoodin jakelupakkaukseen, sekä Amigan binaariseen jakelupakkaukseen. Komento:

Zip -A

ei toimi luotaessa Amigalla itsepurkautuvia arkistoja.

Jos halutaan testata vastaluotua itsepurkautuvaa arkistoa, annetaan komento:

letters -t

Jos testaus halutaan suoritettavaksi taustalla niin, että testin lopputulos ilmaistaan vain, onko se "OK" vai ei, annetaan komento:

letters -tqq

Jos luotu arkisto halutaan purkaa työhakemistoon, ja samalla luoda arkistossa olevat hakemistot työhakemiston alihakemistoiksi, jos niitä arkistossa on, annetaan komento:

letters

Jos halutaan purkaa arkistosta kaikki *.txt -tiedostot (jos käytetään Unix-järjestelmää, erotetaan tähtimerkki lainausmerkein: `*'):

letters *.txt

Jos halutaan purkaa kaikki muut tiedostot paitsi *txt -tiedostoja, annetaan komento:

letters -x *.txt

Jos halutaan purkaa vain README tiedosto standardiin tulostukseen (näytölle):

letters -c README

Jos halutaan tulostaa vain zip-tiedoston kommentti:

letters -z

UNZIPSFX RAJOITUKSET

Perustava ja periaatteellinen Unzipsfx -ohjelman rajoitus on se, ettei se ole yleispätevä, ja siksi sen tuottamat tiedostot eivät toimi kaikissa käyttöjärjestelmissä. Joissakin arkkitehtuureissa on tosin rajattua siirettävyyttä (esimerkiksi Intel-perusteisten Unixien välillä). Toinen ongelma on se, että mikä tahansa arkisto, johon on ympätty purkautumisautomaatti ei ole teknisesti enää .ZIP -tiedosto (jollei sitten käytetä Zip -ohjelmaa säätämään tiedoston offsetia asianmukaisella tavalla. Unzip -ohjelma huomioi nämä lisäbitit, mutta ei ota niitä huomioon, koska jotkut tiedostonsiirto-protokollat, erityisesti MacBinary, tunnetaan siitä, että ne lisäävät roinaa arkistoihin. Mutta PKWAREN ohjelmisto ei kykene käsittelemään näitä arkistoja millään tavalla ennen offsettien säätöä. Unzipsfx -ohjelmalla ei ole mitään käsitystä käyttäjän polusta, tai polkusijainnista, joten tavallisesti arkiston täytyy olla samassa hakemistossa kuin käyttäjä, tai muutoin täytyy antaa koko suhteellinen polkumääritys. Jos käyttäjä yrittää purkaa arkistoa jostakin muusta kuin vallitsevasta hakemistosta, tulostaa arkistoon ympätty Pkzipsfix -ohjelma varoituksen: ``can't find myself.'' - (Siis vähän niinkuin Aleksis-vainaa joka sanoi: "Oh en löydä kotoani, en löydä kotoani"! Tämä sama periaate pätee myös Unixissa, ja myös joissakin tapauksissa MS-DOS:ssa - riippuen siitä, mitä kompileria on käytetty. OS/2:ssa ja NT:ssä on tarjolla käyttöjärjestelmäkutsuja, jotka tarjoavat täydellisen polkunimen niin, että arkisto voidaan käynnistää mistä tahansa. Tilanne on tuntematon AmigaDOS:sa, Atarin TOS:ssa, MacOS:ssa, ja niin edelleen. Kuten olemme huomanneet, on lukuisia Unzip -ohjelmasta tuttuja toimintoja poissa, ja tämä siksi, että Unzipsfx -ohjelma (tai lisäke) olisi mahdollisimman pieni. VMS -käyttäjien tulisi tietää kuinka asentaa automaattisesti itsensä purkavia arkistoja vierailla komennoilla, jotta voisivat käyttää mitään Unzipsfx -ohjelman optioista. Tämä ei ole välttämätöntä yksinkertaisissa purkamisissa. Amigassa Unzipsfx -ohjelmassa vaatii erityisen ohjelman käyttöä (MakeSFX), jotta voisi luoda toimivia automaattisesti purkautuvia arkistoja.

DIAGNOSTIIKKA

Unzipsfx ohjelman exit status (errorlevel) on sama kuin Unzip(1L) ohjelmalla. Ne ovat kokonaislukuja, joilla nämä sovellukset ilmaisevat mm. mahdollisia operaation aikana sattuneita virheitä.