← man/archiving_and_compression
unzip — man unzip — 80×24
ugur@toprak:~/man/archiving_and_compression$man unzip
Bölüm 1 Arşivleme & Sıkıştırma

unzip

bir ZIP arşivindeki sıkıştırılmış dosyaları listeler, test eder ve çıkarır

Sinopsis

       unzip [-Z] [-cflptTuvz[abjnoqsCDKLMUVWX$/:^]] dosya[.zip] [dosya(lar) ...] [-x yadsınan_dosya(lar) ...]
       [-d hedef_dizin]

Açıklama

unzip, genellikle MS-DOS sistemlerinde bulunan bir ZIP arşivindeki dosyaları listeler, test eder veya çıkarır. Varsayılan davranış (hiçbir seçenek belirtilmediğinde), belirtilen ZIP arşivindeki tüm dosyaları geçerli dizine (ve altındaki alt dizinlere) çıkarmaktır. Eşlik eden bir program olan zip(1L), ZIP arşivleri oluşturur; her iki program da MS-DOS için PKWARE'in PKZIP ve PKUNZIP programları tarafından oluşturulan arşivlerle uyumludur, ancak birçok durumda program seçenekleri veya varsayılan davranışlar farklılık gösterir.

Argümanlar

dosya[.zip] ZIP arşivlerinin yolu. Eğer dosya belirtimi bir joker karakter (wildcard) ise, eşleşen her dosya işletim sistemi (veya dosya sistemi) tarafından belirlenen bir sırada işlenir. Yalnızca dosya adı bir joker karakter olabilir; yolun kendisi olamaz. Joker karakter ifadeleri, yaygın olarak kullanılan Unix kabuklarında (sh, ksh, csh) desteklenenlere benzer ve şunları içerebilir:

  •  0 veya daha fazla karakterden oluşan bir diziyi eşleştirir
    

? tam olarak 1 karakteri eşleştirir

[...] köşeli parantez içinde bulunan herhangi bir tek karakteri eşleştirir; aralıklar bir başlangıç karakteri, bir tire ve bir bitiş karakteri ile belirtilir. Sol köşeli parantezi bir ünlem işareti veya düzeltme işareti (!' veya ^') takip ediyorsa, köşeli parantez içindeki karakter aralığı tamamlanır (yani, köşeli parantez içindeki karakterler dışındaki her şey bir eşleşme olarak kabul edilir). Harfi harfine bir sol köşeli parantez belirtmek için ``[[]'' üç karakterli dizisi kullanılmalıdır.

(İşletim sistemi tarafından yorumlanabilecek veya değiştirilebilecek her türlü karakteri, özellikle Unix ve VMS altında tırnak içine aldığınızdan emin olun.) Hiçbir eşleşme bulunamazsa, belirtimin harfi harfine bir dosya adı olduğu varsayılır; bu da başarısız olursa, sonuna .zip uzantısı eklenir. Diğer tüm ZIP arşivlerinde olduğu gibi, kendiliğinden açılan ZIP dosyalarının da desteklendiğini unutmayın; sadece .exe uzantısını (varsa) açıkça belirtmeniz yeterlidir.

[dosya(lar)] İşlenecek arşiv üyelerinin boşluklarla ayrılmış isteğe bağlı bir listesi. (VMSCLI tanımlı olarak derlenmiş VMS sürümleri bunun yerine dosyaları virgülle ayırmalıdır. Aşağıdaki SEÇENEKLER altındaki -v seçeneğine bakın.) Birden fazla üyeyi eşleştirmek için düzenli ifadeler (joker karakterler) kullanılabilir; yukarıya bakın. Yine, işletim sistemi tarafından genişletilecek veya değiştirilecek ifadeleri tırnak içine aldığınızdan emin olun.

[-x yadsınan_dosya(lar)] İşlem dışı tutulacak arşiv üyelerinin isteğe bağlı bir listesi. Joker karakterler normalde dizin ayırıcıları (`/') ile eşleştiğinden (istisnalar için -W seçeneğine bakın), bu seçenek alt dizinlerde bulunan dosyaları hariç tutmak için kullanılabilir. Örneğin, ``unzip foo *.[ch] -x /'' komutu, ana dizindeki tüm C kaynak dosyalarını çıkarır, ancak alt dizinlerdekileri çıkarmaz. -x seçeneği olmasaydı, zip dosyası içindeki tüm dizinlerde bulunan tüm C kaynak dosyaları çıkarılırdı.

[-d hedef_dizin] Dosyaların çıkarılacağı isteğe bağlı bir dizin. Varsayılan olarak, tüm dosyalar ve alt dizinler geçerli dizinde yeniden oluşturulur; -d seçeneği, rastgele bir dizine çıkarma yapılmasına izin verir (her zaman o dizine yazma izniniz olduğu varsayılır). Bu seçeneğin komut satırının sonunda görünmesi gerekmez; zip dosyası belirtiminden önce (normal seçeneklerle birlikte), zip dosyası belirtiminden hemen sonra veya dosya(lar) ile -x seçeneği arasında da kabul edilir. Seçenek ve dizin aralarında boşluk bırakılmadan birleştirilebilir, ancak bunun normal kabuk davranışının engellenmesine neden olabileceğini unutmayın. Özellikle, -d ~'' (tilda) Unix C kabukları tarafından kullanıcının ana dizininin adına genişletilir, ancak -d~'' geçerli dizinin harfi harfine ``~'' adlı bir alt dizini olarak kabul edilir.

Seçenekler

Eski donanımları desteklemek amacıyla unzip programının kullanım ekranının 22 veya 23 satırla sınırlandırıldığını ve bu nedenle olası tüm bayrakların ayrıntılı bir listesi yerine yalnızca temel unzip sözdiziminin bir hatırlatıcısı olarak kabul edilmesi gerektiğini unutmayın. Ayrıntılı liste şu şekildedir:

  • -Z: zipinfo(1L) modu. Komut satırındaki ilk seçenek -Z ise, geri kalan seçenekler zipinfo(1L) seçenekleri olarak kabul edilir. Bu seçeneklerin açıklaması için ilgili kılavuz sayfasına bakın.

  • -A: [OS/2, Unix DLL] DLL'in programlama arayüzü (API) için genişletilmiş yardımı yazdırır.

  • -c: dosyaları standart çıktıya/ekrana (``CRT'') çıkarır. Bu seçenek, her dosyanın adının çıkarılırken yazdırılması, -a seçeneğine izin verilmesi ve uygunsa ASCII-EBCDIC dönüşümünün otomatik olarak gerçekleştirilmesi hariç -p seçeneğine benzer. Bu seçenek unzip kullanım ekranında listelenmez.

  • -f: mevcut dosyaları tazeler, yani yalnızca diskte zaten var olan ve diskteki kopyalarından daha yeni olan dosyaları çıkarır. Varsayılan olarak unzip üzerine yazmadan önce sorar, ancak sorguları engellemek için -o seçeneği kullanılabilir. Birçok işletim sisteminde, -f ve -u seçeneklerinin düzgün çalışabilmesi için TZ (saat dilimi) ortam değişkeninin doğru şekilde ayarlanması gerektiğini unutmayın (Unix altında bu değişken genellikle otomatik olarak ayarlanır). Bunun nedenleri biraz karmaşıktır ancak DOS formatındaki dosya zamanları (her zaman yerel saat) ile Unix formatındaki zamanlar (her zaman GMT/UTC formatında) arasındaki farklar ve ikisinin karşılaştırılması gerekliliği ile ilgilidir. Tipik bir TZ değeri PST8PDT''dir (Yaz Saati Uygulaması veya yaz saati'' için otomatik ayarlamalı ABD Pasifik saati).

  • -l: arşiv dosyalarını listeler (kısa format). Belirtilen dosyaların adları, sıkıştırılmamış dosya boyutları ve değişiklik tarihleri ile saatleri, belirtilen tüm dosyaların toplamlarıyla birlikte yazdırılır. UnZip, OS2_EAS tanımlı olarak derlenmişse, -l seçeneği ayrıca depolanan OS/2 genişletilmiş niteliklerinin (EA'lar) ve OS/2 erişim kontrol listelerinin (ACL'ler) boyutları için sütunları da listeler. Ek olarak, zip dosyası yorumu ve bireysel dosya yorumları (varsa) görüntülenir. Bir dosya tek büyük/küçük harfli bir dosya sisteminden (örneğin, eski MS-DOS FAT dosya sistemi) arşivlendiğinde ve -L seçeneği verilmişse, dosya adı küçük harfe dönüştürülür ve başına bir düzeltme işareti (^) eklenir.

  • -p: dosyaları boru hattına (pipe - stdout) çıkarır. Standart çıktıya dosya verilerinden başka hiçbir şey gönderilmez ve dosyalar her zaman depolandıkları gibi ikili (binary) formatta çıkarılır (dönüşüm yapılmaz).

  • -t: arşiv dosyalarını test eder. Bu seçenek, belirtilen her dosyayı bellekte çıkarır ve açılan dosyanın CRC'sini (döngüsel artıklık denetimi, geliştirilmiş bir sağlama toplamı) orijinal dosyanın depolanan CRC değeriyle karşılaştırır.

  • -T: [çoğu işletim sisteminde] arşiv(ler) üzerindeki zaman damgasını, her birindeki en yeni dosyanın zaman damgasına ayarlar. Bu, joker karakterli zip dosyalarında kullanılabilmesi (örneğin, ``unzip -T *.zip'') ve çok daha hızlı olması hariç zip'in -go seçeneğine karşılık gelir.

  • -u: mevcut dosyaları günceller ve gerekirse yenilerini oluşturur. Bu seçenek, -f seçeneğiyle aynı işlevi gerçekleştirir, diskteki aynı isimli dosyalardan daha yeni olan dosyaları (sorgu ile) çıkarır ve ek olarak diskte henüz mevcut olmayan dosyaları çıkarır. Saat diliminin düzgün ayarlanması hakkında bilgi için yukarıdaki -f seçeneğine bakın.

  • -v: arşiv dosyalarını listeler (ayrıntılı format) veya tanısal sürüm bilgilerini gösterir. Bu seçenek zamanla gelişmiştir ve artık hem bir seçenek hem de bir niteleyici olarak davranır. Bir seçenek olarak iki amacı vardır: bir zip dosyası başka bir seçenek olmadan belirtildiğinde, -v arşiv dosyalarını ayrıntılı olarak listeler ve temel -l bilgilerine sıkıştırma yöntemini, sıkıştırılmış boyutu, sıkıştırma oranını ve 32-bit CRC değerini ekler. Çoğu rakip yardımcı programın aksine, unzip, şifrelenmiş girdilerin 12 ek başlık baytını sıkıştırılmış boyut numaralarından çıkarır. Bu nedenle, sıkıştırılmış boyut ve sıkıştırma oranı rakamları, girdinin şifreleme durumundan bağımsızdır ve doğru sıkıştırma performansını gösterir. (Zip dosyası girdileri için şifrelenmiş sıkıştırılmış veri akışının tam boyutu, daha ayrıntılı zipinfo(1L) raporları tarafından bildirilir, ayrı kılavuza bakın.) Hiçbir zip dosyası belirtilmediğinde (yani, tam komut sadece ``unzip -v'' olduğunda), bir tanı ekranı yazdırılır. Sürüm tarihi ve sürümü içeren normal başlığa ek olarak, unzip, ana Info-ZIP ftp sitesini ve diğer ftp ile ftp olmayan sitelerin bir listesinin nerede bulunacağını listeler; derlendiği hedef işletim sisteminin yanı sıra (muhtemelen) derlendiği donanımı, kullanılan derleyiciyi ve sürümünü ve derleme tarihini; programın çalışmasını etkileyebilecek özel derleme seçeneklerini (aşağıdaki ŞİFRE ÇÖZME bölümüne de bakın) ve aynı şeyi yapabilecek ortam değişkenlerinde saklanan seçenekleri (aşağıdaki ORTAM SEÇENEKLERİ bölümüne bakın) listeler. Bir niteleyici olarak, daha ayrıntılı veya hata ayıklama çıktısı üretmek için diğer seçeneklerle (örneğin, -t) birlikte çalışır; bu henüz tam olarak uygulanmamıştır ancak gelecekteki sürümlerde olacaktır.

  • -z: yalnızca arşiv yorumunu görüntüler.

Niteleyiciler

  • -a: metin dosyalarını dönüştürür. Normalde tüm dosyalar tam olarak depolandıkları gibi (ikili'' dosyalar olarak) çıkarılır. -a seçeneği, zip tarafından metin dosyası olarak tanımlanan dosyaların (zipinfo listelerinde `b' yerine `t' etiketi olanlar) otomatik olarak bu şekilde çıkarılmasını sağlar; satır sonlarını, dosya sonu karakterlerini ve karakter setinin kendisini gerektiği gibi dönüştürür. (Örneğin, Unix dosyaları satır sonu (EOL) için satır besleme (LF) kullanır ve dosya sonu (EOF) işaretçisine sahip değildir; Macintosh'lar EOL'ler için satır başı (CR) kullanır; ve çoğu PC işletim sistemi EOL'ler için CR+LF ve EOF için control-Z kullanır. Ek olarak, IBM ana bilgisayarları ve Michigan Terminal System daha yaygın olan ASCII karakter seti yerine EBCDIC kullanır ve NT Unicode'u destekler.) Zip'in metin dosyalarını tanımlamasının hiçbir şekilde mükemmel olmadığını unutmayın; bazı metin'' dosyaları aslında ikili olabilir veya tersi geçerli olabilir. Bu nedenle unzip, -a seçeneğini kullanırken çıkardığı her dosya için görsel bir kontrol olarak [text]'' veya [binary]'' yazdırır. -aa seçeneği, varsayılan dosya türüne bakılmaksızın tüm dosyaların metin olarak çıkarılmasını zorunlu kılar. VMS'te ayrıca -S seçeneğine bakın.

  • -b: [genel] tüm dosyaları ikili olarak kabul eder (metin dönüşümü yapmaz). Bu, -a seçeneğinin tersidir.

  • -b: [Tandem] "metin" olarak işaretlenmiş Zip girdilerini çıkarırken dosya kodu türü 180 ('C') olan dosyaların oluşturulmasını zorlar. (Tandem üzerinde, -a varsayılan olarak etkindir, yukarıya bakın).

  • -b: [VMS] ikili dosyaları (yukarıdaki -a seçeneğine bakın) sabit uzunluklu, 512 baytlık kayıt formatına otomatik olarak dönüştürür. Seçeneğin iki katına çıkarılması (-bb), tüm dosyaların bu formatta çıkarılmasını zorunlu kılar. Standart çıktıya çıkarırken (-c veya -p seçeneği etkinken), metin kaydı sınırlayıcılarının varsayılan dönüşümü ikili (-b) veya tümü (-bb) için devre dışı bırakılır.

  • -B: [UNIXBACKUP tanımlı olarak derlendiğinde] üzerine yazılan her dosyanın bir yedek kopyasını kaydeder. Yedek dosya, hedef dosyanın adını alır ve sonuna bir tilda ve isteğe bağlı olarak benzersiz bir sıra numarası (5 basamağa kadar) eklenir. Sıra numarası, orijinal ad artı tilda içeren başka bir dosya zaten mevcut olduğunda uygulanır. "Tümünün üzerine yaz" seçeneği -o ile birlikte kullanıldığında, numaralandırılmış yedek dosyalar asla oluşturulmaz. Bu durumda, tüm yedek dosyalar sonuna tilda eklenmiş orijinal dosya olarak adlandırılır ve mevcut yedek dosyalar bildirim yapılmaksızın silinir. Bu özellik, many locations'ta emacs(1) programının varsayılan davranışına benzer şekilde çalışır.

Örnek: foo'' dosyasının eski kopyası foo~'' olarak yeniden adlandırılır.

Uyarı: Kullanıcılar, -B seçeneğinin her koşulda mevcut veri kaybını önlemediğinin farkında olmalıdır. Örneğin, unzip tümünün üzerine yazma modunda çalıştırıldığında, unzip foo'' dosyasını foo~'' olarak yeniden adlandırmaya çalışmadan önce mevcut bir foo~'' dosyası silinir. Bu yeniden adlandırma girişimi başarısız olduğunda (dosya kilitleri, yetersiz ayrıcalıklar veya başka nedenlerden dolayı), foo~'' dosyasının çıkarılması iptal edilir, ancak eski yedek dosya zaten kaybedilmiştir. Numaralandırılmış yedek dosyalar için sıra numarası aralığı tükendiğinde de (16-bit sistemler için 99999 veya 65535) benzer bir senaryo gerçekleşir. Bu durumda, maksimum sıra numarasına sahip yedek dosya silinir ve bildirim yapılmaksızın yeni yedek sürümle değiştirilir.

  • -C: komut satırı çıkarma seçim şablonları listesinden arşiv girdilerinin seçimi için büyük/küçük harfe duyarsız eşleştirme kullanır. unzip'in felsefesi ne istersen onu alırsın'' şeklindedir (bu durum -L/-U değişikliğinden de sorumludur; aşağıdaki ilgili seçeneklere bakın). Bazı dosya sistemleri tamamen büyük/küçük harfe duyarlı olduğundan (özellikle Unix işletim sistemi altındakiler) ve hem ZIP arşivleri hem de unzip'in kendisi platformlar arasında taşınabilir olduğundan, unzip'in varsayılan davranışı hem joker karakterli hem de harfi harfine dosya adlarını büyük/küçük harfe duyarlı olarak eşleştirmektir. Yani, komut satırında makefile'' belirtilmesi, arşivde yalnızca makefile'' ile eşleşer, Makefile'' veya MAKEFILE'' ile eşleşmez (ve joker karakter belirtimleri için de benzerdir). Bu durum diğer birçok işletim/dosya sisteminin (örneğin, karışık harfleri koruyan ancak buna duyarlı olmayan OS/2 HPFS) davranışına uymadığından, tüm dosya adı eşleşmelerini büyük/küçük harfe duyarsız olmaya zorlamak için -C seçeneği kullanılabilir. Yukarıdaki örnekte, her üç dosya da makefile'' (veya ``make*'' veya benzeri) ile eşleşecektir. -C seçeneği, hem normal dosya listesindeki hem de hariç tutulan dosya listesindeki (xlist) dosya belirtimlerini etkiler.

Lütfen -C seçeneğinin ne zip dosyasının aranmasını ne de arşiv girdilerinin çıkarma yolundaki mevcut dosyalarla eşleşmesini etkilemediğini unutmayın. Büyük/küçük harfe duyarlı bir dosya sisteminde, unzip bir foo'' girdisini çıkarırken asla bir FOO'' dosyasının üzerine yazmaya çalışmayacaktır!

  • -D: çıkarılan öğeler için zaman damgalarının geri yüklenmesini atlar. Normalde unzip, Zip arşivinde sağlanan (ve ayrıcalık gerektirmeyen veya bir güvenlik riski oluşturmayan) çıkarılan öğeler için tüm meta-bilgileri geri yüklemeye çalışır. -D belirtilerek, unzip'e Zip arşivi girdilerinden açıkça oluşturulan dizinler için zaman damgalarının geri yüklenmesini engellemesi söylenir. Bu seçenek yalnızca dizinler için zaman damgalarının ayarlanmasını destekleyen bağlantı noktaları için geçerlidir (şu anda ATheOS, BeOS, MacOS, OS/2, Unix, VMS, Win32; diğer unzip bağlantı noktaları için -D seçeneğinin hiçbir etkisi yoktur). Çift belirtilen -DD seçeneği, çıkarılan tüm girdiler (dosyalar ve dizinler) için zaman damgası geri yüklemesinin engellenmesini zorunlu kılar. Bu seçenek, çıkarılan tüm girdilerin zaman damgalarının geçerli saate ayarlanmasıyla sonuçlanır.

VMS üzerinde, BACKUP davranışıyla tutarlılık sağlamak amacıyla bu seçeneğin varsayılan ayarı -D'dir: dosya zaman damgaları geri yüklenir, çıkarılan dizinlerin zaman damgaları geçerli saatte bırakılır. Dizin zaman damgalarının geri yüklenmesini etkinleştirmek için, olumsuzlanan --D seçeneği belirtilmelidir. VMS üzerinde, -D seçeneği çıkarılan tüm Zip arşivi öğeleri için zaman damgası geri yüklemesini devre dışı bırakır. (Burada, komut satırındaki tek bir -D, varsayılan -D ile birleşerek diğer sistemlerde açık bir -DD'nin yaptığını yapar.)

  • -F: [yalnızca Acorn] depolanan dosya adlarından NFS dosya türü uzantısının kaldırılmasını engeller.

  • -F: [virgül içeren uzun dosya adlarını destekleyen Acorn dışı sistemler ve yalnızca ACORN_FTYPE_NFS tanımlı olarak derlenmişse] ACORN RISC OS ekstra alan bloklarından dosya türü bilgilerini bir NFS dosya türü uzantısına dönüştürür ve çıkarılan dosyaların adlarının sonuna ekler. (Depolanan dosya adının zaten eklenmiş bir NFS dosya türü uzantısına sahip olduğu göründüğünde, bu bilgi ekstra alandan gelen bilgiyle değiştirilir.)

  • -j: yolları çöpe atar. Arşivin dizin yapısı yeniden oluşturulmaz; tüm dosyalar çıkarma dizinine (varsayılana göre geçerli olan dizine) bırakılır.

  • -J: [yalnızca BeOS] dosya özniteliklerini çöpe atar. Dosyanın BeOS dosya öznitelikleri geri yüklenmez, yalnızca dosyanın verileri geri yüklenir.

  • -K: [yalnızca AtheOS, BeOS, Unix] SUID/SGID/Tacky dosya özniteliklerini korur. Bu bayrak olmadan, bu öznitelik bitleri güvenlik nedeniyle temizlenir.

  • -L: yalnızca büyük harf kullanan bir işletim sisteminden veya dosya sisteminden kaynaklanan tüm dosya adlarını küçük harfe dönüştürür. (Bu, 5.11 sürümünden önceki unzip sürümlerinde varsayılan davranıştı; yeni varsayılan davranış, artık modası geçmiş olan ve gelecekteki bir sürümde kaldırılacak olan -U seçeneğiyle eski davranışla aynıdır.) Arşivleyiciye bağlı olarak, tek büyük/küçük harfli dosya sistemleri (VMS, eski MS-DOS FAT vb.) altında arşivlenen dosyalar tamamen büyük harfli adlar olarak depolanabilir; bu, OS/2 HPFS gibi büyük/küçük harfi koruyan veya Unix altındaki gibi büyük/küçük harfe duyarlı bir dosya sistemine çıkarılırken çirkin veya uygunsuz olabilir. Varsayılan olarak unzip, bu tür dosya adlarını tam olarak depolandıkları gibi listeler ve çıkarır (kesme, desteklenmeyen karakterlerin dönüştürülmesi vb. hariç); bu seçenek, belirli sistemlerden gelen tüm dosyaların adlarının küçük harfe dönüştürülmesine neden olur. -LL seçeneği, kaynak dosya sistemine bakılmaksızın her dosya adının küçük harfe dönüştürülmesini zorunlu kılar.

  • -M: tüm çıktıyı Unix more(1) komutuna benzer dahili bir sayfalayıcı aracılığıyla yönlendirir. Ekran dolusu çıktının sonunda, unzip --More--'' istemiyle duraklar; sonraki ekran dolusu çıktı Enter (Return) tuşuna veya boşluk çubuğuna basılarak görüntülenebilir. unzip, q'' tuşuna ve bazı sistemlerde Enter/Return tuşuna basılarak sonlandırılabilir. Unix more(1) komutundan farklı olarak, ileriye doğru arama veya düzenleme yeteneği yoktur. Ayrıca unzip, uzun satırların ekranın kenarında otomatik olarak sarıldığını fark etmez, bu da etkili bir şekilde iki veya daha fazla satırın yazdırılmasına ve bazı metinlerin görüntülenmeden önce ekranın üst kısmından kayıp gitmesi olasılığına yol açar. Bazı sistemlerde ekrandaki kullanılabilir satır sayısı tespit edilemez, bu durumda unzip yüksekliğin 24 satır olduğunu varsayar.

  • -n: mevcut dosyaların üzerine asla yazmaz. Bir dosya zaten mevcutsa, sormadan o dosyanın çıkarılmasını atlar. Varsayılan olarak unzip, zaten mevcut olan herhangi bir dosyayı çıkarmadan önce sorar; kullanıcı yalnızca geçerli dosyanın üzerine yazmayı, tüm dosyaların üzerine yazmayı, geçerli dosyanın çıkarılmasını atlamayı, mevcut tüm dosyaların çıkarılmasını atlamayı veya geçerli dosyayı yeniden adlandırmayı seçebilir.

  • -N: [Amiga] dosya yorumlarını Amiga dosya notları (filenotes) olarak çıkarır. Dosya yorumları, zip(1L) programının -c seçeneğiyle veya dosya notlarını yorum olarak depolayan zip(1L) programının Amiga bağlantı noktasının -N seçeneğiyle oluşturulur.

  • -o: sormadan mevcut dosyaların üzerine yazar. Bu tehlikeli bir seçenektir, bu nedenle dikkatli kullanın. (Ancak genellikle -f ile kullanılır ve OS/2 altında dizin EA'larının üzerine yazmanın tek yoludur.)

-P şifre şifrelenmiş zip dosyası girdilerini (varsa) çözmek için şifre 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 geçerli komut satırını görmesi için yollar sağlar; tek başına çalışan sistemlerde bile her zaman omuz üzerinden dikizleme tehdidi vardır. Düz metin şifreyi otomatik bir betikteki bir komut satırının parçası olarak saklamak daha da kötürdür. Mümkün olduğunda, şifreleri girmek için yankısız, etkileşimli istemi kullanın. (Ve güvenliğin gerçekten önemli olduğu durumlarda, standart zip dosyası yardımcı programları tarafından sağlanan nispeten zayıf şifreleme yerine Pretty Good Privacy gibi güçlü şifrelemeler kullanın.)

  • -q: işlemleri sessizce gerçekleştirir (-qq = daha da sessiz). Normalde unzip çıkardığı veya test ettiği dosyaların adlarını, çıkarma yöntemlerini, arşivde depolanabilecek her türlü dosya veya zip dosyası yorumunu ve muhtemelen her arşivle işi bittiğinde bir özet yazdırır. -q[q] seçenekleri bu mesajların bazılarının veya tamamının yazdırılmasını engeller.

  • -s: [OS/2, NT, MS-DOS] dosya adlarındaki boşlukları alt çizgiye dönüştürür. Tüm PC işletim sistemleri dosya adlarında boşluklara izin verdiğinden, unzip varsayılan olarak dosya adlarını boşlukları bozulmadan çıkarır (örneğin, ``EA DATA. SF''). Ancak bu durum zahmetli olabilir, çünkü özellikle MS-DOS dosya adlarında boşlukları düzgün bir şekilde desteklemez. Boşlukların alt çizgiye dönüştürülmesi bazı durumlarda bu zahmeti ortadan kaldırabilir.

  • -S: [VMS] metin dosyalarını (-a, -aa), metin dosyası varsayılanı olan değişken uzunluklu kayıt formatı yerine Stream_LF kayıt formatına dönüştürür. (Stream_LF, VMS unzip'in varsayılan kayıt formatıdır. Dönüşüm (-a, -aa ve/veya -b, -bb) istenmediği veya VMS'e özgü bir girdi işlenmediği sürece uygulanır.)

  • -U: [yalnızca UNICODE_SUPPORT] UTF-8 işlemeyi değiştirir veya devre dışı bırakır. UNICODE_SUPPORT mevcut olduğunda, -U seçeneği unzip'i UTF-8 kodlu dosya adlarındaki tüm ASCII olmayan karakterleri #Uxxxx'' (UCS-2 karakterleri için veya 3 oktet gerektiren unicode kod noktaları için #Lxxxxxx'') olarak kaçış karakteriyle yazmaya zorlar. Bu seçenek esas olarak, oldukça yeni olan UTF-8 desteğinin çıkarılan dosya adlarını bozduğundan şüphelenildiğinde hata ayıklama amacıyla sağlanmıştır.

-UU seçeneği, UTF-8 kodlu dosya adlarının tanınmasını tamamen devre dışı bırakmaya izin verir. unzip içindeki dosya adı kodlamalarının işlenmesi önceki sürümlerin davranışına geri döner.

[eski, modası geçmiş kullanım] MS-DOS, VMS vb. altında oluşturulmuşsa dosya adlarını büyük harf olarak bırakır. Yukarıdaki -L seçeneğine bakın.

  • -V: (VMS) dosya sürüm numaralarını korur. VMS dosyaları, dosya.ext;## formatında bir sürüm numarasıyla depolanabilir. Varsayılan olarak ``;##'' sürüm numaraları kaldırılır, ancak bu seçenek bunların korunmasına izin verir. (Dosya adlarını özellikle kısa uzunluklarla sınırlayan dosya sistemlerinde, sürüm numaraları bu seçeneğe bakılmaksızın kesilebilir veya kaldırılabilir.)

  • -W: [yalnızca WILD_STOP_AT_DIR derleme zamanı seçeneği etkinleştirildiğinde] kalıp eşleştirme yordamını değiştirerek hem ?' (tek karakterli joker karakter) hem de *' (çok karakterli joker karakter) karakterlerinin dizin ayırıcı karakteri `/' ile eşleşmemesini sağlar. (İki karakterli ``**'' dizisi, eşleşen karakterlerinde dizin ayırıcısını içeren çok karakterli bir joker karakter olarak işlev görür.) Örnekler:

".c" "foo.c" ile eşleşir ancak "mydir/foo.c" ile eşleşmez "**.c" hem "foo.c" hem de "mydir/foo.c" ile eşleşir "/.c" "bar/foo.c" ile eşleşir ancak "baz/bar/foo.c" ile eşleşmez "??/*" "ab/foo" ve "abc/foo" ile eşleşir ama "a/foo" veya "a/b/foo" ile eşleşmez

Bu değiştirilmiş davranış, UnZip'in desteklenen hedef işletim sistemlerinden bazılarının kabukları tarafından kullanılan kalıp eşleştirme stiline eşdeğerdir (bir örnek Acorn RISC OS'tir). Bu seçenek, Zip arşivinin dahili dizin ayırıcı karakteri /' karakterinin yerel işletim sistemi dosya adlarında normal karakter olarak kullanılmasına izin verilen sistemlerde mevcut olmayabilir. (Şu anda UnZip, çoğu bağlantı noktasında hem joker karakterli zip dosyası belirtimleri hem de zip girdisi seçim kalıpları için aynı kalıp eşleştirme kurallarını kullanır. /' karakterinin normal dosya adı karakteri olarak kullanılmasına izin veren sistemler için, -W seçeneği joker karakterli bir zip dosyası belirtiminde beklendiği gibi çalışmayacaktır.)

  • -X: [VMS, Unix, OS/2, NT, Tandem] VMS altında sahibi/koruma bilgilerini (UIC'ler ve ACL girdileri) veya Unix altında kullanıcı ve grup bilgilerini (UID/GID) veya OS/2'nin belirli ağ özellikli sürümleri (IBM LAN Server/Requester 3.0 ila 5.0 ile Warp Server; IBM Peer 1.0 ile Warp Connect) altında erişim kontrol listelerini (ACL'ler) veya Windows NT altında güvenlik ACL'lerini geri yükler. Çoğu durumda bu özel sistem ayrıcalıkları gerektirecektir ve NT altında seçeneğin iki katına çıkarılması (-XX), unzip'e çıkarma için ayrıcalıkları kullanmasını söyler; ancak örneğin Unix altında, birkaç gruba ait olan bir kullanıcı, kullanıcı kimlikleri kendisininkiyle eşleştiği sürece, bu gruplardan herhangi birine ait olan dosyaları geri yükleyebilir. Sıradan dosya özniteliklerinin her zaman geri yüklendiğini unutmayın; bu seçenek yalnızca bazı işletim sistemlerinde bulunan isteğe bağlı, ekstra sahiplik bilgileri için geçerlidir. [NT'nin erişim kontrol listeleri OS/2'ninkilerle özellikle uyumlu görünmemektedir, bu nedenle erişim ayrıcalıklarının platformlar arası taşınabilirliği için hiçbir girişimde bulunulmamaktadır. Bunun hangi koşullar altında yararlı olacağı da zaten açık değildir.]

  • -Y: [VMS] arşivlenmiş dosya adı sonlarındaki .nnn'' (burada nnn'' bir ondalık sayıdır) ifadelerini VMS sürüm numaraları (``;nnn'') gibi kabul eder. (Varsayılan davranış bunları dosya türleri olarak kabul etmektir.) Örnek: "a.b.3" -> "a.b;3".

-$ [MS-DOS, OS/2, NT] çıkarma ortamı çıkarılabilir ise (örneğin, bir disket) birim etiketini geri yükler. Seçeneğin iki katına çıkarılması (-$$), sabit ortamların (sabit diskler) de etiketlenmesine izin verir. Varsayılan olarak, birim etiketleri yoksayılır.

-/ uzantılar [yalnızca Acorn] Unzip$Ext ortam değişkeni tarafından sağlanan uzantı listesini geçersiz kılar. Çıkarma sırasında, bu uzantı listesindeki öğelerden biriyle eşleşen dosya adı uzantıları, çıkarılan dosyanın temel adının önüne taşınır.

-: [Acorn, VM/CMS, MVS, Tandem hariç tümü] arşiv üyelerinin geçerli çıkarma kök klasörü'' dışındaki konumlara çıkarılmasına izin verir. Güvenlik nedenleriyle, unzip normalde çıkarılan dosya adlarından üst dizin'' yol bileşenlerini (../'') kaldırır. Bu güvenlik özelliği (5.50 sürümü için yenidir), unzip'in etkin çıkarma klasörü ağacının dışındaki hassas'' alanlara yanlışlıkla dosya yazmasını önler. -: seçeneği, unzip'in önceki, daha serbest davranışına geri dönmesini sağlayarak, geçerli çıkarma klasörü düzeyinde birden fazla dizin ağacı oluşturmak için ../'' bileşenlerini kullanan (daha eski) arşivlerin tam olarak çıkarılmasına izin verir. Bu seçenek, kök dizine (/'') açıkça yazılmasını etkinleştirmez. Bunu başarmak için, çıkarma hedef klasörünü kök olarak ayarlamak gerekir (örneğin -d / ). Ancak, -: seçeneği belirtildiğinde, zip arşivi içinde yeterli ``../'' yol bileşeni belirterek kök dizine dolaylı olarak yazmak yine de mümkündür. Bu seçeneği son derece dikkatli kullanın.

-^ [yalnızca Unix] çıkarılan ZIP arşivi girdilerinin adlarında kontrol karakterlerine izin verir. Unix üzerinde, belirli dosya sisteminin daha kısıtlayıcı kuralları olmadığı sürece, bir dosya adı, '/' (dizin ayırıcı) ve NUL (0x00, C dize sonlandırma göstergesi) olmak üzere iki istisna dışında herhangi bir (8-bit) karakter kodunu içerebilir. Genellikle bu, en azından 'yerel' Unix dosya sistemlerinde, dosya adlarına ASCII kontrol karakterlerinin (veya gelişmiş kontrol dizilerinin) yerleştirilmesine izin verir. Ancak, bu Unix "özelliğinden" yararlanmak son derece şüpheli olabilir. Dosya adlarındaki gömülü kontrol karakterleri, yeterli filtreleme olmaksızın bazı listeleme kodları tarafından ekranda görüntülendiğinde kötü yan etkilere neden olabilir. Ve sıradan kullanıcılar için bu tür dosya adlarını işlemek (örneğin, açma, kopyalama, taşıma veya silme işlemleri için belirtmeye çalışırken) zor olabilir. Bu nedenle unzip, varsayılan olarak çıkarılan dosya adlarından potansiyel olarak tehlikeli kontrol karakterlerini kaldıran bir filtre uygular. -^ seçeneği, gömülü dosya adı kontrol karakterlerinin kasıtlı olarak geri yüklenmek istendiği nadir durumlarda bu filtreyi geçersiz kılmaya izin verir.

  • -2: [VMS] dosya adlarının koşulsuz olarak ODS2 uyumlu adlara dönüştürülmesini zorunlu kılar. Varsayılan davranış, hedef dosya sisteminden yararlanarak bir ODS5 hedef dosya sisteminde büyük/küçük harfi ve genişletilmiş dosya adı karakterlerini korumak; ve bir ODS2 hedef dosya sisteminde ODS2 uyumluluk dosya adı filtrelemesini uygulamaktır.

Ortam Seçenekleri

unzip'in varsayılan davranışı, bir ortam değişkenine yerleştirilen seçenekler aracılığıyla değiştirilebilir. Bu, herhangi bir seçenekle yapılabilir, ancak muhtemelen en çok -a, -L, -C, -q, -o veya -n niteleyicileriyle kullanışlıdır: unzip'in varsayılan olarak metin dosyalarını otomatik olarak dönüştürmesini sağlayın, dosya adlarını büyük harfli sistemlerden küçük harfe dönüştürmesini sağlayın, adları büyük/küçük harfe duyarsız olarak eşleştirmesini sağlayın, daha sessiz çalışmasını sağlayın veya dosyaları çıkarırken her zaman üzerine yazmasını ya da asla üzerine yazmamasını sağlayın. Örneğin, unzip'in olabildiğince sessiz çalışmasını ve yalnızca hataları bildirmesini sağlamak için aşağıdaki komutlardan biri kullanılır:

Unix Bourne shell: UNZIP=-qq; export UNZIP

Unix C shell: setenv UNZIP -qq

OS/2 veya MS-DOS: set UNZIP=-qq

VMS (küçük harfler için tırnak işaretleri): define UNZIP_OPTS "-qq"

Ortam seçenekleri, aslında komut satırındaki ilk seçenekler olmaları dışında, diğer tüm komut satırı seçenekleri gibi kabul edilir. Bir ortam seçeneğini geçersiz kılmak için, onu kaldırmak üzere ``eksi operatörü'' kullanılabilir. Örneğin, yukarıdaki örnekteki sessizlik bayraklarından birini geçersiz kılmak için şu komut kullanılır:

unzip --q[diğer seçenekler] zip dosyası

İlk tire normal geçiş karakteridir ve ikincisi q seçeneğine etki eden bir eksi işaretidir. Böylece buradaki etki, sessizlik derecesini bir miktar azaltmaktır. Her iki sessizlik bayrağını da iptal etmek için iki (veya daha fazla) eksi işareti kullanılabilir:

unzip -t--q zip dosyası unzip ---qt zip dosyası

(ikisi eşdeğerdir). Bu zahmetli veya kafa karıştırıcı görünebilir, ancak oldukça sezgiseldir: sadece ilk tireyi yok sayın ve oradan devam edin. Bu aynı zamanda Unix nice(1) davranışıyla da tutarlıdır.

Yukarıdaki örneklerde önerildiği gibi, varsayılan değişken adları VMS için UNZIP_OPTS (burada unzip'i yabancı bir komut olarak yüklemek için kullanılan sembol, aksi takdirde ortam değişkeniyle karıştırılırdı) ve diğer tüm işletim sistemleri için UNZIP'tir. zip(1L) ile uyumluluk için UNZIPOPT da kabul edilir (sormayın). Ancak hem UNZIP hem de UNZIPOPT tanımlanmışsa, UNZIP öncelikli olur. unzip'in tanı seçeneği (zip dosyası adı olmadan -v), olası dört unzip ve zipinfo ortam değişkeninin değerlerini kontrol etmek için kullanılabilir.

Saat dilimi değişkeni (TZ), -f and -u seçeneklerinin doğru çalışması için yerel saat dilimine göre ayarlanmalıdır. Ayrıntılar için yukarıdaki -f açıklamasına bakın. Bu değişken, çıkarılan dosyaların zaman damgalarının doğru şekilde ayarlanması için de gerekli olabilir. unzip'in WIN32 (Win9x/ME/NT4/2K/XP/2K3) bağlantı noktası, Denetim Masası'nda doğru şekilde ayarlandığını varsayarak saat dilimi yapılandırmasını kayıt defterinden alır. TZ değişkeni bu bağlantı noktası için yoksayılır.

Şifre Çözme

Şifrelenmiş arşivler Info-ZIP yazılımı tarafından tamamen desteklenmektedir, ancak Amerika Birleşik Devletleri ihracat kısıtlamaları nedeniyle, derlenmiş ikili dosyanızda şifreleme/şifre çözme desteği devre dışı bırakılmış olabilir. Ancak, 2000 baharından bu yana ABD ihracat kısıtlamaları serbestleştirilmiştir ve kaynak arşivlerimiz artık tam şifreleme kodunu içermektedir. Şifreleme desteği etkinleştirilmiş ikili dağıtımlara ihtiyacınız olması durumunda, hem ABD içindeki hem de dışındaki konumlar için herhangi bir Info-ZIP kaynak veya ikili dağıtımındaki ``WHERE'' dosyasına bakın.

unzip'in bazı derlenmiş sürümleri şifre çözmeyi desteklemeyebilir. Bir sürümün şifreleme desteğini kontrol etmek için, şifrelenmiş bir arşivi test etmeyi veya çıkarmayı deneyin ya da özel derleme seçeneklerinden biri olarak ``[decryption]'' ifadesi için unzip'in tanı ekranını (yukarıdaki -v seçeneğine bakın) kontrol edin.

Yukarıda belirtildiği gibi, komut satırında bir şifre sağlamak için -P seçeneği kullanılabilir, ancak bunun güvenlik açısından bir bedeli vardır. Tercih edilen şifre çözme yöntemi yalnızca normal şekilde çıkarmaktır; bir zip dosyası üyesi şifrelenmişse, unzip yazılanları yankılamadan şifreyi soracaktır. unzip, her dosyada 12 baytlık bir başlığı test ederek, geçerli göründüğü sürece aynı şifreyi kullanmaya devam eder. Doğru şifre her zaman başlığa göre doğrulanacaktır, ancak yanlış bir şifrenin de doğrulanması 256'da 1 olasılıktır. (Bu, PKWARE zip dosyası formatının bir güvenlik özelliğidir; yalnızca başlığı test ederek büyük bir hız avantajı elde edebilecek kaba kuvvet saldırılarını önlemeye yardımcı olur.) Yanlış bir şifrenin verildiği ancak yine de başlık testini geçtiği durumda, çıkarılan veriler için yanlış bir CRC oluşturulacak ya da ``şifresi çözülmüş'' baytlar geçerli bir sıkıştırılmış veri akışı oluşturmadığı için unzip çıkarma sırasında başarısız olacaktır.

İlk şifre bazı dosyalarda başlık denetiminde başarısız olursa, unzip başka bir şifre isteyecektir ve bu, tüm dosyalar çıkarılana kadar böyle devam edecektir. Bir şifre bilinmiyorsa, boş bir şifre girilmesi (yani yalnızca satır başı veya Enter'') daha fazla istemde bulunulmamasını sağlamak için bir sinyal olarak kabul edilir. Bundan sonra arşivdeki yalnızca şifrelenmemiş dosyalar çıkarılacaktır. (Aslında bu tam olarak doğru değildir; zip(1L) ve zipcloak(1L) programlarının eski sürümleri boş şifrelere izin veriyordu, bu nedenle unzip boş şifrenin çalışıp çalışmadığını görmek için şifrelenmiş her dosyayı kontrol eder. Bu, yukarıda belirtildiği gibi yanlış pozitiflere'' ve çıkarma hatalarına neden olabilir.)

8-bitlik şifrelerle (örneğin, aksanlı Avrupa karakterleri içeren şifreler) şifrelenmiş arşivler, sistemler ve/veya diğer arşivleyiciler arasında taşınabilir olmayabilir. Bu sorun, bu tür karakterler için Latin-1 (ISO 8859-1) ve OEM kod sayfası 850 dahil olmak üzere birden fazla kodlama yönteminin kullanılmasından kaynaklanmaktadır. DOS PKZIP 2.04g OEM kod sayfasını kullanır; Windows PKZIP 2.50 Latin-1 kullanır (ve bu nedenle DOS PKZIP ile uyumsuzdur); Info-ZIP DOS, OS/2 ve Win3.x bağlantı noktalarında OEM kod sayfasını kullanır ancak diğer her yerde ISO kodlamasını (Latin-1 vb.) kullanır; ve Nico Mak'ın WinZip 6.x sürümü 8-bitlik şifrelere hiç izin vermez. UnZip 5.3 (veya daha yenisi) şifreleri test etmek için önce varsayılan karakter setini (örneğin, Latin-1), ardından alternatif olanı (örneğin, OEM kod sayfası) kullanmayı dener. EBCDIC sistemlerinde, bunların ikisi de başarısız olursa, son çare olarak EBCDIC kodlaması test edilecektir. (EBCDIC, EBCDIC olmayan sistemlerde test edilmez, çünkü EBCDIC kodlamasını kullanarak şifreleme yapan bilinen hiçbir arşivleyici yoktur.) Latin-1 dışındaki ISO karakter kodlamaları desteklenmez. UnZip 6.0'da (kısmi) Unicode (veya UTF-8) desteğinin yeni eklenmesi, henüz unzip içindeki şifreleme şifresi işlemine uyarlanmamıştır. Yerel karakter kodlaması olarak UTF-8 kullanan sistemlerde, unzip şifre çözmeyi yalnızca yerel UTF-8 kodlu şifre ile dener; şifreyi dönüştürülmüş kodlamada kontrol etmeye yönelik yerleşik girişimler henüz UTF-8 desteği için uyarlanmamıştır ve sonuç olarak başarısız olacaktır.

Örnekler

       ZIP arşivi letters.zip dosyasının tüm üyelerini geçerli dizine ve altındaki alt dizinlere çıkarmak
       ve gerektiğinde alt dizinleri oluşturmak amacıyla unzip kullanmak için:

       unzip letters

       letters.zip dosyasının tüm üyelerini yalnızca geçerli dizine çıkarmak için:

       unzip -j letters

       letters.zip dosyasını test etmek ve arşivin tamam olup olmadığını gösteren yalnızca bir özet mesajı yazdırmak için:

       unzip -tq letters

       Geçerli dizindeki tüm zip dosyalarını test etmek ve yalnızca özetleri yazdırmak için:

       unzip -tq \*.zip

       (Yıldız işaretinden önceki ters eğik çizgi, yalnızca kabuk Unix'te olduğu gibi joker karakterleri genişletiyorsa gereklidir; bunun yerine aşağıdaki kaynak örneklerinde olduğu gibi çift tırnak da kullanılabilirdi.) letters.zip dosyasının adları .tex ile biten tüm üyelerini standart çıktıya çıkarmak, yerel satır sonu kuralına otomatik olarak dönüştürmek ve çıktıyı more(1) komutuna yönlendirmek için:

       unzip -ca letters \*.tex | more

       paper1.dvi ikili dosyasını standart çıktıya çıkarmak ve bir yazdırma programına yönlendirmek için:

       unzip -p articles paper1.dvi | dvips

       Tüm FORTRAN ve C kaynak dosyalarını--*.f, *.c, *.h ve Makefile--/tmp dizinine çıkarmak için:

       unzip source.zip "*.[fch]" Makefile -d /tmp

       (çift tırnaklar yalnızca Unix altında ve yalnızca globbing etkinleştirilmişse gereklidir). Büyük/küçük harfe bakılmaksızın tüm FORTRAN ve C kaynak dosyalarını (örneğin, hem *.c hem *.C ve makefile, Makefile, MAKEFILE veya benzeri herhangi birini) çıkarmak için:

       unzip -C source.zip "*.[fch]" makefile -d /tmp

       Bu tür dosyaları çıkarmak ancak büyük harfli MS-DOS veya VMS adlarını küçük harfe dönüştürmek ve tüm dosyaların satır sonlarını yerel standartlara dönüştürmek için (``ikili'' olarak işaretlenmiş dosyalara bakılmaksızın):

       unzip -aaCL source.zip "*.[fch]" makefile -d /tmp

       Mevcut dizinde zaten bulunan dosyaların yalnızca daha yeni sürümlerini sormadan çıkarmak için (NOT: bir saat diliminde oluşturulmuş bir zip dosyasını başka bir saat diliminde açarken dikkatli olun--ZIP arşivleri (Zip 2.1 veya sonrası tarafından oluşturulanlar hariç) saat dilimi bilgisi içermez ve doğu saat diliminden gelen ``daha yeni'' bir dosya aslında daha eski olabilir):

       unzip -fo sources

       Geçerli dizinde zaten bulunan dosyaların daha yeni sürümlerini çıkarmak ve orada henüz mevcut olmayan dosyaları oluşturmak için (önceki örnektekiyle aynı uyarı):

       unzip -uo sources

       Hangi unzip ve zipinfo seçeneklerinin ortam değişkenlerinde depolandığını, şifre çözme desteğinin derlenip derlenmediğini, unzip'in hangi derleyiciyle derlendiğini vb. gösteren bir tanı ekranı görüntülemek için:

       unzip -v

       Son beş örnekte, UNZIP veya UNZIP_OPTS değişkeninin -q olarak ayarlandığını varsayalım. Tek düzeyli sessiz bir listeleme yapmak için:

       unzip -l dosya.zip

       İki düzeyli sessiz bir listeleme yapmak için:

       unzip -ql dosya.zip

       (``.zip'' uzantısının genellikle gerekli olmadığını unutmayın.) Standart bir listeleme yapmak için:

       unzip --ql dosya.zip
       veya
       unzip -l-q dosya.zip
       veya
       unzip -l--q dosya.zip
       (Seçeneklerdeki ekstra eksiler zarar vermez.)

İpuçları

Mevcut bakımcı, tembel biri olduğundan, bir çift takma ad (alias) tanımlamayı çok yararlı bulmaktadır: unzip -tq'' için tt ve unzip -Z'' (veya zipinfo'') için ii. Bir arşivi test etmek için sadece tt zip_dosyası'' yazılabilir, bu da alışkanlık haline getirilmeye değer bir şeydir. Şansınız varsa unzip ``No errors detected in compressed data of zipfile.zip'' (zipfile.zip dosyasının sıkıştırılmış verilerinde hiçbir hata tespit edilmedi) raporunu verecektir ve ardından rahat bir nefes alabilirsiniz.

Bakımcı ayrıca UNZIP ortam değişkenini -aL'' olarak ayarlamayı yararlı bulmaktadır ve buna -C'' eklemeyi de düşünmektedir. ZIPINFO değişkeni ise ``-z'' olarak ayarlanmıştır.

Teşhis

Çı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.

1 bir veya daha fazla uyarı hatasıyla karşılaşıldı, ancak işlem yine de başarıyla tamamlandı. Bu durum, desteklenmeyen sıkıştırma yöntemi veya bilinmeyen bir şifreye sahip şifreleme nedeniyle bir veya daha fazla dosyanın atlandığı zip dosyalarını içerir.

2 zip dosyası formatında 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ının basit geçici çözümleri vardır.

3 zip dosyası formatında ciddi bir hata tespit edildi. İşlem muhtemelen hemen başarısız oldu.

4 unzip, program başlatma sırasında bir veya daha fazla ara bellek için bellek ayıramadı.

5 unzip, şifre çözme şifrelerini okumak için bellek ayıramadı veya bir tty elde edemedi.

6 unzip, diske açma sırasında bellek ayıramadı.

7 unzip, bellekte açma sırasında bellek ayıramadı.

8 [şu anda kullanılmıyor]

9 belirtilen zip dosyaları bulunamadı.

10 komut satırında geçersiz seçenekler belirtildi.

11 eşleşen dosya bulunamadı.

50 çıkarma sırasında disk doluydu (veya doldu).

51 ZIP arşivinin sonuyla zamansız karşılaşıldı.

80 kullanıcı control-C (veya benzeri) ile unzip işlemini zamanından önce iptal etti.

81 desteklenmeyen sıkıştırma yöntemleri veya desteklenmeyen şifre çözme nedeniyle bir veya daha fazla dosyanın test edilmesi veya çıkarılması başarısız oldu.

82 hatalı şifre(ler) nedeniyle hiçbir dosya bulunamadı. (Ancak tek bir dosya bile başarıyla işlenirse, çıkış durumu 1 olur.)

VMS, standart Unix (veya PC) dönüş değerlerini daha korkutucu görünen diğer şeyler olarak yorumlar, bu nedenle unzip bunları VMS tarzı durum kodlarıyla eşleştirir. Mevcut eşleştirme şu şekildedir: normal çıkış için 1 (başarı), uyarı hataları için 0x7fff0001 ve diğer tüm hatalar için (0x7fff000? + 16*normal_unzip_exit_status), burada ? unzip değerleri 2, 9-11 ve 80-82 için 2 (hata) ve geri kalanlar (3-8, 50, 51) için 4'tür (ölümcül hata). Ek olarak, bu davranışı genişletmek için bir derleme seçeneği vardır: RETURN_CODES tanımlanması, hata durumunun ne anlama geldiğine dair insan tarafından okunabilir bir açıklama sağlar.

Hatalar

Çok parçalı arşivler, zip ile birlikte kullanılması hariç henüz desteklenmemektedir. (Tüm parçalar sırayla birbirine eklenmeli ve ardından arşivin düzeltilmesi'' için birleştirilen arşiv üzerinde zip -F'' (zip 2.x için) veya zip -FF'' (zip 3.x için) çalıştırılmalıdır. Ayrıca, zip 3.0 ve daha yenisi, zip -s- inarchive -O outarchive'' kullanarak çok parçalı (bölünmüş) arşivleri birleştirilmiş tek bir dosya arşivinde birleştirebilir. Daha fazla bilgi için zip 3 kılavuz sayfasına bakın.) Bu durum bir sonraki büyük sürümde kesinlikle düzeltilecektir.

Standart girdiden okunan arşivler, funzip hariç henüz desteklenmemektedir (ve o zaman da arşivin yalnızca ilk üyesi çıkarılabilir).

8-bitlik şifrelerle şifrelenmiş arşivler (örneğin, aksanlı Avrupa karakterleri içeren şifreler) sistemler ve/veya diğer arşivleyiciler arasında taşınabilir olmayabilir. Yukarıdaki ŞİFRE ÇÖZME bölümündeki tartışmaya bakın.

unzip'in -M (``more'') seçeneği, uzun satırların otomatik olarak sarılmasını hesaba katmaya çalışır. Ancak kod, doğru sarma konumlarını tespit etmede başarısız olabilir. İlk olarak, TAB karakterleri (ve benzeri kontrol dizileri) hesaba katılmaz, sıradan yazdırılabilir karakterler olarak işlenirler. İkinci olarak, fiili sistem / işletim sistemi bağlantı noktasına bağlı olarak, unzip gerçek ekran geometrisini tespit edemeyebilir ve bunun yerine "yaygın olarak kullanılan" varsayılan boyutlara güvenebilir. Sekmelerin doğru şekilde işlenmesi, çıktı konsolundaki gerçek tabülatör kurulumu için bir sorgunun uygulanmasını gerektirecektir.

Depolanan dizinlerin tarihleri, saatleri ve izinleri Unix hariç geri yüklenmez. (Windows NT ve ardıllarında, zaman damgaları artık geri yüklenmektedir.)

[MS-DOS] Kusurlu bir disketteki bir arşivden dosyaları çıkarırken veya test ederken, DOS'un Abort, Retry, Fail?'' mesajından Fail'' seçeneği seçilirse, unzip'in eski sürümleri sistemi kilitleyebilir ve yeniden başlatma gerektirebilir. Bu sorun düzeltilmiş görünmektedir, ancak unzip işlemini sonlandırmak için control-C (veya control-Break) hala kullanılabilir.

DEC Ultrix altında, unzip bazen uzun zip dosyalarında başarısız oluyordu (kötü CRC, her zaman tekrarlanamaz). Bu durum görünüşe göre bir donanım hatasından (önbellek belleği) veya bir işletim sistemi hatasından (sayfa hatalarının yanlış işlenmesi?) kaynaklanıyordu. Ultrix, Digital Unix (OSF/1) lehine terk edildiğinden, bu durum artık bir sorun olmayabilir.

[Unix] FIFO tamponları (adlandırılmış borular), blok aygıtları ve karakter aygıtları gibi Unix özel dosyaları zip dosyasında bir şekilde temsil edilseler bile geri yüklenmez, sabit bağlantılı dosyalar da yeniden bağlanmaz. Temel olarak unzip tarafından geri yüklenen tek dosya türleri düzenli dosyalar, dizinler ve sembolik (yumuşak) bağlantılardır.

[OS/2] Mevcut dizinler için genişletilmiş öznitelikler yalnızca -o (tümünün üzerine yaz'') seçeneği verilirse güncellenir. Bu, işletim sisteminin bir sınırlandırmasıdır; dizinlerin kendileriyle ilişkili yalnızca bir oluşturulma zamanı olduğundan, unzip'in depolanan özniteliklerin disktekilerden daha yeni mi yoksa daha eski mi olduğunu belirleme yolu yoktur. Pratikte bu, iki geçişli bir yaklaşımın gerekli olabileceği anlamına gelebilir: önce arşivi normal şekilde açın (mevcut dosyaları tazeleyerek/güncelleyerek veya güncellemeden), ardından yalnızca dizin girdilerinin üzerine yazın (örneğin, unzip -o foo */'').

[VMS] Başka bir dizine çıkarırken, -d seçeneği için yalnızca [.foo] sözdizimi kabul edilir; basit Unix foo sözdizimi sessizce yoksayılır (daha az yaygın olan VMS foo.dir sözdizimi gibi).

[VMS] Çıkarılan dosya zaten mevcut olduğunda, unzip'in sorgusu yalnızca atlamaya, üzerine yazmaya veya yeniden adlandırmaya izin verir; ek olarak dosyanın yeni bir sürümünü oluşturmak için de bir seçenek olmalıdır. Aslında, ``üzerine yaz'' seçeneği yeni bir sürüm oluşturur; eski sürümün üzerine yazılmaz veya silinmez.

Ayrıca Bakınız

funzip(1L), zip(1L), zipcloak(1L), zipgrep(1L), zipinfo(1L), zipnote(1L), zipsplit(1L)

Url

Info-ZIP ana sayfası şu anda şu adrestedir: http://www.info-zip.org/pub/infozip/ veya ftp://ftp.info-zip.org/pub/infozip/ .

Yazarlar

Birincil Info-ZIP yazarları (Zip-Bugs çalışma grubunun mevcut yarı aktif üyeleri): Ed Gordon (Zip, genel bakım, ortak kod, Zip64, Win32, Unix, Unicode); Christian Spieler (UnZip bakım koordinasyonu, VMS, MS-DOS, Win32, ortak kod, genel Zip and UnZip entegrasyonu ve optimizasyonu); Onno van der Linden (Zip); Mike White (Win32, Windows GUI, Windows DLL'leri); Kai Uwe Rommel (OS/2, Win32); Steven M. Schweda (VMS, Unix, yeni özelliklerin desteği); Paul Kienitz (Amiga, Win32, Unicode); Chris Herborth (BeOS, QNX, Atari); Jonathan Hudson (SMS/QDOS); Sergio Monesi (Acorn RISC OS); Harald Denker (Atari, MVS); John Bush (Solaris, Amiga); Hunter Goatley (VMS, Info-ZIP Sitesi bakımı); Steve Salisbury (Win32); Steve Miller (Windows CE GUI), Johnny Lee (MS-DOS, Win32, Zip64); ve Dave Smith (Tandem NSK).

Aşağıdaki kişiler Info-ZIP geliştirme grubunun eski üyeleriydi ve mevcut kodun önemli kısımlarına büyük katkılar sağladılar: Greg ``Cave Newt'' Roelofs (UnZip, unshrink sıkıştırma açma); Jean-loup Gailly (deflate sıkıştırma); Mark Adler (inflate sıkıştırma açma, fUnZip).

Info-ZIP'in temel aldığı orijinal unzip kodunun yazarı Samuel H. Smith'tir; Carl Mascott ilk Unix bağlantı noktasını yaptı; ve David P. Kirschbaum, Keith Petersen'in WSMR-SimTel20 adresinde orijinal posta listesini barındırmasıyla erken günlerde Info-ZIP'i organize etti ve yönetti. UnZip'e katkıda bulunanların tam listesi oldukça büyüdü; nispeten eksik bir sürüm için lütfen UnZip kaynak dağıtımındaki CONTRIBS dosyasına bakın.

Sürümler

v1.2 15 Mar 89 Samuel H. Smith v2.0 9 Eyl 89 Samuel H. Smith v2.x sonbahar 1989 birçok Usenet katılımcısı v3.0 1 May 90 Info-ZIP (DPK, birleştirici) v3.1 15 Ağu 90 Info-ZIP (DPK, birleştirici) v4.0 1 Ara 90 Info-ZIP (GRR, bakımcı) v4.1 12 May 91 Info-ZIP v4.2 20 Mar 92 Info-ZIP (Zip-Bugs alt grubu, GRR) v5.0 21 Ağu 92 Info-ZIP (Zip-Bugs alt grubu, GRR) v5.01 15 Oca 93 Info-ZIP (Zip-Bugs alt grubu, GRR) v5.1 7 Şub 94 Info-ZIP (Zip-Bugs alt grubu, GRR) v5.11 2 Ağu 94 Info-ZIP (Zip-Bugs alt grubu, GRR) v5.12 28 Ağu 94 Info-ZIP (Zip-Bugs alt grubu, GRR) v5.2 30 Nis 96 Info-ZIP (Zip-Bugs alt grubu, GRR) v5.3 22 Nis 97 Info-ZIP (Zip-Bugs alt grubu, GRR) v5.31 31 May 97 Info-ZIP (Zip-Bugs alt grubu, GRR) v5.32 3 Kas 97 Info-ZIP (Zip-Bugs alt grubu, GRR) v5.4 28 Kas 98 Info-ZIP (Zip-Bugs alt grubu, SPC) v5.41 16 Nis 00 Info-ZIP (Zip-Bugs alt grubu, SPC) v5.42 14 Oca 01 Info-ZIP (Zip-Bugs alt grubu, SPC) v5.5 17 Şub 02 Info-ZIP (Zip-Bugs alt grubu, SPC) v5.51 22 May 04 Info-ZIP (Zip-Bugs alt grubu, SPC) v5.52 28 Şub 05 Info-ZIP (Zip-Bugs alt grubu, SPC) v6.0 20 Nis 09 Info-ZIP (Zip-Bugs alt grubu, SPC)

Info-ZIP 20 April 2009 (v6.0) UNZIP(1L)