Synopsis
zip [-aABcdDeEfFghjklLmoqrRSTuvVwXyz!@$] [--longoption ...] [-b path] [-n suffixes] [-t date]
[-tt date] [zipfile [file ...]] [-xi list]
zipcloak (bkz. ayrı kılavuz sayfası)
zipnote (bkz. ayrı kılavuz sayfası)
zipsplit (bkz. ayrı kılavuz sayfası)
Not: zip uygulamasındaki komut satırı işleme, uzun seçenekleri destekleyecek ve tüm
seçenekleri ile argümanları daha tutarlı bir şekilde ele alacak şekilde değiştirilmiştir. Komut satırı
tutarsızlıklarına dayanan bazı eski komut satırları artık çalışmayabilir.
Description
zip; Unix, VMS, MSDOS, OS/2, Windows 9x/NT/XP, Minix, Atari, Macintosh, Amiga ve Acorn RISC OS sistemleri için bir sıkıştırma ve dosya paketleme aracıdır. Unix komutları olan tar(1) ve compress(1) komutlarının birleşimine benzer ve PKZIP (Phil Katz'in MSDOS sistemleri için geliştirdiği ZIP) ile uyumludur.
Eşlik eden bir program olan (unzip(1L)), zip arşivlerini açar. zip ve unzip(1L) programları, PKZIP tarafından üretilen arşivlerle (PKZIP sürüm 4.6'ya kadar olan çoğu PKZIP özelliğini destekleyerek) çalışabilir; PKZIP ve PKUNZIP ise zip tarafından üretilen arşivlerle (akışlı (streamed) arşivler başta olmak üzere bazı istisnalarla birlikte, ancak zip dosyası standardındaki son değişiklikler daha iyi uyumluluk sağlayabilir) çalışabilir. zip sürüm 3.0, PKZIP 2.04 ile uyumludur ve ayrıca hem arşivlerin hem de dosyaların önceki 2 GB sınırını (bazı durumlarda 4 GB) aşmasına izin veren PKZIP 4.5'in Zip64 uzantılarını destekler. zip, derleme sırasında bzip2 kütüphanesi dahil edilmişse artık bzip2 sıkıştırmasını da desteklemektedir. PKUNZIP 1.10 programının PKZIP 2.04 veya zip_3.0 tarafından üretilen dosyaları çıkartamayacağını unutmayın. Bunları çıkartmak için PKUNZIP 2.04g veya unzip_5.0p1 (ya da daha yeni sürümlerini) kullanmalısınız.
zip'in bazı tipik kullanım örnekleri için bu sayfanın altındaki ÖRNEKLER (EXAMPLES) bölümüne bakın.
Büyük Arşivler ve Zip64. zip; bir arşive 4 GB'tan büyük dosyalar eklendiğinde, Zip64 girdileri içeren bir arşiv güncellendiğinde (eğer sonuç arşivi hâlâ Zip64 gerektiriyorsa), arşiv boyutu 4 GB'ı aşacağında veya arşivdeki girdi sayısı yaklaşık 64B'yi (64K) aşacağında otomatik olarak Zip64 uzantılarını kullanır. Zip64 ayrıca, boyutları önceden bilinmediği için standart girdiden akış olarak alınan (streamed) arşivler için de kullanılır; ancak zip'i PKZIP 2 uyumlu arşivler oluşturmaya zorlamak için (Zip64 uzantılarına ihtiyaç duyulmadığı sürece) -fz- seçeneği kullanılabilir. Zip64 uzantılarını kullanan dosyaları çıkartmak için unzip_6.0 veya daha yeni bir sürüm gibi PKZIP 4.5 uyumlu bir unzip kullanmalısınız.
Buna ek olarak; veri tanımlayıcıları (data descriptors) kullanıldığından ve bu yazının yazıldığı sırada PKZIP veri tanımlayıcılarını desteklemediğinden, akışlı arşivler, standart şifreleme ile şifrelenmiş girdiler veya duraklatma (pause) seçeneğiyle oluşturulmuş bölünmüş (split) arşivler PKZIP ile uyumlu olmayabilir (ancak PKWare tarafından yayınlanan zip standardındaki son değişiklikler artık zip'in kullandığı veri tanımlayıcı formatına yönelik bazı destekler içermektedir).
Mac OS X. Önceki Mac sürümlerinin kendi zip portu olmasına rağmen, zip Unix portunun bir parçası olarak Mac OS X'i destekler ve Unix özelliklerinin çoğu geçerlidir. Aşağıdaki "MacOS" referansları genellikle OS X'ten eski MacOS sürümlerini ifade eder. Unix Mac OS X portunda kaynak çatalları (resource forks) gibi bazı Mac OS özelliklerine yönelik desteğin bir sonraki zip sürümünde sunulması beklenmektedir.
zip ve unzip hakkında kısa bir yardım almak için, her birini komut satırında herhangi bir parametre belirtmeden çalıştırın.
Use
Program; dağıtım için bir grup dosyayı paketlemek, dosyaları arşivlemek ve kullanılmayan dosya veya dizinleri geçici olarak sıkıştırarak disk alanından tasarruf etmek için kullanışlıdır.
zip programı, bir veya daha fazla sıkıştırılmış dosyayı; dosyalar hakkındaki bilgilerle (ad, yol, tarih, son değişiklik zamanı, koruma ve dosya bütünlüğünü doğrulamak için kontrol bilgileri) birlikte tek bir zip arşivine yerleştirir. Tek bir komutla bütün bir dizin yapısı bir zip arşivine paketlenebilir. Metin dosyaları için genellikle 2:1 ila 3:1 oranında sıkıştırma yaygındır. zip'in tek bir sıkıştırma yöntemi (deflation) vardır ve ayrıca dosyaları sıkıştırmadan da depolayabilir (store). (Eğer bzip2 desteği eklenmişse, zip bzip2 sıkıştırmasını kullanarak da sıkıştırabilir, ancak bu tür girdileri açmak için makul derecede modern bir unzip gerekir. bzip2 sıkıştırması seçildiğinde varsayılan yöntem olarak deflation yönteminin yerini alır.) zip, sıkıştırılacak her dosya için otomatik olarak en iyi olan seçeneği (deflation veya store ya da bzip2 seçilmişse bzip2 veya store) seçer.
Komut formatı. Temel komut formatı şöyledir:
zip seçenekler arşiv_dosyası girdi_yolu girdi_yolu ...
Burada arşiv_dosyası yeni veya mevcut bir zip arşivi, girdi_yolu ise isteğe bağlı olarak joker karakterler (wildcards) içeren bir dizin veya dosya yoludur. Mevcut bir zip arşivinin adı verildiğinde, zip arşiv içindeki aynı adlı girdileri (arşivde saklanan göreceli adlarla eşleştirerek) değiştirir veya yeni adlar için girdiler ekler. Örneğin, eğer foo.zip mevcutsa ve foo/file1 ile foo/file2 içeriyorsa ve foo dizini de foo/file1 ile foo/file3 dosyalarını içeriyorsa:
zip -r foo.zip foo
veya daha kısa bir ifadeyle
zip -r foo foo
komutu foo.zip içindeki foo/file1 dosyasını değiştirecek ve foo/file3 dosyasını foo.zip'e ekleyecektir. Bundan sonra foo.zip; foo/file2 öncesiyle aynı kalacak şekilde foo/file1, foo/file2 ve foo/file3 dosyalarını içerecektir.
Yani, zip komutu çalıştırılmadan önce foo.zip şunlara sahipse:
foo/file1 foo/file2
ve foo dizini şunlara sahipse:
file1 file3
o zaman foo.zip şunlara sahip olacaktır:
foo/file1 foo/file2 foo/file3
burada foo/file1 değiştirilmiş ve foo/file3 yeni eklenmiştir.
-@ dosya listeleri. Bir dosya listesi -@ olarak belirtilirse [MacOS'ta yoktur], zip girdi dosyalarının listesini komut satırı yerine standart girdiden (standard input) alır. Örneğin,
zip -@ foo
komutu, standart girdide (stdin) satır başına bir tane olacak şekilde listelenen dosyaları foo.zip içinde saklayacaktır.
Unix altında bu seçenek, find(1) komutuyla birlikte kullanılarak çok güçlü bir etki oluşturabilir. Örneğin, mevcut dizin ve alt dizinlerindeki tüm C kaynak dosyalarını arşivlemek için:
find . -name "*.[ch]" -print | zip source -@
(kabuğun deseni genişletmesini önlemek için desenin tırnak içine alınması gerektiğine dikkat edin).
Akışlı girdi ve çıktı. zip, zip dosya adı olarak tek bir tire ("-") işaretini de kabul eder; bu durumda zip dosyasını standart çıktıya (standard output) yazarak çıktının başka bir programa yönlendirilmesini (pipe) sağlar. Örneğin:
zip -r - . | dd of=/dev/nrst0 obs=16k
komutu, mevcut dizini yedeklemek amacıyla zip çıktısını doğrudan belirtilen blok boyutundaki bir banda yazacaktır.
zip ayrıca sıkıştırılacak dosyanın adı olarak tek bir tire ("-") işaretini de kabul eder; bu durumda dosyayı standart girdiden okuyarak zip'in girdiyi başka bir programdan almasını sağlar. Örneğin:
tar cf - . | zip backup -
komutu, mevcut dizini yedeklemek amacıyla tar komutunun çıktısını sıkıştıracaktır. Bu işlem, zip dosyalar arasındaki fazlalıklardan (redundancy) yararlanabildiği için genellikle -r seçeneğinin kullanıldığı önceki örneğe göre daha iyi sıkıştırma sağlar. Yedek şu komutla geri yüklenebilir:
unzip -p backup | tar xf -
Hiçbir zip dosya adı verilmediğinde ve standart çıktı (stdout) bir terminal olmadığında, zip bir filtre görevi görerek standart girdiyi standart çıktıya sıkıştırır. Örneğin,
tar cf - . | zip | dd of=/dev/nrst0 obs=16k
şuna eşdeğerdir:
tar cf - . | zip - - | dd of=/dev/nrst0 obs=16k
Bu şekilde oluşturulan zip arşivleri, unzip paketiyle birlikte sunulan funzip programıyla veya gzip paketiyle birlikte sunulan gunzip programıyla çıkartılabilir (ancak zip Zip64 uzantılarını kullanmışsa bazı gunzip sürümleri bunu desteklemeyebilir). Örneğin:
dd if=/dev/nrst0 ibs=16k | funzip | tar xvf -
Akış ayrıca bir dosyaya kaydedilebilir ve unzip kullanılabilir.
Büyük dosyalar ve arşivler için Zip64 desteği etkinse ve zip bir filtre olarak kullanılıyorsa, zip okunabilmesi için PKZIP 4.5 veya daha yeni bir sürümle uyumlu bir unzip gerektiren bir Zip64 arşivi oluşturur. Bu durum, mevcut zip standardında (PKWARE AppNote) tanımlanan zip dosyası yapısındaki belirsizlikleri önlemek içindir; çünkü Zip64 kullanma kararının girdi için veri yazılmadan önce verilmesi gerekir, ancak bir akışta verinin boyutu o noktada bilinmemektedir. Verinin 4 GB'tan küçük olduğu biliniyorsa, Zip64 kullanımını engellemek için -fz- seçeneği kullanılabilir, ancak Zip64'e gerçekten ihtiyaç duyulduysa zip bir hata ile çıkacaktır. zip_3, unzip_6 ve daha yeni sürümler Zip64 girdileri içeren arşivleri okuyabilir. Ayrıca zip, arşiv girdileri kopyalandığında (bkz. -U (--copy) seçeneği) ihtiyaç duyulmuyorsa Zip64 uzantılarını kaldırır.
Çıktıyı başka bir dosyaya yönlendirirken, -x dahil tüm seçeneklerin yönlendirmeden önce olması gerektiğini unutmayın. Örneğin:
zip archive ".h" ".c" -x donotinclude.h orthis.h > tofile
Zip dosyaları. Mevcut bir zip arşivini değiştirirken zip, yeni içeriğe sahip geçici bir dosya yazacak ve eski sürümün yerine yenisini ancak yeni sürümü oluşturma işlemi hatasız tamamlandığında koyacaktır.
Eğer zip arşivinin adı bir uzantı içermiyorsa, .zip uzantısı eklenir. Eğer ad zaten .zip dışında bir uzantı içeriyorsa, mevcut uzantı değiştirilmeden korunur. Ancak bölünmüş arşivler (birden fazla dosyaya bölünmüş arşivler), son bölümde .zip uzantısının bulunmasını gerektirir.
Dosyaları tarama ve okuma. zip başladığında, işlenecek dosyaları tarar (gerekirse). Bu tarama yaklaşık 5 saniyeden uzun sürerse, zip bir "Scanning files" (Dosyalar taranıyor) mesajı görüntüler ve hangisi daha uzun sürerse, her 2 saniyede bir veya işlenen çok sayıda girdi başına ilerleme noktaları görüntülemeye başlar. Noktalar arasında 2 saniyeden fazla süre olması, her bir dosyayı bulmanın zaman aldığını gösterebilir ve örneğin yavaş bir ağ bağlantısı anlamına gelebilir. (Aslında ilk dosya taraması, dizin taramasını bir sıralamanın takip ettiği iki adımlı bir süreçtir ve bu iki adım noktalarda bir boşlukla ayrılır. Mevcut bir arşivi güncellerken, mevcut dosya taraması ile yeni dosya taraması arasında da bir boşluk görünür.) Taranan dosya noktaları -ds nokta boyutu seçeneğiyle kontrol edilmez, ancak noktalar -q sessiz (quiet) seçeneğiyle kapatılır. -sf dosyaları göster (show files) seçeneği, dosyaları taramak ve aslında onları işlemeden taranan dosyaların listesini almak için kullanılabilir.
Eğer zip bir dosyayı okuyamazsa, bir uyarı yayınlar ancak devam eder. zip'in eşleşmeyen desenleri ve okunamayan dosyaları nasıl ele aldığı hakkında daha fazla bilgi için aşağıdaki -MM seçeneğine bakın. Bazı dosyalar atlanmışsa, zip işleminin sonunda kaç dosyanın okunduğunu ve kaçının atlandığını belirten bir uyarı yayınlanır.
Komut modları. zip artık harici ve dahili olmak üzere iki farklı türde komut modunu desteklemektedir. Harici modlar (ekle (add), güncelle (update) ve tazele (freshen)) dosya sisteminden (ve mevcut bir arşivden) dosyaları okurken, dahili modlar (sil (delete) ve kopyala (copy)) yalnızca mevcut bir arşivdeki girdiler üzerinde işlem yapar.
ekle (add) Mevcut girdileri günceller ve yeni dosyalar ekler. Arşiv mevcut değilse onu oluşturur. Bu, varsayılan moddur.
güncelle (update) (-u) Dosya sisteminde daha yeniyse mevcut girdileri günceller ve yeni dosyalar ekler. Arşiv mevcut değilse uyarı verir ve ardından yeni bir arşiv oluşturur.
tazele (freshen) (-f) Dosya sisteminde daha yeniyse bir arşivin mevcut girdilerini günceller. Arşive yeni dosyalar eklemez.
sil (delete) (-d) Mevcut bir arşivdeki girdileri seçer ve siler.
kopyala (copy) (-U) Mevcut bir arşivdeki girdileri seçer ve onları yeni bir arşive kopyalar. Bu yeni mod güncellemeye benzer ancak komut satırı desenleri dosya sistemindeki dosyalar yerine mevcut arşivdeki girdileri seçer ve ortaya çıkan arşivi mevcut arşivi güncellemek yerine yeni bir dosyaya yazmak için --out seçeneğini kullanır, böylece orijinal arşivi değiştirmeden bırakır.
Yeni Dosya Senkronizasyonu (File Sync) seçeneği (-FS) de güncellemeye benzer olsa da yeni bir mod olarak kabul edilir. Bu mod, arşivi işletim sistemindeki dosyalarla senkronize eder; işletim sistemindeki dosyanın süresi veya boyutu farklıysa arşivdeki dosyaları değiştirir, yeni dosyalar ekler ve işletim sisteminde eşleşen bir dosyası olmayan girdileri arşivden siler. Bu mod arşivden girdileri silebildiğinden, arşivin bir yedek kopyasını almayı düşünebilirsiniz.
Fark arşivleri oluşturmak için ayrıca -DF seçeneğine de bakın.
Ayrıntılar için aşağıdaki her bir seçeneğin açıklamasına ve örnekler için aşağıdaki ÖRNEKLER (EXAMPLES) bölümüne bakın.
Bölünmüş arşivler. zip sürüm 3.0 ve daha yenisi bölünmüş arşivler oluşturabilir. Bölünmüş arşiv, birden fazla dosyaya bölünmüş standart bir zip arşivdir. (Bölünmüş arşivlerin yalnızca parçalara bölünmüş arşivler olmadığına dikkat edin; çünkü girdilerin kaymaları (offsets) artık her bir bölümün başlangıcına dayanır. Parçaları birbirine eklemek bu kaymaları geçersiz kılacaktır, ancak unzip genellikle bununla başa çıkabilir. zip, kaymaları düzeltmek için -FF düzeltme (fix) seçeneği kullanılmadığı sürece bu şekilde eklenmiş bir arşivi işlemeyi genellikle reddedecektir.)
Bölünmüş arşivlerin bir kullanımı, büyük bir arşivi birden fazla çıkarılabilir medyada saklamaktır. 20 bölünmüş dosyaya sahip bölünmüş bir arşiv için dosyalar genellikle şu şekilde adlandırılır (ARCHIVE ifadesini arşivinizin adıyla değiştirin): ARCHIVE.z01, ARCHIVE.z02, ..., ARCHIVE.z19, ARCHIVE.zip. Son dosyanın .zip dosyası olduğuna dikkat edin. Buna karşılık, yayılmış (spanned) arşivler, genellikle disket gerektiren ve disk numaralarını saklemek için birim etiketlerini (volume labels) kullanan orijinal çoklu disk arşivleridir. zip bölünmüş arşivleri destekler ancak yayılmış arşivleri desteklemez; yine de doğru boyuttaki bölünmüş arşivleri yayılmış arşivlere dönüştürmek için bir prosedür mevcuttur. Bunun tersi de geçerlidir; yayılmış bir arşivin her bir dosyası, bölünmüş bir arşiv oluşturmak için yukarıdaki adlara sahip dosyalara sırayla kopyalanabilir.
Bölünme boyutunu ayarlamak ve bölünmüş bir arşiv oluşturmak için -s seçeneğini kullanın. Boyut, bir sayı ve ardından isteğe bağlı olarak k (kB), m (MB), g (GB) veya t (TB) harflerinden biriyle verilir (varsayılan m'dir). -sp seçeneği, örneğin çıkarılabilir medyayı değiştirmeye izin vermek için bölünmeler arasında zip'i duraklatmak için kullanılabilir; ancak aşağıdaki hem -s hem de -sp açıklamalarını ve uyarılarını okuyun.
zip bölünmüş arşivleri güncellemiyor olsa da, bölünmüş arşivlerin güncellenmesine ve yeni bir arşivde saklanmasına izin vermek için yeni -O (--output-file veya
--out) seçeneğini sunar.: Örneğin,
zip inarchive.zip foo.c bar.c --out outarchive.zip
komutu, bölünmüş olsa bile inarchive.zip arşivini okur, foo.c ve bar.c dosyalarını ekler ve ortaya çıkan arşivi outarchive.zip dosyasına yazar. Eğer inarchive.zip bölünmüşse, outarchive.zip de varsayılan olarak aynı bölünme boyutunu kullanır. Eğer outarchive.zip ve onunla birlikte oluşturulan herhangi bir bölünmüş dosya zaten mevcutsa, bunların uyarı yapılmadan her zaman gerektiği gibi üzerine yazılacağını unutmayın. Bu durum gelecekte değiştirilebilir.
Unicode. zip standardı bir arşivdeki yolların belirli bir karakter kümesi kullanılarak saklanmasını gerektirse de, uygulamada zip dosyaları yolları arşivlerde yerel karakter kümesi neyse o şekilde saklamıştır. Bu durum, bir arşiv bir karakter kümesi kullanan bir sistemde oluşturulduğunda veya güncellendiğinde ve ardından farklı bir karakter kümesi kullanan başka bir sistemde çıkartıldığında sorunlara yol açar. Geniş karakterleri (wide characters) destekleyen platformlarda Unicode desteği etkin olarak derlendiğinde, zip artık geriye dönük uyumluluk için standart yerel yolun yanı sıra yolun UTF-8 çevirisini de saklar. Bu, yolları saklamak için ortak bir evrensel karakter kümesi sağlar ve bu yolların Unicode'u destekleyen diğer sistemlerde tamamen çıkartılmasına ve desteklemeyen sistemlerde mümkün olduğunca yakın eşleşmesine olanak tanır.
Yolların dahili olarak Unicode olarak saklandığı ancak yerel karakter kümesinde temsil edildiği Win32 sistemlerinde, yerel karakter kümesi dizin taraması sırasında bazı yolların atlanması olasıdır. Unicode desteğine sahip zip artık bu yolları okuyabilir ve saklayabilir. Win 9x sistemlerinin ve FAT dosya sistemlerinin Unicode'u tam olarak desteklemediğini unutmayın.
Örneğin Win32 ve Unix üzerindeki konsol pencerelerinin, her bir işletim sisteminin karakter kümelerini ekran için nasıl değiştirdiğine bağlı olarak bazen tüm karakterleri doğru göstermediğini unutmayın. Ancak, gerekli yazı tipleri yüklenmişse dizin gezinme araçları doğru yolları göstermelidir.
Komut satırı formatı. zip'in bu sürümü güncellenmiş komut satırı işlemeye ve uzun seçenekler için desteğe sahiptir.
Kısa seçenekler şu biçimi alır:
-s[-][s[-]...][değer][=değer][ değer]
Burada s, bir veya iki karakterlik kısa bir seçenektir. Bir değer alan kısa seçenek, bir argümanda en sondadır ve ondan sonraki her şey değer olarak kabul edilir. Eğer seçenek olumsuzlanabiliyorsa ve seçeneği hemen bir "-" takip ediyorsa, seçenek olumsuzlanır. Kısa seçenekler ayrıca ayrı argümanlar olarak da verilebilir:
-s[-][değer][=değer][ değer] -s[-][değer][=değer][ değer] ...
Kısa seçenekler genellikle değerleri ya aynı argümanın bir parçası olarak ya da sonraki argüman olarak alır. İsteğe bağlı bir = işareti de desteklenir. Bu nedenle:
-ttayggyyyy
ve
-tt=ayggyyyy
ve
-tt ayggyyyy
biçimlerinin hepsi çalışır. -x ve -i seçenekleri değer listelerini kabul eder ve aşağıda açıklanan biraz farklı bir biçim kullanır. Bkz. -x ve -i seçenekleri.
Uzun seçeneker şu biçimi alır:
--uzunseçenek[-][=değer][ değer]
Burada seçenek -- ile başlar, çok karakterli bir ada sahiptir, seçeneği olumsuzlamak için sondaki bir tire işaretini içerebilir (eğer seçenek bunu destekliyorsa) ve önüne = getirilerek (boşluksuz) belirtilen bir değere (seçenek argümanı) sahip olabilir. Değerler ayrıca argümanı takip edebilir. Dolayısıyla:
--before-date=ayggyyyy
ve
--before-date ayggyyyy
biçimlerinin ikisi de çalışır.
Uzun seçenek adları en kısa benzersiz kısaltmaya kadar kısaltılabilir. Hangilerinin uzun seçenekleri desteklediğini görmek için aşağıdaki seçenek açıklamalarına bakın. Karışıklığı önlemek için, olumsuzlamayı planlıyorsanız içinde tire ("-") bulunan olumsuzlanabilir bir seçeneği tire kısmında kısaltmaktan kaçının (ayrıştırıcı, --some-option seçeneği için seçenek olarak --some- kullanıldığında sondaki tireyi olumsuzlama tiresinden ziyade adın bir parçası olarak kabul edecektir). Bu durum gelecekte --some- içindeki son tireyi olumsuzlama yapmaya zorlayacak şekilde değiştirilebilir.
Options
-a --ascii [EBCDIC kullanan sistemler] Dosyayı ASCII formatına çevirir.
-A --adjust-sfx Kendiliğinden açılan (self-extracting) yürütülebilir arşivi ayarlar. Kendiliğinden açılan yürütülebilir bir arşiv, SFX taslağının (SFX stub) mevcut bir arşivin başına eklenmesiyle oluşturulur. -A seçeneği, zip'e bu "önsöz" (preamble) verisini hesaba katmak için arşivde saklanan girdi kaymalarını (offsets) ayarlamasını söyler.
Not: Amiga için kendiliğinden açılan arşivler özel bir durumdur. Şu anda, zip'in yalnızca Amiga portu bunları bozmadan ayarlayabilir veya güncelleyebilir. Diğer güncellemelerin yapılması gerekiyorsa SFX taslağını kaldırmak için -J kullanılabilir.
-AC --archive-clear [WIN32] Arşiv oluşturulduktan (ve kullanılması önerilen -T seçeneği kullanılmışsa test edildikten) sonra, işlenen dosyaların arşiv bitlerini temizler. UYARI: Bitler bir kez temizlendikten sonra temizlenmiş olarak kalır. Arşivleme işleminin tekrarlanması gerekebileceği ihtimaline karşı işlenen dosyaların listesini saklamak için -sf dosyaları göster (show files) seçeneğini kullanmak isteyebilirsiniz. Ayrıca -MM kesinlikle eşleşmeli (must match) seçeneğini kullanmayı da düşünebilirsiniz. Artımlı (incremental) yedeklemeler yapmanın muhtemelen daha iyi bir yolu olarak -DF seçeneğini mutlaka inceleyin.
-AS --archive-set [WIN32] Yalnızca arşiv biti ayarlanmış dosyaları dahil eder. -AS kullanıldığında dizinler depolanmaz, ancak varsayılan olarak dizinler dahil olmak üzere girdilerin yolları her zamanki gibi saklanır ve çoğu unzip programı tarafından dizinleri yeniden oluşturmak için kullanılabilir.
Arşiv biti, bir dosya değiştirildiğinde işletim sistemi tarafından ayarlanır ve -AC ile birlikte kullanıldığında -AS seçeneği artımlı (incremental) bir yedekleme yeteneği sağlayabilir. Ancak, diğer uygulamalar da arşiv bitini değiştirebilir ve bu bit, son arşivleme işleminden bu yana hangi dosyaların değiştiğinin güvenilir bir göstergesi olmayabilir. Artımlı yedeklemeler oluşturmanın alternatif yolları, dosyaların tarihlerini kullanmak için -t seçeneğini kullanmaktır (ancak bu, arşivlenen dizinlere kopyalanan eski dosyaları yakalamayacaktır) ve diferansiyel bir arşiv oluşturmak için -DF seçeneğini kullanmaktır.
-B --binary [VM/CMS ve MVS] dosyayı ikili (binary) olarak okunmaya zorlar (varsayılan metindir).
-Bn: [TANDEM] n değeri şu şekilde tanımlanacak şekilde Edit/Enscribe biçimlendirme seçeneklerini ayarlar: bit 0: Sınırlayıcı ekleme (Edit/Enscribe) bit 1: Sınırlayıcı olarak CR/LF yerine LF kullan (Edit/Enscribe) bit 2: Kaydı maksimum kayıt uzunluğuna kadar boşlukla doldur (Enscribe) bit 3: Sondaki boşluğu kırp (Enscribe) bit 8: Yapılandırılmamış dosyalar için 30K (Genişletilmiş) büyük okumayı zorla
-b path --temp-path path Geçici zip arşivi için belirtilen yolu kullanır. Örneğin:
zip -b /tmp stuff *
komutu, geçici zip arşivi /tmp dizinine yerleştirecek ve işlem tamamlandığında stuff.zip dosyasını mevcut dizine kopyalayacaktır. Bu seçenek, mevcut bir arşiv güncellenirken ve bu eski arşivi barındıran dosya sisteminde hem eski hem de yeni arşivi aynı anda tutmak için yeterli alan olmadığında kullanışlıdır. Bazı durumlarda akış yaparken veri tanımlayıcılarına olan ihtiyacı önlemek için de yararlı olabilir. Bu seçeneğin kullanılmasının, işlem tamamlandığında arşiv dosyasını hedef dosya sistemine kopyalamak için zip'in ek süre harcamasını gerektirebileceğini unutmayın.
-c --entry-comments Her dosya için tek satırlık yorumlar ekler. Dosya işlemleri (ekleme, güncelleme) önce yapılır ve ardından kullanıcıdan her dosya için tek satırlık bir yorum istenir. Yorumu girdikten sonra Enter'a basın veya yorum eklememek için doğrudan Enter'a basın.
-C --preserve-case [VMS] VMS üzerinde tüm harf büyüklüklerini (case) korur. Bu seçeneğin olumsuzlanması (-C-) harfleri küçük harfe dönüştürür.
-C2 --preserve-case-2 [VMS] VMS üzerinde ODS2 harf büyüklüklerini korur. Bu seçeneğin olumsuzlanması (-C2-) harfleri küçük harfe dönüştürür.
-C5 --preserve-case-5 [VMS] VMS üzerinde ODS5 harf büyüklüklerini korur. Bu seçeneğin olumsuzlanması (-C5-) harfleri küçük harfe dönüştürür.
-d --delete Bir zip arşivinden girdileri kaldırır (siler). Örneğin:
zip -d foo foo/tom/junk foo/harry/* *.o
komutu foo/tom/junk girdisini, foo/harry/ ile başlayan tüm dosyaları ve .o ile biten tüm dosyaları (herhangi bir yoldaki) kaldıracaktır. Kabuk yol adı genişletmesinin ters eğik çizgilerle (backslashes) engellendiğine dikkat edin; böylece zip yıldız işaretlerini görebilir ve mevcut dizinin içeriği yerine zip arşivinin içeriğiyle eşleştirme yapabilir. (Ters eğik çizgiler MSDOS tabanlı platformlarda kullanılmaz.) Yıldız işaretlerini kaçırmak için tırnak işaretleri de kullanılabilir, örneğin:
zip -d foo foo/tom/junk "foo/harry/" ".o"
Kabuğun joker karakterleri genişlettiği bir sistemde yıldız işaretlerinin kaçırılmaması, yıldız işaretlerinin mevcut dizindeki dosyaların bir listesine dönüştürülmesine ve bu listenin arşivden girdileri silmek için kullanılmasına neden olabilir.
MSDOS altında, -d seçeneği zip arşivindeki adlarla eşleşirken harf büyüklüğüne duyarlıdır. Bu durum, eğer dosyalar bir MSDOS sisteminde PKZIP tarafından zip'lenmişse, dosya adlarının büyük harfle girilmesini gerektirir. (Yolların harf büyüklüğüne duyarsız olduğu sistemlerde bunu harf büyüklüğüne duyarsız yapmayı düşündük, ancak arşivin harf büyüklüğünün önemli olduğu bir sistemden gelmiş olması ve arşivde hem Bar hem de bar dosyalarının ayrı ayrı bulunması mümkündür.) Ancak arşivdeki harf büyüklüğünü yok saymak için yeni -ic seçeneğine bakın.
-db --display-bytes Sıkıştırılan bayt sayısını ve kalan bayt sayısını gösteren çalışan bayt sayaçlarını görüntüler.
-dc --display-counts Sıkıştırılan girdi sayısını ve kalan girdi sayısını gösteren çalışan girdi sayaçlarını görüntüler.
-dd --display-dots Her bir girdi sıkıştırılırken noktalar görüntüler (kendi ilerleme göstergesi olan portlar hariç). Nokta boyutunu ayarlamak için aşağıdaki -ds seçeneğine bakın. Varsayılan değer, işlenen her 10 MB'lık girdi dosyası için bir noktadır. -v seçeneği de noktalar görüntüler (daha önce bundan çok daha yüksek bir hızdaydı ancak şimdi -v de varsayılan olarak 10 MB değerini kullanır) ve bu hız da -ds ile kontrol edilir.
-df --datafork [MacOS] Arşive zip'lenen dosyaların yalnızca veri çatalını (data-fork) dahil eder. Dosyaları yabancı işletim sistemlerine aktarmak için iyidir. Kaynak çatalları (resource-forks) tamamen yok sayılacaktır.
-dg --display-globaldots Her bir dosya yerine arşiv geneli için ilerleme noktaları görüntüler.
zip -qdgds 10m
komutu, her 10 MB'ta bir görüntülenecek noktalar hariç çoğu çıktıyı kapatacaktır.
-ds size --dot-size size Görüntülenen her bir nokta için işlenen girdi dosyası miktarını ayarlar. Noktaların görüntülenmesini etkinleştirmek için -dd seçeneceğine bakın. Bu seçeneğin ayarlanması -dd seçeneğini de etkinleştirir. Boyut, n'in bir sayı ve m'nin bir çarpan olduğu nm biçimindedir. Şu anda m; k (KB), m (MB), g (GB) veya t (TB) olabilir, dolayısıyla n 100 ve m k ise boyut 100 KB olan 100k olacaktır. Varsayılan değer 10 MB'tır.
-v seçeneği de noktalar görüntüler ve artık o da varsayılan olarak 10 MB değerini kullanır. Bu hız da bu seçenekle kontrol edilir. 0 boyutu noktaları kapatır.
Bu seçenek, zip girdi dosyalarını tararken çıkan "Scanning files" (Dosyalar taranıyor) mesajındaki noktaları kontrol etmez. Bunun için nokta boyutu, hangisi daha uzunsa 2 saniye veya sabit sayıda girdi olarak sabitlenmiştir.
-du --display-usize Her bir girdinin sıkıştırılmamış boyutunu görüntüler.
-dv --display-volume Mevcut bir arşiv okunuyorsa her bir girdinin okunduğu ve yazıldığı birim (disk) numarasını görüntüler.
-D --no-dir-entries Dizinler için zip arşivinde girdiler oluşturmaz. Dizin özniteliklerinin zip arşivine kaydedilebilmesi için varsayılan olarak dizin girdileri oluşturulur. Varsayılan seçenekleri değiştirmek için ZIPOPT çevre değişkeni kullanılabilir. Örneğin, sh kabuğu ile Unix altında:
ZIPOPT="-D"; export ZIPOPT
(ZIPOPT değişkeni, aşağıda ayrıntıları verilen yeni bir seçenek biçimi kullanılarak -i ve -x dahil olmak üzere herhangi bir seçenek için kullanılabilir ve birkaç seçenek içerebilir.) -D seçeneği, -x "*/" için bir kısaltmadır ancak ikincisi daha önce ZIPOPT çevre değişkeninde varsayılan olarak ayarlanamıyordu çünkü ZIPOPT içeriği komut satırının başlangıcına yakın bir yere ekleniyordu ve dosya listesinin satırın sonunda bitmesi gerekiyordu.
zip'in bu sürümü, eğer listenin @ (yalnızca @ karakterinden oluşan bir argüman) ile sonlandırıldığı şu biçim kullanılırsa ZIPOPT içinde -x ve -i seçeneklerine izin verir:
-x dosya dosya ... @
-DF --difference-archive Orijinal arşiv oluşturulduğundan beri tüm yeni ve değiştirilmiş dosyaları içeren bir arşiv oluşturur. Bunun çalışabilmesi için, girdi dosyası listesinin ve mevcut dizinin orijinal zip işlemiyle aynı olması gerekir.
Örneğin, eğer mevcut arşiv bar dizininden şu komut kullanılarak oluşturulmuşsa:
zip -r foofull .
o zaman yine bar dizininden çalıştırılan şu komut:
zip -r foofull . -DF --out foonew
yalnızca foofull içinde bulunmayan dosyaları ve dosya boyutu veya dosya zamanı foofull içindekilerle eşleşmeyen dosyaları içeren foonew arşivini oluşturur.
Bu seçeneğin doğru çalışabilmesi için TZ saat dilimi çevre değişkeninin yerel saat dilimine göre ayarlanması gerektiğini unutmayın. Orijinal arşiv oluşturulduğundan beri saat diliminde meydana gelen bir değişiklik, hiçbir zamanın eşleşmemesine ve tüm dosyaların dahil edilmesine neden olabilir.
Bir dizini yedeklemek için olası bir yaklaşım, tam yedekleme olarak dizin içeriğinin normal bir arşivini oluşturmak ve ardından artımlı yedeklemeler oluşturmak için bu seçeneği kullanmak olabilir.
-e --encrypt Bir isteme yanıt olarak terminale girilen bir parolayı kullanarak zip arşivinin içeriğini şifreler (bu parola ekrana yansıtılmayacaktır; standart hata bir tty değilse, zip bir hata ile çıkacaktır). Kullanıcıyı yazım hatalarından korumak için parola istemi tekrarlanır.
-E --longnames [OS/2] Eğer bulunursa .LONGNAME Genişletilmiş Özniteliğini (Extended Attribute) dosya adı olarak kullanır.
-f --freshen Mevcut bir girdiyi zip arşivinde yalnızca zip arşivindeki sürümünden daha yakın bir zamanda değiştirilmişse değiştirir (tazeler); güncelleme (-u) seçeneğinin aksine, bu seçenek zip arşivinde zaten bulunmayan dosyaları eklemez. Örneğin:
zip -f foo
Zip arşivlerinde saklanan yollar her zaman göreceli olduğundan, bu komut orijinal zip komutunun çalıştırıldığı dizinle aynı dizinden çalıştırılmalıdır.
-f, -u ve -o seçeneklerinin doğru çalışabilmesi için TZ saat dilimi çevre değişkeninin yerel saat dilimine göre ayarlanması gerektiğini unutmayın.
Bunun arkasındaki nedenler biraz karmaşıktır ancak Unix formatındaki dosya zamanları (her zaman GMT cinsinden) ile diğer işletim sistemlerinin çoğunun (her zaman yerel saat) arasındaki farklar ve ikisini karşılaştırma zorunluluğu ile ilgilidir. Tipik bir TZ değeri "MET-1MEST" şeklindedir (yaz saati uygulaması veya Gün Işığından Yararlanma Saati için otomatik ayarlamalı Orta Avrupa saati).
Biçim TTThhDDD şeklindedir; burada TTT, MET gibi saat dilimidir, hh, GMT ile yukarıdaki -1 gibi yerel saat arasındaki farktır ve DDD, yaz saati uygulaması yürürlükteyken geçerli olan saat dilimidir. Yaz saati uygulaması yoksa DDD kısmını boş bırakın. ABD Doğu saat dilimi için EST5EDT'dir.
-F --fix -FF --fixfix Zip arşivini düzeltir. -F seçeneği, arşivin bazı kısımları eksik olduğunda kullanılabilir ancak makul derecede bozulmamış bir merkezi dizin (central directory) gerektirir. Girdi arşivi her zamanki gibi taranır, ancak zip bazı sorunları görmezden gelecektir. Sonuçta ortaya çıkan arşiv geçerli olmalıdır, ancak tutarsız girdiler dışarıda bırakılacaktır.
-FF biçiminde çift olarak kullanıldığında, arşiv baştan itibaren taranır ve zip, arşiv üyeleri arasındaki sınırları belirlemek için özel imzaları (signatures) tarar. Arşiv çok fazla hasar görmemişse tekli -F seçeneği daha güvenilirdir, bu nedenle önce bu seçeneği deneyin.
Arşiv çok fazla hasar görmüşse veya sonu kesilmişse (truncated), -FF seçeneğini kullanmalısınız. Bu, -F seçeneğinin kesilmiş bir arşivi okuyabildiği zip_2.32 sürümünden farklı bir değişikliktir. -F seçeneği artık küçük hasarlara sahip arşivleri daha güvenilir bir şekilde düzeltirken, daha önce -F seçeneğinin yeterli olabildiği arşivleri düzeltmek için artık -FF seçeneği gerekmektedir.
Her iki seçenek de ikili (binary) mod yerine ascii modunda hatalı şekilde aktarılan arşivleri kurtaramaz. Onarımdan sonra, unzip'in -t seçeneği bazı dosyaların hatalı bir CRC'ye sahip olduğunu gösterebilir. Bu tür dosyalar kurtarılamaz; zip'in -d seçeneğini kullanarak bunları arşivden kaldırabilirsiniz.
-FF seçeneğinin, arşivin içinde (sıkıştırılmadan) saklanan gömülü bir zip arşivi içeren arşivleri düzeltirken sorun yaşayabileceğini ve hasara bağlı olarak arşivin kendisi yerine gömülü arşivdeki girdileri bulabileceğini unutmayın. Bu soruna sahip olmadığı için önce -F seçeneğini deneyin.
Düzeltme komutlarının biçimi değişti. Örneğin, hasarlı foo.zip arşivini düzeltmek için:
zip -F foo --out foofix
girdileri normal şekilde okumaya çalışarak iyi durumdaki girdileri yeni foofix.zip arşivine kopyalar. Arşivin kesilmiş olması gibi durumlarda bu işe yaramazsa veya arşivde olduğunu bildiğiniz bazı girdiler kaçırılırsa, şunu deneyin:
zip -FF foo --out foofixfix
ve ortaya çıkan arşivi -F ile oluşturulan arşivle karşılaştırın. -FF seçeneği tutarsız bir arşiv oluşturabilir. Nelerin hasar gördüğüne bağlı olarak, daha sonra o arşivi düzeltmek için -F seçeneğini kullanabilirsiniz.
Eksik bölünmüş dosyaları olan bölünmüş bir arşiv, arşivin son bölümüne (.zip dosyası) sahipseniz -F kullanılarak düzeltilebilir. Eğer bu dosya eksikse, arşivi düzeltmek için -FF seçeneğini kullanmalısınız; bu seçenek sizden sahip olduğunuz bölümleri isteyecektir.
Şu anda düzeltme seçenekleri, hatalı sağlama toplamına (checksum) sahip veya başka bir şekilde hasar görmüş girdileri kurtaramaz.
-FI
--fifo [Unix]: Normalde zip, karşılaşılan tüm FIFO'ları (adlandırılmış borular - named pipes) okumayı atlar; çünkü FIFO beslenmiyorsa zip askıda kalabilir. Bu seçenek zip'e bulduğu tüm FIFO'ların içeriğini okumasını söyler.
-FS --filesync Bir arşivin içeriğini işletim sistemindeki dosyalarla senkronize eder. Normalde bir arşiv güncellendiğinde yeni dosyalar eklenir ve değiştirilen dosyalar güncellenir, ancak işletim sisteminde artık var olmayan dosyalar arşivden silinmez. Bu seçenek, arşivdeki girdileri dosya sistemine karşı kontrol eden yeni bir modu etkinleştirir. Eğer girdinin dosya zamanı ve dosya boyutu işletim sistemindeki dosya ile eşleşiyorsa girdi, dosya sisteminden okunup sıkıştırılmak yerine eski arşivden kopyalanır. Eğer işletim sistemindeki dosya değişmişse girdi her zamanki gibi okunur ve sıkıştırılır. Arşivdeki girdi işletim sistemindeki bir dosya ile eşleşmiyorsa girdi silinir. Bu seçeneğin etkinleştirilmesi, yeni arşivlerle aynı arşivlerin oluşmasını sağlamalıdır; ancak mevcut girdiler sıkıştırılmak yerine kopyalandığı için mevcut bir arşivi -FS ile güncellemek, yeni bir arşiv oluşturmaktan çok daha hızlı olabilir. Bir arşivi güncellemek için ayrıca -u seçeneğini kullanmayı da düşünebilirsiniz.
Bu seçeneğin çalışabilmesi için arşivin, göreceli yolların eşleşmesi amacıyla oluşturulduğu dizinden güncellenmesi gerekir. Eğer eski arşivden çok az dosya kopyalanıyorsa, bunun yerine yeni bir arşiv oluşturmak daha hızlı olabilir.
Bu seçeneğin doğru çalışabilmesi için TZ saat dilimi çevre değişkeninin yerel saat dilimine göre ayarlanması gerektiğini unutmayın. Orijinal arşiv oluşturulduğundan beri saat diliminde meydana gelen bir değişiklik, hiçbir zamanın eşleşmemesine ve tüm dosyaların yeniden sıkıştırılmasına neden olabilir.
Bu seçenek arşivdeki dosyaları siler. Orijinal arşivi korumanız gerekiyorsa, önce arşivin bir kopyasını alın veya güncellenmiş arşivi yeni bir dosyaya çıktı olarak vermek için --out seçeneğini kullanın. Daha yavaş olsa bile, yeni bir arşiv adı ile yeni bir arşiv oluşturmak daha güvenlidir, arşiv ile işletim sistemi yolları arasındaki uyumsuzlukları önler ve tercih edilir.
-g --grow Yeni bir arşiv oluşturmak yerine, belirtilen zip arşivini büyütür (ona ekleme yapar). Bu işlem başarısız olursa zip, arşivi orijinal durumuna geri yüklemeye çalışır. Geri yükleme başarısız olursa arşiv bozulabilir. Mevcut bir arşiv olmadığında veya en az bir arşiv üyesinin güncellenmesi veya silinmesi gerektiğinde bu seçenek yoksayılır.
-h -? --help zip yardım bilgilerini görüntüler (bu ekran zip hiçbir argüman olmadan çalıştırıldığında da görünür).
-h2 --more-help Komut satırı biçimi, desen eşleştirme ve daha az bilinen seçenekler hakkında daha fazla bilgiyi içeren genişletilmiş yardımı görüntüler.
-i files --include files Yalnızca belirtilen dosyaları dahil eder, örneğin:
zip -r foo . -i *.c
komutu mevcut dizin ve alt dizinlerinde yalnızca .c ile biten dosyaları dahil edecektir. (PKZIP kullanıcıları için not: eşdeğer komut şudur:
pkzip -rP foo *.c
PKZIP, mevcut dizin dışındaki dizinlerde yinelemeye (recursion) izin vermez.) Ters eğik çizgi, kabuğun dosya adı ikamesini (substitution) engeller, böylece ad eşleştirme işlemi tüm dizin düzeylerinde zip tarafından gerçekleştirilir. [Bu durum, \ işaretinin bir sonraki karakteri kaçırdığı Unix ve diğer sistemler içindir. Kabuğun * işaretini işlemediği diğer sistemlerde \ kullanmayın; bu durumda yukarıdaki komut şu şekilde olur:
zip -r foo . -i *.c
Aksi belirtilmedikçe örnekler Unix içindir.] Dolayısıyla, doğrudan mevcut dizinin altındaki dir dizinini dahil etmek için şunu kullanın:
zip -r foo . -i dir/*
veya
zip -r foo . -i "dir/*"
böylece dir/a ve dir/b/file.c gibi yollar eşleştirilir [MSDOS ve Windows gibi kabukta joker karakter genişletmesi olmayan portlarda
zip -r foo . -i dir/*
kullanılır.] Şu anda dizinler için sondaki / işaretinin gerekli olduğunu unutmayın (dizin dir'i dahil etmek için:
zip -r foo . -i dir/
gibi).
İlk örneğin uzun seçenek biçimi şöyledir:
zip -r foo . --include *.c
ve kısa seçenek biçimiyle aynı işlemi gerçekleştirir.
Komut sözdiziminin geçmişte komut satırının sonunda -i gerektirmesine rağmen, bu sürüm aslında herhangi bir yerde -i (veya --include) kullanımına izin verir. Dosya listesi, - ile başlayan bir sonraki argümanda, komut satırının sonunda veya liste sonlandırıcı @ (yalnızca @ karakterinden oluşan bir argüman) işaretinde sona erer. Dolayısıyla yukarıdaki komut örneğin şu şekilde verilebilir:
zip -i *.c @ -r foo .
Seçenek ile bir listenin ilk dosyası arasında boşluk olmalıdır. Sadece tek bir dosya için tek değer biçimini kullanabilirsiniz:
zip -i*.c -r foo .
(seçenek ile değer arasında boşluk yok) veya ek örnekler olarak:
zip --include=*.c -r foo .
kullanılabilir. Tek değer biçimleri kafa karıştırıcı olabileceği ve özellikle -idosya biçimi dosya adının ilk harfinin i ile birleşerek i ile başlayan iki harfli bir seçenek oluşturması durumunda sorunlara yol açabileceği için önerilmez. Komut satırınızın nasıl ayrıştırılacağını görmek için -sc seçeneğini kullanın.
Ayrıca şu da mümkündür:
zip -r foo . -i@include.lst
bu komut, mevcut dizinde ve alt dizinlerinde yalnızca include.lst dosyasındaki desenlerle eşleşen dosyaları dahil edecektir.
-i ve -x seçeneklerine verilen dosyalar, dahili arşiv yollarıyla eşleşen desenlerdir. Desenler hakkında daha fazla bilgi için -R seçeneğine bakın.
-I --no-image [Acorn RISC OS] Görüntü (Image) dosyalarını taramaz. Kullanıldığında zip, Görüntü dosyalarını (örneğin SparkFS yüklendiğinde DOS bölümlerini veya Spark arşivlerini) dizin olarak kabul etmeyecek, bunun yerine tek tek dosyalar olarak saklayacaktır.
Örneğin, SparkFS yüklüyse bir Spark arşivini zip'lemek, bir dizin (ve içeriğini) içeren bir zip dosyasıyla sonuçlanacak; 'I' seçeneği kullanıldığında ise bir Spark arşivi içeren bir zip dosyasıyla sonuçlanacaktır. SparkFS yüklü değilse, bu ikinci durumun ('I' seçeneği olmadan da) elde edileceği açıktır.
-ic --ignore-case [VMS, WIN32] Arşiv girdilerini eşleştirirken harf büyüklüğünü (case) yok sayar. Bu seçenek yalnızca dosyaların harf büyüklüğünün yok sayıldığı sistemlerde mevcuttur. Harf büyüklüğüne duyarsız dosya sistemlerine sahip sistemlerde, dosya sistemindeki dosyalar eşleştirilirken harf büyüklüğü normalde yok sayılır; ancak arşiv girdileri harf büyüklüğünün önemli olduğu sistemlerden gelebileceği ve bir arşivde harf büyüklüğü dışında tamamen aynı olan adlar bulunabileceği için -f (tazele), -d (sil), -U (kopyala) ve benzeri modlarda arşiv girdilerine karşı eşleştirme yapılırken harf büyüklüğü yok sayılmaz (şu anda VMS'te -f seçeneği harf büyüklüğünü yok saymaktadır). -ic seçeneği tüm eşleştirmeleri harf büyüklüğüne duyarsız hale verir. Bu, birden fazla arşiv girdisinin bir komut satırı deseniyle eşleşmesine neden olabilir.
-j --junk-paths Kaydedilen bir dosyanın yalnızca adını saklar (yolu çöpe atar) ve dizin adlarını saklamaz. Varsayılan olarak zip, tam yolu (mevcut dizine göreceli olarak) saklayacaktır.
-jj --absolute-path [MacOS] Tam Yolu (+ Birim Adı) kaydeder. Birim dahil olmak üzere tam yol saklanacaktır. Varsayılan olarak göreceli yol saklanacaktır.
-J --junk-sfx Arşivin başına eklenmiş her türlü veriyi (örneğin bir SFX taslağını) kaldırır.
-k --DOS-names Adları ve yolları MSDOS ile uyumlu olacak şekilde dönüştürmeye çalışır, yalnızca MSDOS özniteliğini (Unix'teki yalnızca kullanıcı yazma özniteliği) saklar ve girdiyi MSDOS altında yapılmış gibi işaretler (öyle olmasa bile); bu, iki nokta içerenler gibi belirli adları işleyemeyen MSDOS altındaki PKUNZIP ile uyumluluk içindir.
-l --to-crlf Unix satır sonu karakteri olan LF'yi MSDOS kuralı olan CR LF'ye çevirir. Bu seçenek ikili (binary) dosyalarda kullanılmamalıdır. Eğer zip dosyası MSDOS altındaki PKUNZIP için tasarlanmışsa, bu seçenek Unix üzerinde kullanılabilir. Girdi dosyaları zaten CR LF içeriyorsa, bu seçenek fazladan bir CR ekler. Bu, Unix üzerinde unzip -a komutunun, zip -l seçeneğinin etkisini geri alarak orijinal dosyanın tam bir kopyasını elde etmesini sağlamak içindir. İkili dosyaların nasıl ele alındığını görmek için -ll seçeneğine bakın.
-la --log-append Mevcut günlük dosyasına (logfile) ekleme yapar. Varsayılan işlem üzerine yazmaktır.
-lf logfilepath --logfile-path logfilepath Belirtilen yolda bir günlük dosyası açar. Varsayılan olarak o konumdaki mevcut tüm dosyaların üzerine yazılır, ancak -la seçeneği mevcut bir dosyanın açılmasını ve yeni günlük bilgilerinin mevcut bilgilere eklenmesini sağlar. -li seçeneği de verilmediği sürece günlüğe yalnızca uyarılar ve hatalar yazılır; bu durumda tüm bilgilendirme mesajları da günlüğe yazılır.
-li --log-info Günlüğe zip'lenen dosya adları gibi bilgilendirme mesajlarını dahil eder. Varsayılan durum yalnızca komut satırını, tüm uyarıları ile hataları ve nihai durumu dahil etmektir.
-ll --from-crlf MSDOS satır sonu olan CR LF'yi Unix LF'ye çevirir. Bu seçenek ikili (binary) dosyalarda kullanılmamalıdır. Eğer zip dosyası Unix altındaki unzip için tasarlanmışsa, bu seçenek MSDOS üzerinde kullanılabilir. Dosya dönüştürüldükten sonra dosyanın ikili olduğu belirlenirse bir uyarı yayınlanır ve dosya muhtemelen bozulur. Bu sürümde, -ll seçeneği bir dosyadan okunan ilk arabellekte (buffer) ikili veri tespit ederse, zip artık bir uyarı yayınlar ve dosyadaki satır sonu dönüşümünü atlar. Bu kontrol, test edilen tüm ikili dosyaları yakalıyor gibi görünmektedir, ancak orijinal kontrol kalır ve dönüştürülen bir dosyanın daha sonra ikili olduğu belirlenirse bu uyarı yine de yayınlanır. Artık ikili tespiti için metin dosyalarının UTF-8 ve benzeri kodlamalardaki satır sonu dönüşümüne izin vermesi gereken yeni bir algoritma kullanılmaktadır.
-L --license zip lisansını görüntüler.
-m --move Belirtilen dosyaları zip arşivine taşır; aslında bu seçenek, belirtilen zip arşivi yapıldıktan sonra hedef dizinleri/dosyaları siler. Dosyaların kaldırılmasından sonra bir dizin boşalırsa, dizin de kaldırılır. zip arşivi hatasız bir şekilde oluşturana kadar hiçbir silme işlemi yapılmaz. Bu seçenek disk alanından tasarruf etmek için yararlıdır, ancak potansiyel olarak tehlikelidir; bu nedenle tüm girdi dosyalarını kaldırmadan önce arşivi test etmek için -T seçeneği ile birlikte kullanılması önerilir.
-MM --must-match Tüm girdi desenleri en az bir dosya ile eşleşmeli ve bulunan tüm girdi dosyaları okunabilir olmalıdır. Normalde bir girdi deseni bir dosya ile eşleşmediğinde "name not matched" (ad eşleşmedi) uyarısı verilir ve bir girdi dosyası bulunduğunda ancak daha sonra eksik veya okunamaz olduğunda bir eksik veya okunamaz uyarısı verilir. Her iki durumda da zip; eksik veya okunamayan yeni dosyaları atlayıp arşivde zaten bulunan dosyaları değiştirmeden bırakarak arşivi oluşturmaya devam eder. Arşiv oluşturulduktan sonra, herhangi bir dosya okunabilir değilse zip, normal başarı dönüşü (çoğu sistemde 0) yerine OPEN hata kodunu (çoğu sistemde 18) döndürür. -MM ayarlandığında, zip bir girdi deseni eşleşmediğinde ("name not matched" uyarısının verileceği her durumda) veya bir girdi dosyası okunabilir olmadığında derhal çıkar. Her iki durumda da zip bir OPEN hatasıyla çıkar ve hiçbir arşiv oluşturulmaz.
Bu seçenek, bilinen bir dosya listesi zip'leneceğinde ve eksik ya da okunamayan dosyaların bir hataya yol açması istendiğinde kullanışlıdır. Joker karakterlerle kullanıldığında daha az kullanışlıdır, ancak herhangi bir girdi deseni en az bir dosya ile eşleşmezse ve eşleşen dosyalardan herhangi biri okunamıyorsa zip yine de bir hata ile çıkacaktır. Arşivi her halükarda oluşturmak istiyorsanız ve yalnızca dosyaların atlanıp atlanmadığını bilmeniz gerekiyorsa, -MM seçeneğini kullanmayın ve yalnızca dönüş kodunu kontrol edin. Ayrıca -lf seçeneği de yararlı olabilir.
-n suffixes --suffixes suffixes Belirtilen uzantılara sahip dosyaları sıkıştırmaya çalışmaz. Bu tür dosyalar, zip'in bunları sıkıştırmaya çalışarak zaman kaybetmemesi için çıktı zip dosyasında doğrudan saklanır (store - %0 sıkıştırma). Uzantılar iki nokta üst üste veya noktalı virgül ile ayrılır. Örneğin:
zip -rn .Z:.zip:.tiff:.gif:.snd foo foo
komutu foo içindeki her şeyi foo.zip'e kopyalayacaktır, ancak .Z, .zip, .tiff, .gif veya .snd ile biten dosyaları sıkıştırmaya çalışmadan saklayacaktır (görüntü ve ses dosyaları genellikle kendi özel sıkıştırma yöntemlerine sahiptir). Varsayılan olarak zip, .Z:.zip:.zoo:.arc:.lzh:.arj listesindeki uzantılara sahip dosyaları sıkıştırmaz. Bu tür dosyalar doğrudan çıktı arşivinde saklanır. Varsayılan seçenekleri değiştirmek için ZIPOPT çevre değişkeni kullanılabilir. Örneğin, csh ile Unix altında:
setenv ZIPOPT "-n .gif:.zip"
Tüm dosyalarda sıkıştırma denemek için şunu kullanın:
zip -n : foo
Maksimum sıkıştırma seçeneği -9 da uzantıya bakılmaksızın tüm dosyalarda sıkıştırma dener.
Acorn RISC OS sistemlerinde uzantılar aslında dosya türleridir (3 haneli onaltılık biçim). Varsayılan olarak zip, DDC:D96:68E listesindeki dosya türlerine sahip dosyaları (yani Arşivler, CFS dosyaları ve PackDir dosyaları) sıkıştırmaz.
-nw --no-wild Dahili joker karakter (wildcard) işlemesini gerçekleştirmez (argümanlar kaçırılmadığı sürece joker karakterlerin kabuk tarafından işlenmesi hâlâ kabuk tarafından yapılır). Bir yol listesi okunuyorsa ve joker karakter ikamesi istenmiyorsa kullanışlıdır.
-N --notes [Amiga, MacOS] Amiga veya MacOS dosya notlarını zip dosyası yorumları olarak kaydeder. Bunlar unzip'in -N seçeneği kullanılarak geri yüklenebilir. Eğer -c seçeneği de kullanılırsa, yalnızca dosya notu olmayan dosyalar için sizden yorum istenir.
-o --latest-time Zip arşivinin "son değişiklik" (last modified) zamanını, zip arşivindeki girdiler arasında bulunan en son (en eski/en yeni) "son değişiklik" zamanına ayarlar. İstenirse bu seçenek başka hiçbir işlem yapılmadan da kullanılabilir. Örneğin:
zip -o foo
komutu, foo.zip dosyasının son değişiklik zamanını foo.zip içindeki girdilerin en son zamanına değiştirecektir.
-O output-file --output-file output-file Arşiv değişikliklerini her zamanki gibi işler, ancak mevcut arşivi güncellemek yerine yeni arşivi cikti_dosyasi'na çıktı olarak verir. Mevcut arşivi değiştirmeden bir arşivi güncellemek için kullanışlıdır ve girdi arşivinin çıktı arşivinden farklı bir dosya olması gerekir.
Bu seçenek, güncellenmiş bölünmüş arşivler oluşturmak için kullanılabilir. Mevcut bir arşivdeki girdileri yeni bir arşive kopyalamak için -U seçeneği ile birlikte de kullanılabilir. Aşağıdaki ÖRNEKLER (EXAMPLES) bölümüne bakın.
Diğer bir kullanım alanı ise zip dosyalarını bir bölünme boyutundan diğerine dönüştürmektir. Örneğin, 700 MB'lık CD bölümlerine sahip bir arşivi 2 GB'lık DVD bölümlerine sahip bir arşive dönüştürmek için kopyalama modunu kullanan şu komut kullanılabilir:
zip -s 2g cd-split.zip --out dvd-split.zip
Aşağıdaki -U seçeneğine bakın. Ayrıca:
zip -s 0 split.zip --out unsplit.zip
komutu, bölünmüş bir arşivi tek dosyalı bir arşive dönüştürecektir.
Kopyalama modu, standart şifreleme kullanılmadığı sürece akış (stream) girdilerini (veri tanımlayıcıları kullanan ve çoğu unzip ile uyumlu olması gereken girdiler) normal girdilere (tüm unzip'lerle uyumlu olması gereken girdiler) dönüştürecektir. Şifrelenmiş girdilere sahip arşivler için zipcloak girdilerin şifresini çözecek ve onları normal girdilere dönüştürecektir.
-p --paths Göreli dosya yollarını arşivde saklanan dosyaların adlarının bir parçası olarak dahil eder. Varsayılan davranış budur. -j seçeneği yolları çöpe atar ve yalnızca dosyaların adlarını saklar.
-P password --password password Zip dosyası girdilerini (varsa) şifrelemek için parola kullanır. BU GÜVENLİ DEĞİLDİR! Birçok çok kullanıcılı işletim sistemi, herhangi bir kullanıcının diğer herhangi bir kullanıcının mevcut komut satırını görmesi için yollar sağlar; tek başına çalışan sistemlerde bile her zaman omuz üstünden gözetleme tehdidi vardır. Düz metin parolanın otomatikleştirilmiş bir betikte komut satırının bir parçası olarak saklanması daha da kötüdür. Mümkün olduğunda, parolaları girmek için ekrana yansımayan, etkileşimli istemi kullanın. (Ve güvenliğin gerçekten önemli olduğu durumlarda, zip dosyası araçları tarafından sağlanan nispeten zayıf standart şifreleme yerine Pretty Good Privacy gibi güçlü şifrelemeler kullanın.)
-q --quiet Sessiz (quiet) mod; bilgilendirme mesajlarını ve yorum istemlerini ortadan kaldırır. (Örneğin kabuk betiklerinde ve arka plan görevlerinde kullanışlıdır).
-Qn --Q-flag n [QDOS] n şu şekilde tanımlanacak şekilde dosya üstbilgisinde (header) dosya hakkındaki bilgileri saklar: bit 0: Hiçbir dosya için üstbilgi ekleme bit 1: Tüm dosyalar için üstbilgi ekle bit 2: Çıkışta etkileşimli tuş basımı için bekleme
-r --recurse-paths Dizin yapısını yinelemeli (recursively) olarak dolaşır; örneğin:
zip -r foo.zip foo
veya daha kısa bir ifadeyle
zip -r foo foo
Bu durumda, yineleme kabuğun dosya adı ikame mekanizmasını kullanmadığından, adları "." ile başlayan dosyalar da dahil olmak üzere foo içindeki tüm dosya ve dizinler foo.zip adlı bir zip arşivinde saklanır. foo dizinindeki ve alt dizinlerindeki dosyaların yalnızca belirli bir alt kümesini dahil etmek istiyorsanız, dahil edilecek dosyaların desenini belirtmek için -i seçeneğini kullanın. -r seçeneğini ".*" adı ile kullanmamalısınız, çünkü bu üst dizini zip'lemeye çalışacak olan ".." ile eşleşir (muhtemelen amaçlanan bu değildir).
Şu komutta olduğu gibi birden fazla kaynak dizine izin verilir:
zip -r foo foo1 foo2
bu komut önce foo1 dizinini ve ardından her bir dizine inerek foo2 dizinini zip'ler.
-r seçeneğine verilen joker karakterler genellikle dosya sistemindeki dizinlerde aşağı doğru yinelenirken çözümlense de, dizinler tarandıktan sonra her türlü -R, -x ve -i joker karakterinin dahili arşiv yol adlarına uygulandığını unutmayın. Kabuğun joker karakter ikamesi yaptığı Unix ve benzeri sistemlerde yinelerken joker karakterlerin alt dizinlerdeki dosyalara uygulanmasını sağlamak için, tüm joker karakterleri kaçırın veya joker karakter içeren tüm argümanları tırnak içine alın. Bu, zip'in joker karakterleri görmesini ve yinelerken bunları kullanarak alt dizinlerdeki dosyaları eşleştirmesini sağlar.
-R --recurse-patterns Mevcut dizinden başlayarak dizin yapısını yinelemeli (recursively) olarak dolaşır; örneğin:
zip -R foo "*.c"
Bu durumda, mevcut dizinden başlayan ağaçta *.c ile eşleşen tüm dosyalar foo.zip adlı bir zip arşivinde saklanır. *.c ifadesinin file.c, a/file.c ve a/b/.c ile eşleşeceğini unutmayın. Ayrı argümanlar olarak birden fazla desen listelenebilir. PKZIP kullanıcıları için not: eşdeğer komut şudur:
pkzip -rP foo *.c
Desenler, arşivde göründükleri veya zip'lemeden sonra görünecekleri şekliyle göreceli dosya yollarıdır ve içlerinde isteğe bağlı joker karakterler barındırabilir. Örneğin, mevcut dizinin foo olduğu ve altında foo1 ile foo2 dizinlerinin bulunduğu, foo1 içinde ise bar.c dosyasının yer aldığı varsayılırsa:
zip -R foo/*
komutu foo, foo/foo1, foo/foo1/bar.c ve foo/foo2 öğelerini zip'leyecektir.
zip -R */bar.c
komutu ise foo/foo1/bar.c dosyasını zip'leyecektir. Joker karakterleri kaçırma konusunda -r seçeneği için verilen nota bakın.
-RE --regex [WIN32] zip 3.0 sürümünden önce, Windows platformlarında düzenli ifade (regular expression) listesi eşleştirmesi varsayılan olarak etkindi. Adlarda "[" ve "]" karakterlerinin kaçırılması ihtiyacından kaynaklanan kafa karışıklığı nedeniyle, Windows için artık varsayılan olarak kapalıdır; bu nedenle adlardaki "[" ve "]" sadece normal karakterlerdir. Bu seçenek [] eşleştirmesini tekrar etkinleştirir.
-s splitsize --split-size splitsize Bölünmüş bir arşiv oluşturmayı etkinleştirir ve bölünme boyutunu ayarlar. Bölünmüş arşiv, birçok dosyaya bölünebilen bir arşivdir. Arşiv oluşturulurken, arşivin boyutu belirtilen bölünme boyutuna ulaşırsa o bölüm kapatılır ve bir sonraki bölüm açılır. Genel olarak, sonuncusu hariç tüm bölümler bölünme boyutunda olacak ve sonuncusu ise geriye ne kaldıysa o boyutta olacaktır. Arşivin tamamı bölünme boyutundan küçükse, tek dosyalı bir arşiv oluşturulur.
Bölünmüş arşivler numaralandırılmış dosyalarda saklanır. Örneğin, çıktı arşivinin adı archive ise ve üç bölünme gerekiyorsa, ortaya çıkan arşiv archive.z01, archive.z02 ve archive.zip olmak üzere üç dosyada bulunacaktır. Bu dosyaların numaralandırmasını değiştirmeyin, aksi takdirde bölümlerin hangi sırayla okunacağını belirlemek için bunlar kullanıldığından arşiv okunamaz hale gelecektir.
Bölünme boyutu, isteğe bağlı olarak arkasından bir çarpan gelen bir sayıdır. Şu anda sayının bir tamsayı olması gerekir. Çarpan şu anda k (kilobayt), m (megabayt), g (gigabayt) veya t (terabayt) değerlerinden biri olabilir. Minimum bölünme boyutu 64k olduğundan, çarpanı olmayan sayılar varsayılan olarak megabayt cinsindendir. Örneğin, CD'ye yazmak için yararlı olabilecek 670 MB'lık bölünmelerle bar dizininin içeriğine sahip foo adında bölünmüş bir arşiv oluşturmak için şu komut:
zip -s 670m -r foo bar
kullanılabilir.
Şu anda bölünmüş bir arşivin eski bölümleri yeni bir arşivden hariç tutulmaz, ancak özellikle hariç tutulabilirler. Mümkünse, bölünmüş arşivler oluştururken girdi ve çıktı arşivlerini zip'lenen yolun dışında tutun.
Yukarıdaki gibi -sp olmadan -s kullanılması, foo'nun yazıldığı yerdeki (bu durumda mevcut dizindeki) tüm bölümleri oluşturur. Bu bölünmüş mod, arşiv oluşturulurken bölümleri günceller ve tüm bölümlerin yazılabilir kalmasını gerektirir, ancak bölünmüş arşivleri destekleyen herhangi bir unzip tarafından okunabilen bölünmüş arşivler oluşturur. Bölünmelerin doğrudan çıkarılabilir medyaya yazılmasına izin veren bölünmüş duraklatma (split pause) modunu etkinleştirmek için aşağıdaki -sp seçeneğine bakın.
Ayrıntılı bölünmeyi (verbose splitting) etkinleştirmek ve bölünmenin nasıl yapıldığına dair detayları sağlamak için -sv seçeneği kullanılabilir. zip bir sonraki bölünme hedefi için durakladığında zilin çalması için -sb seçeneği kullanılabilir.
Bölünmüş arşivler güncellenemez, ancak bölünmüş bir arşivin yeni bir arşive kopyalanırken nasıl güncellenebileceğini görmek için -O (--out) seçeneğine bakın. Bölünmüş bir arşiv, 0 bölünme boyutu kullanılarak veya -s seçeneği olumsuzlanarak tek dosyalı bir arşive de dönüştürülebilir:
zip -s 0 split.zip --out single.zip
Kopyalama modunun kullanımı hakkında daha fazla bilgi için ayrıca -U (--copy) seçeneğine bakın.
-sb --split-bell Bölünme yapılıyorsa ve bölünmüş duraklatma modu kullanılıyorsa, zip her bir bölünme hedefi için durakladığında zili çalar.
-sc --show-command zip'i başlatan komut satırını işlendiği şekliyle gösterir ve çıkar. Yeni komut ayrıştırıcısı, tüm seçenekleri ve bunlarla ilişkili tüm değerleri seçenek olmayan argümanlardan önceye koyarak argümanların yerini değiştirir (permutes). Bu, bir seçeneğin, seçenekle birlikte giden tüm değerlerin onunla birlikte gitmesi koşuluyla, komut satırının herhangi bir yerinde görünmesine izin verir. Bu seçenek, komut satırını, ZIPOPT değişkeni gibi ortamdan gelen tüm argümanlar dahil olmak üzere zip'in gördüğü şekliyle görüntüler. İzin verilen yerlerde, komut satırında daha sonra yer alan seçenekler, komut satırında daha önce yer alan seçenekleri geçersiz kılabilir (override).
-sf --show-files Üzerinde işlem yapılacak dosyaları gösterir ve ardından çıkar. Örneğin, yeni bir arşiv oluşturuluyorsa bu seçenek eklenecek olan dosyaları listeleyecektir. Eğer seçenek olumsuzlanırsa,
-sf-, çıktı yalnızca açık bir günlük dosyasına yazılır.: Büyük listeler için ekran görüntüsü önerilmez.
-so --show-options Mevcut sistemde derlendiği şekliyle zip tarafından desteklenen tüm kullanılabilir seçenekleri gösterir. Bu komut seçenek tablosunu okuduğu için tüm seçenekleri içermelidir. Her satır; kısa seçeneği (tanımlanmışsa), uzun seçeneği (tanımlanmışsa), seçenekle birlikte giden herhangi bir değerin biçimini, seçeneğin olumsuzlanıp olumsuzlanamayacağını ve küçük bir açıklamayı içerir. Değer biçimi; değer yok, gerekli değer, isteğe bağlı değer, tek karakterlik değer, sayı değeri veya bir değerler listesi olabilir. Bu seçeneğin çıktısı, herhangi bir seçeneğin nasıl kullanılacağını göstermek için değil, yalnızca hangi seçeneklerin mevcut olduğunu göstermek içindir.
-sp --split-pause Bölünme -s seçeneği ile etkinleştirilmişse, bölünmüş duraklatma (split pause) modunu etkinleştirir. Bu seçenek -s seçeneğinin yaptığı gibi bölünmüş arşivler oluşturur, ancak akış yazma (stream writing) kullanıldığı için her bir bölüm yazılır yazılmaz kapatılabilir ve zip, bölüm hedefinin veya medyasının değiştirilmesine izin vermek için her bir bölüm arasında duraklar.
Bu bölünmüş mod, bölümlerin doğrudan çıkarılabilir medyaya yazılmasına izin vermesine rağmen, bazı unzip'ler tarafından okunamayabilecek akış arşiv formatını (stream archive format) kullanır. -sp ile oluşturulan bölümlere güvenmeden önce, kullanacağınız unzip ile bölünmüş bir arşivi test edin.
Bir akış bölünmüş arşivini (-sp ile oluşturulmuş) standart bir arşive dönüştürmek için --out seçeneğine bakın.
-su --show-unicode -sf seçeneği gibidir, ancak varsa yolun Unicode sürümünü de gösterir.
-sU --show-just-unicode -sf seçeneği gibidir, ancak varsa yolun yalnızca Unicode sürümünü gösterir, aksi takdirde yolun standart sürümünü gösterir.
-sv --split-verbose Bölünme yapılırken, bölünmenin nasıl yapıldığını gösteren çeşitli ayrıntılı mesajları etkinleştirir.
-S --system-hidden [MSDOS, OS/2, WIN32 ve ATARI] Sistem ve gizli dosyaları dahil eder. [MacOS] Aksi takdirde yoksayılan Finder görünmez dosyalarını dahil eder.
-t mmddyyyy --from-date mmddyyyy Belirtilen tarihten önce değiştirilmiş dosyalar üzerinde işlem yapmaz; burada ay ay (00-12), gg ayın günü (01-31) ve yyyy yıldır. ISO_8601 tarih biçimi yyyy-aa-gg de kabul edilir. Örneğin:
zip -rt 12071991 infamy foo
zip -rt 1991-12-07 infamy foo
komutları, foo ve alt dizinlerindeki en son 7 Aralık 1991 veya sonrasında değiştirilmiş olan tüm dosyaları infamy.zip zip arşivine ekleyecektir.
-tt mmddyyyy --before-date mmddyyyy Belirtilen tarihte veya sonrasında değiştirilmiş dosyalar üzerinde işlem yapmaz; burada ay ay (00-12), gg ayın günü (01-31) ve yyyy yıldır. ISO_8601 tarih biçimi yyyy-aa-gg de kabul edilir. Örneğin:
zip -rtt 11301995 infamy foo
zip -rtt 1995-11-30 infamy foo
komutları, foo ve alt dizinlerindeki en son 30 Kasım 1995 tarihinden önce değiştirilmiş olan tüm dosyaları infamy.zip zip arşivine ekleyecektir.
-T --test Yeni zip dosyasının bütünlüğünü test eder. Kontrol başarısız olursa, eski zip dosyası değişmez ve (-m seçeneği ile birlikte) hiçbir girdi dosyası kaldırılmaz.
-TT cmd --unzip-command cmd -T seçeneği kullanıldığında bir arşivi test etmek için 'unzip -tqq' yerine belirtilen komutu kullanır. Unix üzerinde, standart sistem unzip'i yerine mevcut dizindeki bir unzip kopyasını kullanmak için şu kullanılabilir:
zip archive file1 file2 -T -TT "./unzip -tqq"
Belirtilen komutta, {} geçici arşivin adıyla değiştirilir, aksi takdirde arşivin adı komutun sonuna eklenir. Dönüş kodu başarı (Unix'te 0) için kontrol edilir.
-u --update Bir zip arşivindeki mevcut bir girdiyi, yalnızca zip arşivindeki sürümünden daha yakın bir zamanda değiştirilmişse değiştirir (günceller). Örneğin:
zip -u stuff *
komutu, mevcut dizindeki tüm yeni dosyaları ekleyecek ve stuff.zip zip arşivinin en son oluşturulduğu/değiştirildiği tarihten bu yana değiştirilmiş olan tüm dosyaları güncelleyecektir (bunu yaparken zip'in stuff.zip dosyasını kendi içine paketlemeye çalışmayacağını unutmayın).
Girdi dosyası argümanı içermeyen -u seçeneğinin, -f (tazele) seçeneği gibi davrandığını unutmayın.
-U --copy-entries Girdileri bir arşivden diğerine kopyalar. Girdi arşivinden farklı bir çıktı dosyası belirtmek için --out seçeneğini gerektirir. Kopyalama modu, -d (silme) işleminin tersidir. Silme işlemi --out ile birlikte kullanıldığında seçilen girdiler arşivden silinir ve diğer tüm girdiler yeni arşivi oluşturacak şekilde kopyalanır; kopyalama modu ise yeni arşive dahil edilecek dosyaları seçer. -u (güncelleme) seçeneğinin aksine, komut satırındaki girdi desenleri dosya sistemi dosyalarıyla değil, yalnızca arşiv girdileriyle eşleştirilir. Örneğin:
zip inarchive "*.c" --copy --out outarchive
komutu, adları .c ile biten girdileri inarchive arşivinden outarchive arşivine kopyalar. Kabuğun, arşivdeki girdilerle hiçbir ilgisi olmayabilecek dosya sistemindeki dosya adlarını ikame etmesini önlemek için bazı sistemlerde joker karakter kaçırılmalıdır.
Komut satırında hiçbir girdi dosyası görünmüyorsa ve --out kullanılmışsa, kopyalama modu varsayılır:
zip inarchive --out outarchive
Bu, örneğin bölünme boyutunu değiştirmek için kullanışlıdır. Girdilerin şifrelenmesi ve şifrelerinin çözülmesi henüz kopyalama modu kullanılarak desteklenmemektedir. Bunun için zipcloak kullanın.
-UN v --unicode v zip'in Unicode dosya adlarıyla ne yapması gerektiğini belirler. zip_3.0, girdi yolu tamamen 7-bit ASCII değilse, standart dosya yoluna ek olarak artık yolun UTF-8 çevirisini de içerir. Bir girdide Unicode yolu eksik olduğunda, zip standart dosya yoluna geri döner. Standart yolu kullanmanın sorunu, bu yolun girdiyi oluşturan zip'in yerel karakter kümesinde olmasıdır; bu da unzip tarafından kullanılan karakter kümesinde geçerli olmayan karakterler içerebilir. zip bir arşivi okurken, bir girdinin ayrıca bir Unicode yolu varsa, zip artık varsayılan olarak mevcut yerel karakter kümesini kullanarak standart yolu yeniden oluşturmak için Unicode yolunu kullanır.
Bu seçenek, depolanan standart yol ile depolanan UTF-8 yolu arasında bir uyumsuzluk olması durumunda (standart yol güncellendiğinde bu durum yaşanabilir) zip'in bu yolla ne yapması gerektiğini belirlemek için kullanılabilir. Tüm durumlarda, eğer bir uyumsuzluk varsa standart yolun daha güncel olduğu varsayılır ve zip bunu kullanır. v için değerler şunlardır:
q - yollar eşleşmiyorsa çık (quit)
w - uyar (warn), standart yolla devam et
i - yoksay (ignore), standart yolla devam et
n - Unicode yok (no Unicode), Unicode yollarını kullanma
Varsayılan davranış uyarmak ve devam etmektir.
Mevcut karakter kümesinde geçerli olmayan karakterler, x'in bir onaltılık basamak için bir ASCII karakteri olduğu #Uxxxx ve #Lxxxxxx şeklinde kaçırılır. İlki, Unicode karakterini temsil etmek için 16 bitlik bir karakter numarası yeterliyse kullanılır; ikincisi ise karakterin Unicode karakter kodunu temsil etmek için 16 bitten fazlasına ihtiyaç duyulursa kullanılır. -UN seçeneğini:
e - escape (kaçır)
şeklinde ayarlamak (örneğin:
zip archive -sU -UN=e
komutunda olduğu gibi), zip'i yazdırılabilir 7-bit ASCII olmayan tüm karakterleri kaçırmaya zorlar.
Normalde zip, UTF-8'in geçerli karakter kümesi olduğu sistemlerde UTF-8'i doğrudan standart yol alanında saklar, aksi takdirde UTF-8'i yeni ekstra alanlarda saklar.
u - UTF-8
seçeneği (örneğin:
zip archive dir -r -UN=UTF8
komutunda olduğu gibi), zip'i UTF-8'i arşivde yerel (native) olarak saklamaya zorlar. UTF-8'i doğrudan saklamanın, bunu destekleyen Unix sistemlerinde varsayılan olduğunu unutmayın. Bu seçenek, kaçırılan yolun geçerli bir yol olamayacak kadar büyük olduğu ve yolun UTF-8 sürümünün daha küçük olduğu Windows sistemlerinde yararlı olabilir, ancak yerel UTF-8 Windows sistemlerinde geriye dönük olarak uyumlu değildir.
-v --verbose Ayrıntılı (verbose) mod veya teşhis amaçlı sürüm bilgilerini yazdırır.
Normalde, gerçek işlemlere uygulandığında bu seçenek, sıkıştırma sırasında bir ilerleme göstergesinin görüntülenmesini etkinleştirir (noktalar hakkında daha fazla bilgi için -dd seçeneğine bakın) ve zip dosyası yapısındaki tuhaflıklar hakkında ayrıntılı teşhis bilgileri ister.
Ancak, komut satırı argümanı olarak sadece -v kullanıldığında, bunun yerine bir teşhis ekranı yazdırılır. Bu, artık standart çıktı (stdout) bir dosyaya yönlendirilmiş olsa bile çalışmalıdır; böylece Info-ZIP ekibine hata raporları ile birlikte göndermek üzere bilgilerin kolayca kaydedilmesini sağlar. Sürüm ekranı; program adı, sürüm ve yayınlanma tarihini içeren yardım ekranı üstbilgisini, Info-ZIP ana sayfasına ve dağıtım sitelerine yönelik bazı bağlantıları sağlar ve hedef ortam hakkındaki bilgileri gösterir (derleyici türü ve sürümü, işletim sistemi sürümü, derleme tarihi ve zip yürütülebilir dosyasını oluşturmak için kullanılan etkinleştirilmiş isteğe bağlı özellikler).
-V --VMS-portable [VMS] VMS dosya özniteliklerini kaydeder. (Dosyalar dosya sonunda -EOF- kesilir.) Bir -V arşivi VMS olmayan bir sistemde açıldığında, bazı dosya türleri (özellikle Stream_LF metin dosyaları ve fixed-512 gibi saf ikili dosyalar) bozulmadan çıkartılmalıdır. İndekslenmiş dosyalar ve gömülü kayıt boyutlarına sahip dosya türleri (özellikle değişken uzunluklu kayıt türleri) muhtemelen başka yerlerde bozuk olarak görünecektir.
-VV --VMS-specific [VMS] VMS dosya özniteliklerini ve EOF ötesindeki veriler de dahil olmak üzere bir dosyadaki tüm ayrılmış blokları kaydeder. Hatalı biçimlendirilmiş dosyaları VMS sistemleri arasında taşımak için kullanışlıdır. VMS olmayan bir sistemde bir -VV arşivi açıldığında, neredeyse tüm dosyalar bozuk görünecektir.
-w --VMS-versions [VMS] Dosyaların sürüm numarasını, dosyaların birden çok sürümü de dahil olmak üzere ada ekler. Varsayılan davranış, belirtilen bir dosyanın yalnızca en son sürümünü kullanmaktır.
-ww --VMS-dot-versions [VMS] Dosyaların sürüm numarasını, dosyaların birden çok sürümü de dahil olmak üzere .nnn biçimini kullanarak ada ekler. Varsayılan davranış, belirtilen bir dosyanın yalnızca en son sürümünü kullanmaktır.
-ws --wild-stop-dirs Joker karakterler yalnızca bir dizin düzeyinde eşleşir. Normalde zip yolları karakter dizileri (strings) olarak ele alır ve şu yollar verildiğinde:
/foo/bar/dir/file1.c
/foo/bar/file2.c
şöyle bir girdi deseni:
/foo/bar/*
normalde her iki yolla da eşleşir; buradaki * işareti dir/file1.c ve file2.c ile eşleşir. İlk durumda, eşleşmede bir dizin sınırının (/) aşıldığına dikkat edin. -ws seçeneği ile, dizin sınırları eşleşmeye dahil edilmeyecektir, bu da joker karakterleri belirli bir dizin düzeyine yerel hale getirir. Dolayısıyla, -ws etkinleştirildiğinde yalnızca ikinci yol eşleşecektir.
-ws kullanırken, normalde * işaretinin yaptığı gibi dizin sınırları genelinde eşleşmek için ** kullanın.
-x files --exclude files Belirtilen dosyaları açıkça hariç tutar, örneğin:
zip -r foo foo -x *.o
komutu .o ile biten tüm dosyaları hariç tutarken, foo içeriğini foo.zip dosyasına dahil edecektir. Ters eğik çizgi kabuğun dosya adı ikamesini engeller, böylece ad eşleştirme işlemi tüm dizin düzeylerinde zip tarafından gerçekleştirilir.
Ayrıca şu da mümkündür:
zip -r foo foo -x@exclude.lst
bu komut, exclude.lst dosyasındaki desenlerle eşleşen tüm dosyaları hariç tutarken, foo içeriğini foo.zip dosyasına dahil edecektir.
Yukarıdaki komutların uzun seçenek biçimleri şunlardır:
zip -r foo foo --exclude *.o
ve
zip -r foo foo --exclude @exclude.lst
Şu komutta olduğu gibi birden fazla desen belirtilebilir:
zip -r foo foo -x *.o *.c
Eğer -x ile desen arasında boşluk yoksa, yalnızca tek bir değer varsayılır (liste yok):
zip -r foo foo -x*.o
Dahil etme ve hariç tutma hakkında daha fazla bilgi için -i seçeneğine bakın.
-X --no-extra Ek dosya özniteliklerini kaydetmez (OS/2'de Genişletilmiş Öznitelikler, Unix'te uid/gid ve dosya zamanları). zip formatı, her girdi için ek bilgiler eklemek üzere ekstra alanlar kullanır. Bazı ekstra alanlar belirli sistemlere özgüyken, diğerleri tüm sistemler için geçerlidir. Normalde zip mevcut bir arşivden girdileri okuduğunda, bildiği ekstra alanları okur, geri kalanını temizler ve o sistem için geçerli olan ekstra alanları ekler. -X seçeneği ile zip, tüm eski alanları temizler ve yalnızca Unicode ve Zip64 ekstra alanlarını dahil eder (şu anda bu iki ekstra alan devre dışı bırakılamaz).
Bu seçeneğin olumsuzlanması (-X-), varsayılan tüm ekstra alanları dahil eder, ancak aynı zamanda tanınmayan tüm ekstra alanları da kopyalar.
-y --symlinks UNIX ve VMS (V8.3 ve sonrası) için, sembolik bağları (symbolic links) bağ tarafından başvurulan dosyayı sıkıştırmak ve saklamak yerine, zip arşivinde sembolik bağ olarak saklar. Bu, zip dizin ağaçlarında yinelenirken ve dosyalara doğrudan ve bağlar aracılığıyla erişirken dosyaların birden çok kopyasının arşive dahil edilmesini önleyebilir.
-z --archive-comment Tüm zip arşivi için çok satırlı bir yorum ister. Yorum, yalnızca bir nokta içeren bir satırla veya dosya sonu (end of file) koşuluyla (Unix'te ^D, MSDOS, OS/2 ve VMS'te ^Z) sonlandırılır. Yorum bir dosyadan alınabilir:
zip -z foo < foowhat
-Z cm --compression-method cm Varsayılan sıkıştırma yöntemini ayarlar. Şu anda zip tarafından desteklenen temel yöntemler store ve deflate yöntemleridir. Sıkıştırma yöntemi şuna ayarlanabilir:
store - Sıkıştırma yöntemini store olarak ayarlamak, zip'i girdileri sıkıştırmadan saklamaya zorlar. Bu genellikle girdileri sıkıştırmaktan daha hızlıdır, ancak alan tasarrufu sağlamaz. Bu, -0 (sıfır sıkıştırma seviyesi) kullanmakla aynıdır.
deflate - Bu, zip için varsayılan yöntemdir. zip, saklamanın (storing) deflation yönteminden daha iyi olduğunu belirlerse, girdi bunun yerine sıkıştırılmadan saklanır.
bzip2 - bzip2 desteği derlenmişse, bu sıkıştırma yöntemi de kullanılabilir hale gelir. Şu anda yalnızca bazı modern unzip programları bzip2 sıkıştırma yöntemini desteklemektedir, bu nedenle bu yöntemi (sıkıştırma yöntemi 12) kullanan arşivlere güvenmeden önce kullanacağınız unzip programını test edin.
Örneğin, bzip2 sıkıştırmasını kullanarak bar.c dosyasını foo arşivine eklemek için:
zip -Z bzip2 foo bar.c
Sıkıştırma yöntemi kısaltılabilir:
zip -Zb foo bar.c
-# (-0, -1, -2, -3, -4, -5, -6, -7, -8, -9) Belirtilen rakamı (#) kullanarak sıkıştırma hızını düzenler; burada -0 sıkıştırma olmadığını (tüm dosyaları saklar), -1 en hızlı sıkıştırma hızını (daha az sıkıştırma) ve -9 en yavaş sıkıştırma hızını (en iyi sıkıştırma, uzantı listesini yok sayar) belirtir. Varsayılan sıkıştırma seviyesi -6'dır.
Hâlâ üzerinde çalışılıyor olsa da amaç, bu ayarın tüm sıkıştırma yöntemleri için sıkıştırma hızını kontrol etmesidir. Şu anda yalnızca deflation kontrol edilmektedir.
-! --use-privileges [WIN32] WinNT güvenliğinin tüm yönlerini elde etmek için yetkileri (varsa) kullanır.
-@ --names-stdin Girdi dosyalarının listesini standart girdiden alır. Satır başına yalnızca bir dosya adı.
-$ --volume-label [MSDOS, OS/2, WIN32] Sıkıştırılacak ilk dosyayı barındıran sürücünün birim etiketini (volume label) dahil eder. Yalnızca birim etiketini dahil etmek veya belirli bir sürücüyü zorlamak istiyorsanız, sürücü adını ilk dosya adı olarak kullanın, örneğin:
zip -$ foo a: c:bar
Examples
En basit örnek:
zip stuff *
stuff.zip arşivini oluşturur (mevcut olmadığı varsayılarak) ve mevcut dizindeki tüm dosyaları
sıkıştırılmış biçimde içine yerleştirir (arşiv adı zaten bir nokta içermediği sürece .zip son eki
otomatik olarak eklenir; bu, diğer son eklerin açıkça belirtilmesine izin verir).
Unix üzerindeki kabuğun dosya adı ikamesi yapma şekli nedeniyle, "." ile başlayan dosyalar
dahil edilmez; bunları da dahil etmek için:
zip stuff .* *
Bu bile mevcut dizindeki hiçbir alt dizini dahil etmeyecektir.
Bütün bir dizini zip'lemek için şu komut:
zip -r foo foo
mevcut dizin içinde yer alan foo dizinindeki tüm dosya ve dizinleri içeren foo.zip arşivini
oluşturur.
foo dizininin adını kaydetmeden, sadece foo içindeki dosyaları içeren bir zip arşivi yapmak
isteyebilirsiniz. Yolları dışarıda bırakmak için -j seçeneğini şu şekilde kullanabilirsiniz:
zip -j foo foo/*
Disk alanınız kısıtlıysa, hem orijinal dizini hem de ilgili sıkıştırılmış zip arşivini tutmak
için yeterli alanınız olmayabilir. Bu durumda, -m seçeneğini kullanarak arşivi adımlarla
oluşturabilirsiniz. Eğer foo dizini tom, dick ve harry alt dizinlerini içeriyorsa, şunları
yapabilirsiniz:
zip -rm foo foo/tom
zip -rm foo foo/dick
zip -rm foo foo/harry
burada ilk komut foo.zip dosyasını oluşturur ve sonraki ikisi ona ekleme yapar. Her zip komutunun
tamamlanmasında, bir önceki adımda oluşturulan arşiv silinir ve bir sonraki zip komutunun çalışması
için yer açılır.
Bölünme boyutunu ayarlamak ve bölünmüş bir arşiv oluşturmak için -s seçeneğini kullanın. Boyut,
bir sayı ve ardından isteğe bağlı olarak k (kB), m (MB), g (GB) veya t (TB) harflerinden biriyle
verilir. Şu komut:
zip -s 2g -r split.zip foo
her biri en fazla 2 GB boyutunda bölümlerle foo dizininin bölünmüş bir arşivini oluşturur. Eğer foo
5 GB içeriğe sahipse ve içerik (bu örneği basit tutmak için) sıkıştırma olmadan bölünmüş arşivde
saklandıysa, bu komut üç bölüm oluşturacaktır: 2 GB boyutunda split.z01, 2 GB boyutunda split.z02
ve 1 GB'ın biraz üzerinde split.zip.
-sp seçeneği, örneğin çıkarılabilir medyayı değiştirmeye izin vermek için bölünmeler arasında zip'i
duraklatmak için kullanılabilir; ancak aşağıdaki hem -s hem de -sp açıklamalarını ve uyarılarını
okuyun.
zip bölünmüş arşivleri güncellemiyor olsa da, bölünmüş arşivlerin güncellenmesine ve yeni bir arşivde
saklanmasına izin vermek için yeni -O (--output-file) seçeneğini sunar. Örneğin,
zip inarchive.zip foo.c bar.c --out outarchive.zip
komutu, bölünmüş olsa bile inarchive.zip arşivini okur, foo.c ve bar.c dosyalarını ekler ve ortaya
çıkan arşivi outarchive.zip dosyasına yazar. Eğer inarchive.zip bölünmüşse, outarchive.zip de varsayılan
olarak aynı bölünme boyutunu kullanır. outarchive.zip ve onunla birlikte oluşturulan tüm bölünmüş dosyaların
uyarı yapılmadan her zaman üzerine yazılacağını unutmayın. Bu durum gelecekte değiştirilebilir.
Pattern Matching
Bu bölüm yalnızca Unix için geçerlidir. MSDOS ve VMS işlemleriyle ilgili ayrıntılar için bu alanı takip edin. Ancak aşağıdaki özel joker karakterler olan * ve [] en azından MSDOS için de geçerlidir.
Unix kabukları (sh, csh, bash ve diğerleri) normalde komut argümanları üzerinde dosya adı ikamesi (buna "globbing" de denir) yapar. Genellikle özel karakterler şunlardır:
? herhangi bir tek karakterle eşleşir
- herhangi bir sayıda karakterle (hiç karakter olmaması dahil) eşleşir
[] köşeli parantez içinde belirtilen aralıktaki herhangi bir karakterle eşleşir (örnek: [a-f], [0-9]). Joker karakter eşleştirmenin bu biçimi, kullanıcının köşeli parantezler arasında bir karakter listesi belirtmesine izin verir ve karakterlerden herhangi biri eşleşirse ifade eşleşir. Örneğin:
zip archive "*.[hc]"
komutu, mevcut dizindeki .h veya .c ile biten tüm dosyaları arşivleyecektir.
Karakter aralıkları desteklenir:
zip archive "[a-f]*"
komutu, "a" ile "f" arasındaki harflerle başlayan tüm dosyaları arşive ekleyecektir.
Olumsuzlama da desteklenir; bu durumda o konumdaki listede yer almayan herhangi bir karakter eşleşir. Olumsuzlama, listenin başına ! veya ^ eklenerek desteklenir:
zip archive "*.[!o]"
komutu, ".o" ile bitmeyen dosyalarla eşleşir.
WIN32 üzerinde, [ veya ] içeren adların neden olduğu kafa karışıklığını önlemek için [] eşleştirmesinin -RE seçeneğiyle açılması gerekir.
Bu karakterlerle karşılaşıldığında (ters eğik çizgi veya tırnak işaretleriyle kaçırılmadan), kabuk mevcut yola göre desene uyan dosyaları arayacak ve argümanı eşleşen adların bir listesiyle değiştirecektir.
zip programı; kabuğa ad genişletmesini yapmamasını söylemek için ters eğik çizgiler veya tırnak işaretleri kullanarak, değiştirilmekte olan zip arşivindeki adlar üzerinde veya -x (hariç tutma) ya da -i (dahil etme) seçenekleri durumunda üzerinde işlem yapılacak dosyalar listesinde aynı eşleştirmeyi yapabilir.
Genel olarak, zip yapılacak dosyalar listesinde bir adla karşılaştığında önce dosya sisteminde bu adı arar. Bulursa, yapılacak dosyalar listesine ekler. Bulamazsa, varsa yukarıda açıklanan desen eşleştirme karakterlerini kullanarak değiştirilen zip arşivinde (varsa) adı arar. Her bir eşleşme için, bu ad -x seçeneyle verilenlerden biriyle eşleşmediği veya -i seçeneğiyle verilen hiçbir adla eşleşmediği sürece bu adı işlenecek dosyalar listesine ekler.
Desen eşleştirme yolu da içerir ve bu nedenle *.o gibi desenler, yol ön eki ne olursa olsun ".o" ile biten adlarla eşleşir. Ters eğik çizginin her özel karakterden (yani ?*[]) önce gelmesi veya tüm argümanın çift tırnak ("") içine alınması gerektiğini unutmayın.
Genel olarak, zip'in dosya yolları için desen eşleştirmesini yapmasını sağlamak amacıyla joker karakter içeren yollar için ters eğik çizgiler veya çift tırnak işaretleri kullanın; -i, -x, -R, -d ve -U seçenekleri için boşluk veya joker karakter içeren yollar ve dizeler için ve zip'in joker karakterleri işlemesi gereken her yerde bunu her zaman yapın.
Environment
Aşağıdaki çevre değişkenleri zip tarafından açıklandığı şekilde okunur ve kullanılır.
ZIPOPT zip çalıştırılırken kullanılacak varsayılan seçenekleri içerir. Bu çevre değişkeninin içeriği, zip komutundan hemen sonra komut satırına eklenecektir.
ZIP [RISC OS ve VMS üzerinde yoktur] bkz. ZIPOPT
Zip$Options [RISC OS] bkz. ZIPOPT
Zip$Exts [RISC OS] belirtilen uzantılardan birine sahip yerel dosya adlarının, temel ad (basename) ve uzantı yer değiştirmiş olarak zip dosyasına eklenmesine neden olacak, aralarında : bulunan uzantıları içerir.
ZIP_OPTS [VMS] bkz. ZIPOPT
See Also
compress(1), shar(1L), tar(1), unzip(1L), gzip(1L)
Diagnostics
Çıkış durumu (veya hata seviyesi), PKWARE tarafından tanımlanan çıkış kodlarına yaklaşır ve VMS hariç aşağıdaki değerleri alır:
0 normal; hiçbir hata veya uyarı tespit edilmedi.
2 zip dosyasının beklenmeyen sonu.
3 zip dosyası biçiminde genel bir hata tespit edildi. İşlem yine de başarıyla tamamlanmış olabilir; diğer arşivleyiciler tarafından oluşturulan bazı bozuk zip dosyaları için basit geçici çözümler mevcuttur.
4 zip, program başlatma sırasında bir veya daha fazla arabellek için bellek ayıramadı.
5 zip dosyası biçiminde ciddi bir hata tespit edildi. İşlem muhtemelen hemen başarısız oldu.
6 işlenemeyecek kadar büyük girdi (Zip64 kullanılmadığında 2 GB'tan büyük girdi dosyaları veya çok büyük mevcut bir arşivi okumaya çalışmak gibi) ya da zipsplit ile bölünemeyecek kadar büyük girdi.
7 geçersiz yorum biçimi.
8 zip -T başarısız oldu veya yetersiz bellek.
9 kullanıcı Control-C (veya benzeri) ile zip işlemini zamanından önce iptal etti.
10 zip geçici bir dosya kullanırken bir hatayla karşılaştı.
11 okuma veya arama (seek) hatası.
12 zip'in yapacak bir işi yok.
13 eksik veya boş zip dosyası.
14 bir dosyaya yazma hatası.
15 zip yazmak için bir dosya oluşturamadı.
16 hatalı komut satırı parametreleri.
18 zip okumak için belirtilen bir dosyayı açamadı.
19 zip bu sistemde desteklenmeyen seçeneklerle derlenmiş.
VMS standart Unix (veya PC) dönüş değerlerini daha korkunç görünen başka şeyler olarak yorumlar, bu nedenle zip bunları VMS tarzı durum kodlarıyla eşleştirir. Genel olarak zip; VMS Facility = 1955 (0x07A3), Code = 2 * Unix_durumu ve uygun bir Severity (ziperr.h içinde belirtildiği gibi) değerlerini ayarlar. VMS'e özgü belgelerde daha fazla ayrıntı yer almaktadır. Bkz. [.vms]NOTES.TXT ve [.vms]vms_msg_gen.c.
Bugs
zip 3.0, PKUNZIP 1.10 ile uyumlu değildir. PKUNZIP 1.10 tarafından çıkartılabilen zip dosyaları üretmek için zip 1.1 sürümünü kullanın.
zip 3.0 tarafından üretilen zip dosyaları şifrelenmiş üyeler içeriyorsa veya bir boru (pipe) hattında ya da arama yapılamayan (non-seekable) bir aygıtta üretilmişlerse, zip 1.1 veya PKZIP 1.10 tarafından güncellenmemelidir. zip veya PKZIP'in eski sürümleri yanlış biçimde bir arşiv oluşturacaktır. Eski sürümler zip dosyasının içeriğini listeleyebilir ancak yine de (yeni sıkıştırma algoritması nedeniyle) dosyayı çıkartamaz. Şifreleme kullanmıyorsanız ve normal disk dosyaları kullanıyorsanız, bu sorunu önemsemeniz gerekmez.
VMS altında, tüm alışılmadık dosya biçimleri düzgün şekilde işlenmez. Yalnızca stream-LF biçimindeki zip dosyalarının zip ile çalışması beklenir. Diğerleri Rahul Dhesi'nin BILF programı kullanılarak dönüştürülebilir. zip'in bu sürümü dönüşümün bir kısmını dahili olarak gerçekleştirir. VMS'ten MSDOS'a zip dosyalarını aktarmak için Kermit kullanırken, VMS üzerinde "set file type block" yazın. MSDOS'tan VMS'e aktarırken, VMS üzerinde "set file type fixed" yazın. Her iki durumda da MSDOS üzerinde "set file type binary" yazın.
Bazı eski VMS sürümlerinde, zip DECnet sözdizimi foo::. kullanan dosya belirtimleri için askıda kalabilir.
OS/2 üzerinde zip, ünlem işareti veya diyez işareti içerenler gibi bazı adlarla eşleşemez. Bu, OS/2'nin kendisindeki bir hatadır: 32-bit DosFindFirst/Next bu tür adları bulamamaktadır. GNU tar gibi diğer programlar da bu hatadan etkilenmektedir.
OS/2 altında, DIR tarafından görüntülenen Genişletilmiş Özniteliklerin (Extended Attributes) miktarı (uyumluluk için) DosQueryPathInfo() işlevinin 16 bitlik sürümü tarafından döndürülen miktardır. Aksi takdirde OS/2 1.3 ve 2.0, bir dosyada DIR komutu çalıştırıldığında farklı EA boyutları rapor ederdi. Ancak, 32 bitlik DosQueryPathInfo() tarafından döndürülen yapı düzeni (structure layout) biraz farklıdır; gelecekteki RISC OS/2 sürümlerine taşınabilirlik amacıyla tüm alanların 4 baytlık sınırlarda olmasını sağlamak için fazladan dolgu baytları (padding bytes) ve bağ göstericileri (link pointers - bu bağlı bir listedir) kullanır. Bu nedenle, zip tarafından bildirilen değer (bu 32-bit modu boyutunu kullanan) DIR tarafından bildirilenden farklıdır. zip, taşınabilirlik amacıyla 32-bit biçimini saklar; OS/2 1.3 üzerinde çalışan 16-bit MS-C ile derlenmiş sürüm bile 32-bit modu boyutunu gösterir.
Authors
Telif Hakkı (C) 1997-2008 Info-ZIP.
Şu anda Info-ZIP lisansı altında dağıtılmaktadır.
Telif Hakkı (C) 1990-1997 Mark Adler, Richard B. Wales, Jean-loup Gailly, Onno van der Linden, Kai Uwe Rommel, Igor Mandrichenko, John Bush ve Paul Kienitz.
Orijinal telif hakkı:
Tüm orijinal dosyaların dahil edilmesi, kâr amacıyla satılmaması ve bu telif hakkı bildiriminin korunması koşuluyla, herhangi bir kişi veya kuruluşa bu yazılımı kullanma, kopyalama veya yeniden dağıtma izni verilmiştir.
ÜCRETSİZ OLAN HER ŞEY GİBİ, ZIP VE İLGİLİ ARAÇLARI "OLDUĞU GİBİ" SUNULMAKTADIR VE AÇIK VEYA ZIMNİ HİÇBİR GARANTİ İÇERMEZ. HİÇBİR DURUMDA TELİF HAKKI SAHİPLERİ, BU YAZILIMIN KULLANIMINDAN KAYNAKLANAN HİÇBİR ZARARDAN SORUMLU TUTULAMAZ.
Lütfen hata raporlarını ve yorumlarınızı şu web sayfasını kullanarak gönderin: www.info-zip.org. Hata raporları için lütfen zip'in sürümünü (bkz. zip_-h), onu derlemek için kullanılan make seçeneklerini (bkz. zip_-v), kullanılan makineyi ve işletim sistemini ve mümkün olduğunca çok ek bilgiyi ekleyin.
Acknowledgements
Bu projeye ilham veren ve büzme (shrink) algoritmasının alındığı Shrink.Pas programı için R. P. Byrne'a; zip dosyası biçimini, sıkıştırma biçimini ve .ZIP dosya adı uzantısını kamu malı (public domain) haline getirdiği ve dosya biçimindeki küçük değişiklikleri kabul ettiği için Phil Katz'e; deflate biçimi hakkındaki açıklamaları için Steve Burg'e; sıkıştırma algoritması için bazı yararlı fikirler sağlayan Haruhiko Okumura ve Leonid Broukhis'e; Info-ZIP grubunun kullanması için bir e-posta listesi ve ftp sitesi sağlayan Keith Petersen, Rich Wales, Hunter Goatley ve Mark Adler'e; ve en önemlisi, yorulmak bilmez test ve hata düzeltme çalışmaları olmasaydı taşınabilir bir zip'in mümkün olamayacağı Info-ZIP grubunun kendisine (infozip.who dosyasında listelenmiştir) teşekkür ederiz. Son olarak, bizi en başta bu işe soktuğu için ilk Info-ZIP moderatörü David Kirschbaum'a teşekkür etmeliyiz (onu suçlamalıyız). Kılavuz sayfası, Unix için R. P. C. Rodgers tarafından yeniden yazılmış ve zip 3.0 için E. Gordon tarafından güncellenmiştir.
Info-ZIP 16 Haziran 2008 (v3.0) ZIP(1L)