man/archiving_and_compression
man · Arşivleme & Sıkıştırma

$ unzip

Bölüm 1 · Arşivleme & Sıkıştırma

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

Özet

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 zip(1L) programı 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 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ı da desteklenir; yalnızca .exe uzantısını (varsa) açıkça belirtmeniz yeterlidir.

  • [dosya(lar)]
    İşlenecek arşiv üyelerinin boşluklarla ayrılmış isteğe bağlı listesidir. VMSCLI tanımlı olarak derlenmiş VMS sürümleri bunun yerine dosyaları virgülle ayırmalıdır. Birden fazla üyeyi eşleştirmek için düzenli ifadeler veya joker karakterler kullanılabilir. İş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ı listesidir. Joker karakterler normalde dizin ayırıcıları (/) ile eşleştiğinden, bu seçenek alt dizinlerde bulunan dosyaları hariç tutmak için kullanılabilir. Örneğin:

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

    Bu komut 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ı dizindir. 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; bunun için 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, zip dosyası belirtiminden hemen sonra veya dosya listesi 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 ~, Unix C kabukları tarafından kullanıcının ana dizinine 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ı 22 veya 23 satırla sınırlandırılmıştır. Bu nedenle kullanım ekranı, olası tüm bayrakların ayrıntılı listesi yerine yalnızca temel unzip sözdiziminin bir hatırlatıcısı olarak kabul edilmelidir.

  • -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 veya 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 dışında -p seçeneğine benzer. Bu seçenek unzip kullanım ekranında listelenmez.

  • -f
    Mevcut dosyaları tazeler. Yalnızca diskte zaten var olan ve diskteki kopyalarından daha yeni olan dosyaları çıkarır. Varsayılan olarak unzip üzerine yazmadan önce sorar; 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 ortam değişkeninin doğru şekilde ayarlanması gerekir. Bunun nedeni, DOS biçimindeki dosya zamanları (her zaman yerel saat) ile Unix biçimindeki zamanlar (her zaman GMT/UTC) arasındaki farklar ve ikisinin karşılaştırılması gerekliliğidir. Tipik bir TZ değeri PST8PDT değeridir.

  • -l
    Arşiv dosyalarını kısa biçimde listeler. Belirtilen dosyaların adları, sıkıştırılmamış dosya boyutları, değişiklik tarihleri ve 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 depolanan OS/2 genişletilmiş niteliklerinin (EA) ve OS/2 erişim kontrol listelerinin (ACL) 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 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 (stdout) çıkarır. Standart çıktıya dosya verilerinden başka hiçbir şey gönderilmez ve dosyalar her zaman depolandıkları gibi ikili (binary) biçimde çıkarılır.

  • -t
    Arşiv dosyalarını test eder. Belirtilen her dosyayı bellekte çıkarır ve açılan dosyanın CRC'sini orijinal dosyanın depolanan CRC değeriyle karşılaştırır.

  • -T
    [çoğu işletim sisteminde] Arşivler üzerindeki zaman damgasını, her birindeki en yeni dosyanın zaman damgasına ayarlar. Bu, joker karakterli zip dosyalarında kullanılabilmesi ve daha hızlı olması dışında zip komutunun -go seçeneğine karşılık gelir.

    unzip -T '*.zip'
  • -u
    Mevcut dosyaları günceller ve gerekirse yenilerini oluşturur. Bu seçenek -f ile aynı işlevi gerçekleştirir; diskteki aynı isimli dosyalardan daha yeni olan dosyaları çı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ı ayrıntılı biçimde listeler veya tanısal sürüm bilgilerini gösterir. 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.

    Hiçbir zip dosyası belirtilmediğinde, yani komut yalnızca unzip -v olduğunda, bir tanı ekranı yazdırılır. Bu ekranda sürüm, hedef işletim sistemi, derleyici bilgileri, özel derleme seçenekleri ve unzip davranışını etkileyebilecek ortam değişkenleri listelenir.

    Bir niteleyici olarak -v, daha ayrıntılı veya hata ayıklama çıktısı üretmek için diğer seçeneklerle birlikte çalışır; bu henüz tam olarak uygulanmamıştı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 otomatik olarak metin olarak çıkarılmasını sağlar; satır sonlarını, dosya sonu karakterlerini ve karakter setini gerektiği gibi dönüştürür.

    zip programının metin dosyalarını tanımlaması mükemmel değildir; bazı metin dosyaları aslında ikili olabilir veya tersi geçerli olabilir. Bu nedenle unzip, -a seçeneğiyle çıkardığı her dosya için görsel 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.

  • -b
    [genel] Tüm dosyaları ikili olarak kabul eder ve 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.

  • -b
    [VMS] İkili dosyaları sabit uzunluklu, 512 baytlık kayıt biçimine otomatik olarak dönüştürür. Seçeneğin iki katına çıkarılması (-bb), tüm dosyaların bu biçimde çıkarılmasını zorunlu kılar. Standart çıktıya çıkarırken (-c veya -p 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 ile isteğe bağlı olarak benzersiz bir sıra numarası eklenir.

    Örnek:

    foo -> foo~

    -B seçeneği her koşulda mevcut veri kaybını önlemez. Örneğin unzip tümünün üzerine yazma modunda çalıştırıldığında, mevcut bir foo~ dosyası foo dosyasını foo~ olarak yeniden adlandırma girişimi öncesinde silinebilir. Yeniden adlandırma başarısız olursa eski yedek dosya zaten kaybedilmiş olur.

  • -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. Varsayılan davranış hem joker karakterli hem de harfi harfine dosya adlarını büyük/küçük harfe duyarlı olarak eşleştirmektir.

    -C seçeneği, hem normal dosya listesindeki hem de hariç tutulan dosya listesindeki dosya belirtimlerini etkiler. Ancak zip dosyasının aranmasını veya arşiv girdilerinin çıkarma yolundaki mevcut dosyalarla eşleşmesini etkilemez.

  • -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 meta bilgileri geri yüklemeye çalışır. -D, Zip arşivi girdilerinden açıkça oluşturulan dizinler için zaman damgalarının geri yüklenmesini engeller.

    Ç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. VMS üzerinde, BACKUP davranışıyla tutarlılık sağlamak amacıyla bu seçeneğin varsayılan ayarı -D değeridir.

  • -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] 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.

  • -j
    Yolları çöpe atar. Arşivin dizin yapısı yeniden oluşturulmaz; tüm dosyalar çıkarma dizinine 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. -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 veya boşluk çubuğuna basılarak görüntülenebilir. q tuşu ve bazı sistemlerde Enter/Return tuşu unzip programını sonlandırabilir.

    Unix more(1) komutundan farklı olarak ileriye doğru arama veya düzenleme yeteneği yoktur. 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.

  • -N
    [Amiga] Dosya yorumlarını Amiga dosya notları (filenotes) olarak çıkarır.

  • -o
    Sormadan mevcut dosyaların üzerine yazar. Bu tehlikeli bir seçenektir, dikkatli kullanın.

  • -P şifre
    Şifrelenmiş zip dosyası girdilerini çözmek için şifre değerini kullanır.

    Bu güvenli değildir. 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örmesine olanak tanır. Mümkün olduğunda, şifreleri girmek için yankısız, etkileşimli istemi kullanın. Güvenlik gerçekten önemliyse, standart zip yardımcı programlarının sağladığı nispeten zayıf şifreleme yerine güçlü şifreleme kullanın.

  • -q
    İşlemleri sessizce gerçekleştirir. -qq daha da sessizdir. Normalde unzip çıkardığı veya test ettiği dosyaların adlarını, çıkarma yöntemlerini, arşivde depolanabilecek yorumları ve gerektiğ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. Bu, özellikle MS-DOS'un dosya adlarında boşlukları düzgün desteklemediği durumlarda yararlı olabilir.

  • -S
    [VMS] Metin dosyalarını (-a, -aa), metin dosyası varsayılanı olan değişken uzunluklu kayıt biçimi yerine Stream_LF kayıt biçimine dönüştürür.

  • -U
    [yalnızca UNICODE_SUPPORT] UTF-8 işlemeyi değiştirir veya devre dışı bırakır. -U, unzip programını UTF-8 kodlu dosya adlarındaki tüm ASCII olmayan karakterleri #Uxxxx veya #Lxxxxxx biçiminde kaçış karakteriyle yazmaya zorlar.

    -UU seçeneği, UTF-8 kodlu dosya adlarının tanınmasını tamamen devre dışı bırakır. Eski ve modası geçmiş kullanımda, MS-DOS, VMS vb. altında oluşturulmuşsa dosya adlarını büyük harf olarak bırakır.

  • -V
    [VMS] Dosya sürüm numaralarını korur. VMS dosyaları dosya.ext;## biçiminde bir sürüm numarasıyla depolanabilir. Varsayılan olarak ;## sürüm numaraları kaldırılır.

  • -W
    [yalnızca WILD_STOP_AT_DIR derleme zamanı seçeneği etkinse] Kalıp eşleştirme yordamını değiştirerek ? ve * 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, "mydir/foo.c" ile eşleşmez
    "**.c"   "foo.c" ve "mydir/foo.c" ile eşleşir
    "*/*.c"  "bar/foo.c" ile eşleşir, "baz/bar/foo.c" ile eşleşmez
    "??*/*"  "ab/foo" ve "abc/foo" ile eşleşir, "a/foo" veya "a/b/foo" ile eşleşmez
  • -X
    [VMS, Unix, OS/2, NT, Tandem] VMS altında sahip/koruma bilgilerini, Unix altında kullanıcı ve grup bilgilerini (UID/GID), OS/2 altında erişim kontrol listelerini veya Windows NT altında güvenlik ACL'lerini geri yükler. Çoğu durumda bu özel sistem ayrıcalıkları gerektirir.

  • -Y
    [VMS] Arşivlenmiş dosya adı sonlarındaki .nnn ifadelerini VMS sürüm numaraları (;nnn) gibi kabul eder. Varsayılan davranış bunları dosya türleri olarak kabul etmektir.

    a.b.3 -> a.b;3
  • -$
    [MS-DOS, OS/2, NT] Çıkarma ortamı çıkarılabilir ise (örneğin disket) birim etiketini geri yükler. Seçeneğin iki katına çıkarılması (-$$), sabit ortamların da 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 nedeniyle unzip normalde çıkarılan dosya adlarından üst dizin yol bileşenlerini (../) kaldırır.

    Bu seçenek, unzip programının önceki daha serbest davranışına geri dönmesini sağlar. Kök dizine açıkça yazılmasını etkinleştirmez; ancak yeterli sayıda ../ yol bileşeni kullanılarak kök dizine dolaylı olarak yazmak mümkün olabilir. 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 bir dosya adı, / ve NUL dışında herhangi bir 8-bit karakter kodunu içerebilir. Bu özellik kötü yan etkilere neden olabileceğinden, unzip varsayılan olarak çıkarılan dosya adlarından potansiyel olarak tehlikeli kontrol karakterlerini kaldırır. -^ seçeneği bu filtreyi geçersiz kılar.

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

Ortam Seçenekleri

unzip komutunun 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 en çok -a, -L, -C, -q, -o veya -n niteleyicileriyle kullanışlıdır.

unzip komutunun olabildiğince sessiz çalışmasını ve yalnızca hataları bildirmesini sağlamak için:

# Unix Bourne shell
UNZIP=-qq
export UNZIP

# Unix C shell
setenv UNZIP -qq

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

# VMS
define UNZIP_OPTS "-qq"

Ortam seçenekleri, 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 eksi operatörü kullanılabilir:

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

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ı

Varsayılan değişken adları VMS için UNZIP_OPTS, diğer tüm işletim sistemleri için UNZIP değeridir. zip(1L) ile uyumluluk için UNZIPOPT da kabul edilir. Ancak hem UNZIP hem de UNZIPOPT tanımlanmışsa, UNZIP öncelikli olur.

Saat dilimi değişkeni (TZ), -f ve -u seçeneklerinin doğru çalışması için yerel saat dilimine göre ayarlanmalıdır. Bu değişken, çıkarılan dosyaların zaman damgalarının doğru şekilde ayarlanması için de gerekli olabilir.

Şifre Çözme

Şifrelenmiş arşivler Info-ZIP yazılımı tarafından desteklenir, ancak Amerika Birleşik Devletleri ihracat kısıtlamaları nedeniyle bazı derlenmiş ikili dosyalarda şifreleme/şifre çözme desteği devre dışı bırakılmış olabilir. 2000 baharından bu yana ABD ihracat kısıtlamaları serbestleştirilmiştir ve kaynak arşivler artık tam şifreleme kodunu içerir.

unzip komutunun 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 -v tanı ekranını kontrol edin.

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 yöntem yalnızca normal şekilde çıkarmaktır; bir zip dosyası üyesi şifrelenmişse, unzip yazılanları yankılamadan şifreyi sorar.

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ğrulanır, ancak yanlış bir şifrenin de doğrulanması 256'da 1 olasılıktır. Yanlış bir şifre başlık testini geçerse, çıkarılan veriler için yanlış CRC oluşur veya şifresi çözülmüş baytlar geçerli bir sıkıştırılmış veri akışı oluşturmadığı için çıkarma başarısız olur.

İlk şifre bazı dosyalarda başlık denetiminde başarısız olursa, unzip başka bir şifre ister ve bu tüm dosyalar çıkarılana kadar devam eder. Bir şifre bilinmiyorsa, boş bir şifre girilmesi daha fazla istemde bulunulmaması için bir sinyal olarak kabul edilir. Bundan sonra arşivdeki yalnızca şifrelenmemiş dosyalar çıkarılır.

8-bitlik şifrelerle şifrelenmiş arşivler, sistemler ve diğer arşivleyiciler arasında taşınabilir olmayabilir. Bunun nedeni Latin-1, OEM kod sayfası 850 ve EBCDIC gibi birden fazla kodlama yönteminin kullanılmasıdır. Latin-1 dışındaki ISO karakter kodlamaları desteklenmez. UnZip 6.0'daki kısmi Unicode veya UTF-8 desteği, henüz şifreleme şifresi işlemine tam olarak uyarlanmamıştır.

Örnekler

letters.zip arşivinin tüm üyelerini geçerli dizine ve alt dizinlere çıkarır:

unzip letters

letters.zip dosyasının tüm üyelerini yalnızca geçerli dizine çıkarır:

unzip -j letters

letters.zip dosyasını test eder ve yalnızca özet mesajı yazdırır:

unzip -tq letters

Geçerli dizindeki tüm zip dosyalarını test eder ve yalnızca özetleri yazdırır:

unzip -tq '*.zip'

letters.zip dosyasının adları .tex ile biten tüm üyelerini standart çıktıya çıkarır, yerel satır sonu kuralına dönüştürür ve çıktıyı more(1) komutuna yönlendirir:

unzip -ca letters '*.tex' | more

paper1.dvi ikili dosyasını standart çıktıya çıkarır ve bir yazdırma programına yönlendirir:

unzip -p articles paper1.dvi | dvips

Tüm FORTRAN ve C kaynak dosyalarını /tmp dizinine çıkarır:

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

Büyük/küçük harfe bakılmaksızın tüm FORTRAN ve C kaynak dosyalarını çıkarır:

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

Bu tür dosyaları çıkarır, büyük harfli MS-DOS veya VMS adlarını küçük harfe dönüştürür ve tüm dosyaların satır sonlarını yerel standartlara dönüştürür:

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

Mevcut dizinde zaten bulunan dosyaların yalnızca daha yeni sürümlerini sormadan çıkarır:

unzip -fo sources

Geçerli dizinde zaten bulunan dosyaların daha yeni sürümlerini çıkarır ve henüz mevcut olmayan dosyaları oluşturur:

unzip -uo sources

Tanı ekranını görüntüler:

unzip -v

UNZIP veya UNZIP_OPTS değişkeninin -q olarak ayarlandığını varsayarak tek düzeyli sessiz listeleme:

unzip -l dosya.zip

İki düzeyli sessiz listeleme:

unzip -ql dosya.zip

Standart listeleme:

unzip --ql dosya.zip
unzip -l-q dosya.zip
unzip -l--q dosya.zip

İpuçları

Mevcut bakımcı, unzip -tq için tt ve unzip -Z veya zipinfo için ii takma adlarını tanımlamayı yararlı bulmaktadır. Bir arşivi test etmek için yalnızca tt zip_dosyası yazılabilir.

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ı.
  • 2: Zip dosyası biçiminde genel bir hata tespit edildi. İşlem yine de başarıyla tamamlanmış olabilir.
  • 3: Zip dosyası biçiminde 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ı şifreler nedeniyle hiçbir dosya bulunamadı. Tek bir dosya bile başarıyla işlenirse çıkış durumu 1 olur.

VMS, standart Unix veya PC dönüş değerlerini VMS tarzı durum kodlarıyla eşleştirir. Normal çıkış için 1, uyarı hataları için 0x7fff0001 ve diğer tüm hatalar için 0x7fff000? + 16*normal_unzip_exit_status kullanılır.

Hatalar

Çok parçalı arşivler, zip ile birlikte kullanılması dışında 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 veya zip -FF çalıştırılmalıdır. zip 3.0 ve daha yenisi, çok parçalı arşivleri şu komutla birleştirilmiş tek dosya arşivinde birleştirebilir:

zip -s- inarchive -O outarchive

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

8-bitlik şifrelerle şifrelenmiş arşivler sistemler veya diğer arşivleyiciler arasında taşınabilir olmayabilir. Yukarıdaki Şifre Çözme bölümüne bakın.

unzip komutunun -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. TAB karakterleri ve benzeri kontrol dizileri hesaba katılmaz; ayrıca bağlantı noktasına bağlı olarak gerçek ekran geometrisi tespit edilemeyebilir.

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, eski sürümler sistemi kilitleyebilir ve yeniden başlatma gerektirebilirdi. Bu sorun düzeltilmiş görünmektedir, ancak control-C veya control-Break hala kullanılabilir.

[Unix] FIFO tamponları, 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 bağlantılardır.

[OS/2] Mevcut dizinler için genişletilmiş öznitelikler yalnızca -o seçeneği verilirse güncellenir. Bu, işletim sisteminin bir sınırlandırmasıdır. Pratikte iki geçişli bir yaklaşım gerekebilir:

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.

[VMS] Çıkarılan dosya zaten mevcut olduğunda, unzip 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.

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 adrestedir:

Yazarlar

Birincil Info-ZIP yazarları ve Zip-Bugs çalışma grubunun mevcut yarı aktif üyeleri: Ed Gordon, Christian Spieler, Onno van der Linden, Mike White, Kai Uwe Rommel, Steven M. Schweda, Paul Kienitz, Chris Herborth, Jonathan Hudson, Sergio Monesi, Harald Denker, John Bush, Hunter Goatley, Steve Salisbury, Steve Miller, Johnny Lee ve Dave Smith.

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, Jean-loup Gailly ve Mark Adler.

Info-ZIP'in temel aldığı orijinal unzip kodunun yazarı Samuel H. Smith'tir. Carl Mascott ilk Unix bağlantı noktasını yaptı. 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 için UnZip kaynak dağıtımındaki CONTRIBS dosyasına bakın.

Sürümler

Sürüm Tarih Katkı
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)