ZIP(1L)

NÉV
zip, zipnote, zipsplit - (archívum) fájlok csomagolása és tömörítése

ÁTTEKINTÉS
zip [-AcdDeEfFghjklLmoqrSTuvVwXyz@$] [-b útvonal] [-n végződések] [-t hhnnéé] [ zipfile [ file1 file2 ...]] [-xi lista]

zipcloak [-dhL] [-b útvonal] zipfile

zipnote [-hwL] [-b útvonal] zipfile

zipsplit [-hiLpst] [-n méret] [-b útvonal] zipfile

LEÍRÁS
A zip egy tömörítő és file csomagoló program Unix, VMS, MSDOS, OS/2, Windows NT, Minix, Atari és Macintosh rendszerekre. Hasonlít a tar(1) és a compress(1) UNIX parancsok kombinációjához és kompatíbilis a PKZIP-pel (Phil Katz ZIP programja MSDOS rendszerre).

A zip-et kiegészítő unzip(1L) program kicsomagolja a zip archívumokat. A zip és az unzip(1L) programok tudják kezelni a PKZIP-pel készített archívumokat, valamint a PKZIP és a PKUNZIP is tudja kezelni a zip-pel készített archívumokat. A zip 2.1-es verziója kompatíbilis a PKZIP 2.04-gyel. Figyelem: a PKUNZIP 1.10 nem tudja kicsomagolni a PKZIP 2.04-gyel vagy a zip-pel készített fájlokat. Ehhez a PKUNZIP 2.04g-t vagy az unzip 5.0p1-et (vagy későbbi verziókat) kell használni.

Ha a zip és az unzip programokat paraméterek nélkül indítjuk, egy rövid leírást adnak a használatukról.

A program segítségével becsomagolhatunk fájlokat terjesztéshez, archiváláshoz, és a nem használt fájlok vagy könyvtárak tömörítésével lemezterületet takaríthatunk meg.

A zip egy vagy több fájlt egyetlen zip archívumba tesz a fájlokhoz tartozó információval együtt. (Név, útvonal, dátum, utolsó módosítás ideje, védelem és információ a file sértetlenségének ellenőrzésére.) Egy teljes alkönyvtár-szerkezet egyetlen paranccsal becsomagolható egy zip archívumba. Szövegfile-oknál általános a 2:1 és 3:1 közötti tömörítési arány. A zip egyféle tömörítési módszert ismer (deflation) és a fájlokat tömörítés nélkül is tudja tárolni. A zip minden tömörítendő fájlra automatikusan kiválasztja a kettő közül a jobbat.

Ha egy már létező zip archívum nevét adjuk meg, akkor az azonos nevű fájlokat a zip lecseréli az archívumban, az új fájlokat pedig felveszi. Például ha a valami.zip már létezik, és tartalmazza a valami/file1, valami/file2 file-okat, és a valami könyvtár tartalmazza a valami/file1, valami/file3 file-okat, akkor a

    zip -r valami valami

parancs lecseréli a valami.zip-ben a valami/file1 file-t, és hozzáadja a valami.zip-hez a valami/file3 file-t. Ezután a valami.zip tartalmazni fogja a valami/file1, valami/file2, és valami/file3 file-okat úgy, hogy a valami/file2 változatlan marad.

Ha a file listát -@ alakban adjuk meg, akkor a zip a standard bemenetről várja az input fájlok listáját. UNIX alatt ez a lehetőség nagyon jól kihasználható, ha a find(1) paranccsal együtt használjuk. Ha például minden C forrás fájlt archiválni akarunk az aktuális könyvtárból és minden alkönyvtárából, akkor ezt írjuk:

    find . -name "*.[ch]" -print | zip forras -@

(Figyeljük meg, hogy a mintát idézőjelek közé kell tenni, hogy a parancsértelmező ne tudja kiterjeszteni.) A zip a zip file nevének elfogad egy kötőjelet ("-") is, ebben az esetben a zip file-t a standard kimenetre fogja írni, így a kimenetet egy másik programnak adhatjuk tovább. Például a

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

parancs úgy csinál mentést az aktuális könyvtárról, hogy a zip kimenetét közvetlenül szalagra írja a megadott blokkmérettel.

A zip a tömörítendő file neveként elfogad egy kötőjelet ("-") is, ekkor a standard bemenetről fogja beolvasni a fájlt, lehetővé téve, hogy a bemenet egy másik programtól érkezzen. Például a

    tar cf - . | zip backup -

parancs úgy csinál mentést az aktuális könyvtárról, hogy a tar program kimenetét tömöríti be. Ez általában jobb tömörítést ad, mint az előző példában használt -r kapcsoló, mert a zip így ki tudja használni a fájlok közti redundanciát. A mentést visszatölthetjük az

    unzip -p backup | tar xf -

paranccsal. Ha nem adunk meg zip file nevet és a standard kimenet nem egy terminál, akkor a zip szűrőként működve tömörítve írja ki a standard kimenetre a standard bemenet tartalmát. Például a

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

parancs megfelel a

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

parancsnak. Az így készített zip archívumok kicsomagolhatók az unzip csomag funzip programjával, vagy a gzip csomag gunzip programjával. Például:

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

Amikor a zip egy már létező zip archívumot módosít, egy ideiglenes fájlba írja az új tartalmat, és csak akkor cseréli le az eredeti fájlt, ha az új változat létrehozása hibátlanul sikerült.

Ha a zip archívum neve nem tartalmaz kiterjesztést, akkor a .zip kiterjesztést fogja használni. Ha a név már tartalmaz a .zip-től különböző kiterjesztést, akkor a meglévő kiterjesztés nem változik.

OPCIÓK

-A  Önkicsomagoló archívum igazítása. Az önkicsomagoló archívum egy létező archívumból jön létre úgy, hogy az elejére egy SFX blokk kerül. Az -A opció jelzi a zip-nek, hogy ennek a bevezető adatblokknak a figyelembevételével igazítsa a tábla-bejegyzések eltolási értékeit.

-b elérési út
    A megadott elérési út használata az ideiglenes zip archívum létrehozásához. Például a

        zip -b /tmp cucc *

    parancs a /tmp könyvtárba fogja tenni az ideiglenes zip archívumot, amit majd az aktuális könyvtárban levő cucc.zip file-ba másol. Ez az opció akkor hasznos, ha egy már létező archívumot frissítünk, és az archívumot tartalmazó fájlrendszeren nincs elég szabad hely ahhoz, hogy a régi és az új archívum egyszerre elférjen.

-c  Egysoros megjegyzések hozzáadása minden fájlhoz. Először a fájlműveletek (hozzáadás, frissítés) hajtódnak végre, ezután a felhasználó minden fájlhoz megadhat egy egysoros megjegyzést. Minden fájlhoz írjuk be a megjegyzést enterrel lezárva, vagy üssünk csak entert, ahol nem akarunk megjegyzést megadni.

-d  File-ok eltávolítása (törlése) a zip archívumból. Például a

        zip -d valami valami/pista/szemet valami/jancsi/\* \*.o

    parancs eltávolítja a valami/pista/szemet file-t, minden valami/jancsi/-val kezdődő fájlt, és minden .o-val végződő fájlt (bármilyen elérési útra). Figyeljük meg, hogy a "\" karakterrel kerültük el, hogy a parancsértelmező automatikusan kiterjessze az elérési utakat, így a zip látni fogja a csillagokat, és a megadott elérési utakat az archívum tartalmára értelmezi, nem pedig az aktuális könyvtárra.

    MSDOS alatt a -d opció különbséget tesz a kis- és nagybetűk között, amikor a zip archívumban levő fájlokat keresi. Ezért a fájlneveket csupa nagybetűvel kell megadni, ha MSDOS rendszeren a PKZIP-pel zippeltük őket.

-D  Az alkönyvtáraknak ne legyen bejegyzésük a zip archívumban. Alapértelmezés szerint az alkönyvtárakhoz is készül bejegyzés, így az attribútumaik megőrződnek a zip archívumban. A ZIPOPT környezeti változó használatával megváltoztathatjuk az alapértelmezés szerinti opciókat. Például Unix alatt sh-ban:

        ZIPOPT="-D"; export ZIPOPT

    (A ZIPOPT változó bármilyen opciót tartalmazhat -- egyszerre többet is -- kivéve a -i és a -x opciókat. A -D a -x "*/" rövidítése, de ez utóbbi nem állítható be a ZIPOPT környezeti változóval.

-e  A zip archívum tartalmának titkosítása. A terminálon bekér egy jelszót (a jelszó nem fog látszani a beíráskor; ha a standard hibakimenet nem tty eszköz, akkor a zip hibaüzenettel leáll). A jelszót kétszer kéri be, hogy a felhasználót megvédje a gépelési hibáktól.

-f  Csak akkor cserél (frissít) egy fájlt a zip archívumban, ha a fájlt újabban módosították, mint a zip archívumban levő változatát. A frissítés (-u) opcióval ellentétben ezzel nem kerülnek be új fájlok a zip archívumba. Például:

        zip -f valami

    Ezt a parancsot abból a könyvtárból kell kiadni, ahol az eredeti zip parancsot is kiadtuk, hiszen a zip archívumokban tárolt elérési utak mindig relatívak.

    Megjegyzés: A TZ (időzóna) környezeti változót a helyi időzónának megfelelően kell beállítani ahhoz, hogy a -f , -u , és -o opciók helyesen működjenek.

    Ennek az okai eléggé szövevényesek, körülbelül arról van szó, hogy a Unix fájlmódosítási idő formátuma (mindig GMT) különbözik a legtöbb egyéb operációs rendszerétől (mindig helyi idő), és a kettőt össze kell hasonlítani. Egy tipikus TZ érték például: ``MET-1METDST'' (Közép-európai idő a nyári-téli időszámítás automatikus állításával).

-F  A zip archívum kijavítása. Ez az opció akkor használható, ha az archívum egyes részei hiányoznak. Nincs garancia arra, hogy működik, ezért először MINDENKÉPPEN csináljunk egy biztonsági másolatot az eredeti archívumról!

    Ha duplán adjuk meg (-FF), akkor a zip nem bízik a sérült archívumban tárolt fájlméretekben, és jellegzetes mintázatok keresésével próbálja azonosítani a fájlok közti határokat az archívumban. A szimpla -F megbízhatóbb, ha az archívum nem sérült meg nagyon, például ha csak a vége hiányzik; ezért először ezt az opciót használjuk.

    Egyik opció sem tudja helyrehozni az archívumot, ha azt bináris helyett ascii módban továbbították. A javítás után az unzip -t opciója néhány fájlnál hibás CRC-t jelezhet. Az ilyen fájlokat nem lehet helyreállítani; törölhetők az archívumból a zip -d opciójával.

-g  A fájlokat hozzáadja a megadott archívumhoz, ahelyett, hogy új archívumot hozna létre. Ha ez a művelet nem sikerül, a zip megpróbálja visszaállítani az archívum eredeti állapotát. Ha a visszaállítás nem sikerül, az archívum megsérülhet.

-h  Segítséget ad a zip használatához. (Ez jelenik meg akkor is, ha a zip-et argumentumok nélkül indítjuk.)

-i fájlok
    Csak a megadott fájlokat vegye fel, például:

        zip -r valami . -i \*.c

    Ez csak azokat a fájlokat csomagolja az aktuális könyvtárból és annak alkönyvtáraiból, amelyek .c-re végződnek. (Megjegyzés PKZIP felhasználóknak: az ezzel ekvivalens parancs a

        pkzip -rP valami *.c

    A PKZIP csak az aktuális könyvtárban engedi meg a rekurziót.) A "\" karakterrel elkerüljük, hogy a parancsértelmező behelyettesítse a fájlneveket, így a fájlok keresését minden alkönyvtár-szinten a zip fogja végezni.

-j  Csak a fájlneveket tárolja (az elérési utat elhagyja), és nem tárolja a könyvtárak neveit. Alapértelmezés szerint a zip a teljes elérési utat tárolja (az aktuális könyvtártól számítva).

-J  Levágja az archívum elejére illesztett bármilyen kiegészítő adatblokkot (pl. SFX blokk az önkicsomagoló archívumoknál).

-k  Megpróbálja az MSDOS-nak megfelelő formába konvertálni a neveket és elérési utakat, csak az MSDOS fájlattribútumokat tárolja (UNIX alatt csak a felhasználó írási jogát), és úgy jegyzi be a fájlokat, mint MSDOS alatt készített bejegyzések (akkor is, ha ez nem igaz). Ez az opció az MSDOS alatti PKZIP-pel való kompatibilitás megőrzésére szolgál, mivel az nem tud kezelni bizonyos fájlneveket, például azokat, amelyek két pontot tartalmaznak.

-l  A Unix sorvége jeleit (LF) lecseréli az MSDOS konvenciójának megfelelő CR LF-re. Ezt az opciót ne használjuk bináris fájlokra! Unix alatt is használhatjuk, ha a zip fájlt MSDOS-ra a PKUNZIP-nak szánjuk. Ha az input fájlokban már CR LF karakterek vannak, akkor ez az opció plusz CR karaktereket fog hozzáadni. Ezáltal az unzip -a Unix alatt az eredeti file pontos másolatát adja, és visszavonja a zip -l hatását.

-ll Az MSDOS sorvége jeleit (CR LF) lecseréli a Unix-nak megfelelő LF-re. Ezt az opciót ne használjuk bináris fájlokra! MSDOS alatt is használhatjuk, ha a zip fájlt Unix-ra az unzip-nak szánjuk.

-L  A zip licensz megjelenítése.

-m  A megadott fájlokat áthelyezi a zip archívumba, vagyis törli a könyvtárakat és a fájlokat, miután létrehozta a megadott zip archívumot. Ha egy könyvtár a benne lévő fájlok törlése után üressé válik, akkor a könyvtárat is törli. A zip addig nem töröl semmit, amíg az archívumot hibátlanul létre nem hozta. Ez az opció hasznos a lemezterület megtakarítására, de potenciálisan veszélyes, ezért ajánlott a -T opcióval együtt használni, ami a fájlok törlése előtt ellenőrzi az archívumot.

-n végződések
    Nem próbálja meg tömöríteni azokat a fájlokat, amelyek neve a végződések valamelyikére végződik. Az ilyen fájlokat a zip egyszerűen eltárolja (0% tömörítés) a zip fájlban, így nem pazarol időt arra, hogy megpróbálja tömöríteni őket. A végződéseket vagy kettősponttal vagy pontosvesszővel kell elválasztani egymástól. Például:

        zip -rn .Z:.zip:.tiff:.gif:.snd valami valami

    Ez a parancs a valami-ből mindent bemásol a valami.zip-be, de minden .Z, .zip, .tiff, .gif, vagy .snd végződésű fájlt tömörítés nélkül fog tárolni. (A kép- és hangfile-oknak általában megvannak a saját speciális tömörítési módszereik.) A zip alapértelmezés szerint nem tömöríti azokat a fájlokat, amelyek neve a .Z:.zip:.zoo:.arc:.lzh:.arj listában szereplő végződések valamelyikére végződik. Az ilyen fájlokat közvetlenül tárolja az archívumban. A ZIPOPT környezeti változó segítségével beállíthatjuk az alapértelmezés szerinti opciókat. Példaul Unix-ban csh-val:

        setenv ZIPOPT "-n .gif:.zip"

    Ha minden fájlt meg akarunk próbálni tömöríteni:

        zip -n : valami

    A zip a maximális tömörítést jelző -9 opció hatására is megpróbál tömöríteni minden fájlt a végződésektől függetlenül.

-o  A zip archívum "utolsó módosítás" idejét beállítja a zip archívum bejegyzései között talált legutolsó (legrégebbi) "utolsó módosítás" idejére. Ez használható önmagában is, minden más művelet nélkül. Például a

    zip -o valami

    parancs beállítja a valami.zip "utolsó módosítás" idejét a bejegyzései közti legutolsó időre.

-q  Csendes mód: nem ír ki tájékoztató üzeneteket és nem kér be megjegyzéseket. (Hasznos például shell scriptekben és háttérben futó task-nál.)

-r  A könyvtárszerkezet rekurzív bejárása; például:

        zip -r valami valami

    Ebben az esetben a valami-ben levő összes fájlt és alkönyvtárat elmenti a valami.zip nevű zip archívumba; beleértve a "."-tal kezdődő nevű fájlokat is, hiszen a rekurzió nem használja a parancsértelmező fájlnév helyettesítő mechanizmusát. Ha a valami alkönyvtárban levő fájloknak és alkönyvtáraknak csak egy adott részhalmazát akarjuk menteni, akkor a -i opcióval adhatjuk meg a kívánt fájlnév mintát. A -r opciót nem tanácsos a ".*" fájlnévvel használni, mert ez ráillik a ".."-ra is, így a szülő könyvtárat is becsomagolja (és valószínűleg nem ezt akartuk).

-S  Felveszi a rendszer- és a rejtett fájlokat is. Ez az opció csak néhány rendszeren működik, Unix-on nincs hatása.

-t mmddyy
    Kihagyja azokat a fájlokat, amelyek utolsó módosítási ideje korábbi a megadott dátumnál, ahol mm a hónap (0-12), dd a hónap napja (1-31), és yy az évszám utolsó két számjegye. Például a

        zip -rt 120791 infamy valami

    parancs hozzáadja az infamy.zip archívumhoz a valami alkönyvtárban levő összes olyan fájlt és alkönyvtárat, amelyet 1991. december 7-én vagy később módosítottak utoljára.

-T  Az új zip file ellenőrzése. Ha hibát talál, akkor a régi zip file változatlanul marad és (a -m kapcsolóval együtt) nem töröl egyetlen becsomagolt fájlt sem.

-u  Csak akkor cserél le (frissít) egy a zip archívumban már szereplő fájlt, ha később módosították, mint a zip archívumban levő változatát. Például:

        zip -u cucc *

    Ez a parancs az aktuális könyvtárból hozzáad az archívumhoz minden új fájlt, és frissíti azokat a fájlokat, amelyeket a cucc.zip létrehozása/utolsó módosítása óta módosítottak. (A zip nem fogja önmagába becsomagolni a cucc.zip-et.)

    Megjegyzés: a -u opció argumentumok nélkül úgy működik, mint a -f (frissítés) opció.

-v  Részletes kiírás mód vagy információk az aktuális verzióról.

    Ha rendes műveletekkel együtt használjuk, akkor tömörítés közben mutatja, hogy éppen hol tart, és részletes adatokat szolgáltat a zip file szerkezetének érdekességeiről.

    Ha a -v az egyetlen argumentum, és a standard kimenet nincsen fájlba irányítva, akkor egy információs képernyőt kapunk. A copyright-jelzés, a program neve, verziószáma, a kiadás dátuma mellett megadja az Info-ZIP és a terjesztő helyek címét is. Ezután következik néhány információ a zip program fordításáról (a használt fordító típusa és verziója, az operációs rendszer verziója, a fordítás időpontja, és a program létrehozásakor bekapcsolt fordítási opciók).

-V  VMS file attribútumok mentése. Ez az opció csak VMS alatt működik, a vele létrehozott zip file-ok más rendszereken általában nem lesznek használhatók.

-w  A verziószámok hozzácsatolása a fájlnevekhez, a fájlok több verzióját is tárolja. (Csak VMS-ben; alapértelmezés: csak a fájlok legutóbbi verzióját használja.)

-x fájlok
    Kihagyja a megadott fájlokat, például a

        zip -r valami valami -x \*.o

    parancs a valami könyvtár tartalmát tárolja a valami.zip-ben, de kihagy minden .o-ra végződő nevű fájlt. A "\" megakadályozza a parancsértelmező automatikus fájlnév helyettesítését, így a nevek illesztését minden alkönyvtár-szinten a zip fogja végezni.

-X  Nem tárolja a speciális fájlattribútumokat (Kiterjesztett attribútumok az OS/2-nél, uid/gid és file módosítási idők a Unix-nál.)

-y  A szimbolikus linkeket önmagukban tárolja a zip file-ban, ahelyett, hogy a linkek által hivatkozott fájlokat tömörítené. (Csak Unix-nál.)

-z  Az egész zip file-ra vonatkozó többsoros megjegyzést olvas be a terminálról. A megjegyzés végét egy egyetlen pontot tartalmazó sor, vagy a fájlvége jel jelzi (^D Unix-on, ^Z MSDOS-on, OS/2-n és VAX/VMS-en). A megjegyzést fájlból is be lehet vinni:

        zip -z valami < mejegyzes

-#  A # számjegy megadásával szabályozza a tömörítés sebességét: -0: nincs tömörítés (csak tárol minden fájlt), -1: a leggyorsabb tömörítési módszer (gyengébb tömörítés), és -9: a leglassabb tömörítési módszer (optimális tömörítés, nem veszi figyelembe a fájlnevek végződését). Az alapértelmezett tömörítési szint a -6.

-@  A tömörítendő fájlok listáját a standard bemenetről veszi. A szóközt tartalmazó fájlneveket aposztrófok között kell megadni, például: 'file név'.

-$  Az első tömörítendő fájlt tartalmazó meghajtó kötetnevét is tárolja. Ha csak a kötetnevet akarjuk tárolni, vagy meg akarunk határozni egy adott meghajtót, akkor első fájlként írjuk a meghajtó nevét, például:

        zip -$ valami a: c:akarmi

    Ez az opció csak néhány rendszeren működik (MSDOS és OS/2), Unix-on nincs hatása.

PÉLDÁK
A legegyszerűbb példa:

    zip cucc *

Ez létrehozza a cucc.zip archívumot (feltéve, hogy korábban nem létezett), és az aktuális könyvtárban levő összes fájlt tárolja benne tömörített formában. (A .zip végződés automatikusan hozzáíródik az archívum file nevéhez, kivéve, ha az már tartalmazott pontot. Így explicit módon megadható más végződés is.)

A parancsértelmező fájlnév helyettesítési mechanizmusa miatt a "."-tal kezdődő fájlok nem kerülnek be az archívumba. Ha ezeket is hozzá akarjuk venni:

    zip cucc .* *

De ez sem tárolja az aktuális könyvtárból nyíló alkönyvtárakat.

Ha egy teljes könyvtárat akarunk zip-pelni:

    zip -r valami valami

Ez a parancs létrehozza a valami.zip archívumot, amibe bekerül a valami alkönyvtárban levő összes file és alkönyvtár.

Szükség lehet arra, hogy olyan zip archívumot hozzunk létre, amely tartalmazza a fájlokat a valami könyvtárból, de a valami könyvtárnevet nem tárolja. A -j opció segítségével levághatjuk az elérési utakat, például:

    zip -j valami valami/*

Ha kevés a szabad lemezterület, akkor előfordulhat, hogy az eredeti könyvtár és a tömörített változata nem fér el együtt. Ebben az esetben létrehozhatjuk az archívumot lépésekben is, a -m opció használatával. Ha a valami könyvtár tartalmazza a pista, feri, és jancsi alkönyvtárakat, akkor megtehetjük ezt:

    zip -rm valami valami/pista
    zip -rm valami valami/feri
    zip -rm valami valami/jancsi

Az első parancs létrehozza a valami.zip-et, és a másik kettő bővíti. Mindegyik zip parancs végrehajtása után az utoljára létrehozott archívum törlődik, elég helyet hagyva a következő zip parancs működéséhez.

MINTAILLESZTÉS
Ez a rész csak a UNIX-ra vonatkozik.

A UNIX parancsértelmezői (sh(1) és csh(1)) file-név helyettesítést végeznek a parancsok argumentumain. A speciális karakterek:

?   egyetlen tetszőleges karaktert helyettesít

*   tetszőleges számú karaktert helyettesít (beleértve a nullát is)

[]  a szögletes zárójelekben megadott tartományba tartozó egyetlen karaktert helyettesít (például: [a-f], [0-9]).

Amikor a parancsértelmező ezekkel a karakterekkel találkozik (ha nincsenek védve "\" karakterrel vagy idézőjelekkel), akkor az aktuális elérési úton olyan fájlokat fog keresni, amelyek neve illeszkedik a megadott mintára, és ezeknek a fájloknak a listájával helyettesíti az argumentumot.

A zip program is képes elvégezni ugyanezt a helyettesítést a módosítandó zip archívumban levő fájlokra, illetve a -x (kizárás) vagy -i (beillesztés) opciók esetében a megadott fájllistán (ha "\" karaktert vagy idézőjeleket használunk, hogy megakadályozzuk a parancsértelmező automatikus helyettesítését). Általánosan, amikor a zip a listában feldolgoz egy fájlnevet, akkor a fájlt először a fájlrendszerben keresi. Ha ott nem találja, akkor a módosítandó zip archívumban (ha van ilyen) keresi a fenti mintaillesztő karaktereknek megfelelően. Minden illeszkedő file nevet felvesz a feldolgozandó fájlok listájába, kivéve, ha az a -x opcióval megadott fájlok között van, illetve ha nincs a -i opcióval megadott fájlok között.

A mintaillesztésbe az elérési út is beletartozik, tehát például a \*.o mintának megfelel minden ".o"-ra végződő file, függetlenül az elérési út elejétől. Jegyezzük meg, hogy minden speciális karakter (pl. ?*[]) elé "\" karaktert kell írni, vagy az egész argumentumot dupla idézőjelek ("") közé kell tenni.

Általában használjunk "\" karaktert, hogy a zip-pel végeztessük a mintaillesztést a -f (frissítés) és -d (törlés) opcióknál, és néha a -x (kizárás) opció után is, ha a megfelelő művelettel használjuk (hozzáadás, -u, -f, vagy -d).

LÁSD MÉG
compress(1), shar(1L), tar(1), unzip(1L), gzip(1L)

HIBÁK
A zip 2.1 nem kompatíbilis a PKUNZIP 1.10-zel. A zip 1.1 használatával tudunk a PKUNZIP 1.10-zel kicsomagolható zip file-okat létrehozni.

A zip 2.1-el létrehozott zip file-okat nem szabad módosítani a zip 1.1-el vagy a PKZIP 1.10-zel, ha titkosított tagokat is tartalmaznak, illetve ha pipe-ról, vagy soros hozzáférésű eszközről hoztuk őket létre. A zip vagy a PKZIP régi verziói hibás formátumú archívumot hoznának létre. A régi verziók ki tudják listázni a zip file tartalmát, de nem tudják kicsomagolni (az új tömörítő algoritmus miatt). Ha nem használunk titkosítást, és csak közönséges, lemezen levő fájlokat használunk, akkor nem kell törődnünk ezzel a problémával.

VMS alatt a zip nem kezel megfelelően minden speciális file formátumot. Csak a "stream-LF" formátumú zip file-ok működnek a zip-pel. Más fájlok konvertálhatók Rahul Dhesi BILF programjával. A zip ezen verziója elvégzi a konverzió egy részét. Ha Kermit-et használunk zip fájlok másolására Vax-tól MSDOS-ra, akkor írjuk be a Vax-on, hogy "set file type block". Ha MSDOS-ról Vax-ra másolunk, akkor írjuk be a Vax-on, hogy "set file type fixed". Mindkét esetben az MSDOS-on írjuk be azt, hogy "set file type binary".

VMS alatt a zip elszáll, ha DECnet szintaxis szerinti fájlspecifikációt adunk meg, például: valami::*.*.

OS/2-n a zip nem tud megtalálni néhány file nevet, például azokat, amelyek felkiáltójelet vagy kettőskeresztet tartalmaznak. Ez a hiba az OS/2-ben van: a 32 bites DosFindFirst/Next nem találja meg az ilyen file neveket. A hiba más programokat is érint, például a GNU tar-t.

OS/2 alatt (kompatibilitási okokból) a DIR annyi kiterjesztett attribútumot mutat, amennyit a DosQueryPathInfo() 16 bites verziója visszaad. Ellenkező esetben az 1.3-as és a 2.0-ás OS/2-n a DIR különböző értékeket mutatna. A 32 bites DosQueryPathInfo() által visszaadott adatszerkezet egy kicsit különbözik, extra byte-okat tartalmaz a 4 byte-os határra igazítás miatt (hogy megfeleljen az OS/2 későbbi RISC verzióinak), valamint pointereket (valójában egy láncolt lista). Ezért a zip által mutatott érték (mivel a zip a 32 bites mód méretét használja) különbözik attól, amit a DIR mutat. A zip hordozhatósági okokból a 32 bites formátumot tárolja, még az OS/2 1.3-on futó 16 bites MS C-vel fordított változat is, tehát ez is a 32 bites mód méretét mutatja.

Az Amigán a -A opció egyelőre nem működik.

SZERZŐK
Copyright (C) 1990-1996 Mark Adler, Richard B. Wales, Jean-loup Gailly, Onno van der Linden, Kai Uwe Rommel, Igor Mandrichenko, John Bush and Paul Kienitz. Ezt a programot bármely személy vagy intézmény használhatja, másolhatja, vagy terjesztheti mindaddig, amíg az összes eredeti fájlt együtt tartja. A program eladásából nem szerezhet jövedelmet, és ezt a copyright szöveget változatlanul kell hagynia.

UGYANÚGY, MINT MÁS INGYENES DOLGOKNÁL, A ZIP-HEZ ÉS A HOZZÁ TARTOZÓ SEGÉDPROGRAMOKHOZ NEM JÁR SEMMILYEN GARANCIA. A SZERZŐI JOGOK TULAJDONOSAIT SEMMILYEN ESETBEN SEM TERHELI FELELŐSSÉG A PROGRAM HASZNÁLATÁBÓL ADÓDÓ BÁRMILYEN KÁROKÉRT.

Az eredeti szöveg:

Permission is granted to any individual or institution to use, copy, or redistribute this software so long as all of the original files are included, that it is not sold for profit, and that this copyright notice is retained.

LIKE ANYTHING ELSE THAT'S FREE, ZIP AND ITS ASSOCIATED UTILITIES ARE PROVIDED AS IS AND COME WITH NO WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED. IN NO EVENT WILL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DAMAGES RESULTING FROM THE USE OF THIS SOFTWARE.

A hibájelentéseket és a megjegyzéseket küldd a zip-bugs@wkuvx1.wku.edu címre. A hibajelentésekhez csatold a zip verziószámát (lásd zip -h ), a fordításnál használt make opciókat (lásd zip -v ), a gép típusát, az operációs rendszer nevét és verzióját, valamint minél több kiegészítő információt!

KÖSZÖNETNYILVÁNÍTÁS
Szeretnénk köszönetet mondani R. P. Byrne-nek a Shrink.Pas programjáért, amely ezt a projektet ihlette, és amiből a "shrink" algoritmust loptuk; Phil Katz-nak, amiért a zip file-formátumot, tömörítési formátumot és a .ZIP kiterjesztést public domain-be tette, és amiért elfogadott néhány kisebb módosítást a file-formátumon; Steve Burg-nek a "deflate" formátum tisztázásáért; Haruhiko Okumurának és Leonid Broukhis-nek a tömörítési algoritmushoz adott hasznos ötleteikért; Keith Petersen-nek, Rich Wales-nek, Hunter Goatley-nak és Mark Adler-nek, amiért fenntartják az INFO-ZIP csoport levelezési listáját és ftp szerverét; és legfőképpen az INFO-ZIP csoport tagjainak (a lista az infozip.who file-ban van), akiknek a fáradhatatlan tesztelési és hibajavítási munkája nélkül egy hordozható zip létrehozása nem lett volna lehetséges. Végül szeretnénk megköszönni (szemrehányást tenni) az első INFO-ZIP moderátornak, David Kirschbaum-nak, amiért egyáltalán belevitt minket ebbe az egészbe. Ezt a dokumentációt R. P. C. Rodgers írta át UNIX-ra.

MAGYAR FORDÍTÁS
Dénes Pál <denespal@valerie.inf.elte.hu>