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
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(1)
program kicsomagolja a zip archívumokat. A zip
és az unzip(1) 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 szabványos 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 szabványos 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
szabványos kimenet nem egy terminál, akkor a zip
szűrőként működve
tömörítve írja ki a szabványos kimenetre
a szabványos 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.
- -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
- 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 szabványos
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:
- 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:
- 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
- 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:
- 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:
- 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:
- 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 szabványos
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 szabványos 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.
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.
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).
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.
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!
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.
Dénes Pál <denespal@valerie.inf.elte.hu>