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

$ zipinfo

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

bir ZIP arşivi hakkında ayrıntılı bilgileri listeler

Özet

zipinfo [-12smlvhMtTz] file[.zip] [file(s) ...] [-x xfile(s) ...]
unzip -Z [-12smlvhMtTz] file[.zip] [file(s) ...] [-x xfile(s) ...]

Açıklama

zipinfo, en yaygın olarak MS-DOS sistemlerinde bulunan ZIP arşivlerindeki dosyalar hakkında teknik bilgileri listeler. Bu bilgiler arasında dosya erişim izinleri, şifreleme durumu, sıkıştırma türü, sıkıştırma programının sürümü, işletim sistemi veya dosya sistemi gibi ayrıntılar bulunur.

Varsayılan davranış, arşivdeki her dosya için tek satırlık girdiler listelemek ve tüm arşiv için başlık ile özet satırı yazdırmaktır. Biçim, Unix ls -l ve unzip -v çıktılarının bir karışımıdır.

Unix altında zipinfo, çoğu zaman unzip programına bir bağlantıdır. Bazı sistemlerde unzip derlenirken zipinfo desteği hariç bırakılmış olabilir.

Argümanlar

  • file[.zip]: ZIP arşivinin yolu. Dosya tanımı joker karakter içeriyorsa, eşleşen her dosya işletim sistemi veya dosya sistemi tarafından belirlenen sırada işlenir. Yalnızca dosya adı joker karakter içerebilir; yolun kendisi içeremez.
  • [file(s)]: İşlenecek arşiv üyelerinin isteğe bağlı listesi. Birden fazla üyeyi eşleştirmek için joker karakterler kullanılabilir.
  • [-x xfile(s)]: İşlem dışı bırakılacak arşiv üyelerinin isteğe bağlı listesi.

Joker karakter ifadeleri Unix egrep(1) ifadelerine benzer:

  • *: Sıfır veya daha fazla karakterden oluşan bir diziyi eşleştirir.
  • ?: Tam olarak bir karakteri eşleştirir.
  • [...]: Köşeli parantez içindeki herhangi bir tek karakteri eşleştirir.

Aralıklar başlangıç karakteri, tire ve bitiş karakteriyle belirtilir. Sol köşeli parantezi ! veya ^ takip ediyorsa aralık terslenir. Bire bir sol köşeli parantez belirtmek için [[] dizisi kullanılmalıdır.

Özellikle Unix ve VMS altında, işletim sistemi tarafından yorumlanabilecek veya değiştirilebilecek karakterleri tırnak içine alın. Eşleşme bulunamazsa tanımın harfi harfine bir dosya adı olduğu varsayılır; bu da başarısız olursa sonuna .zip uzantısı eklenir.

Kendi kendini açan ZIP dosyaları da desteklenir. Gerekirse .exe uzantısını açıkça belirtmek yeterlidir.

Seçenekler

  • -1: Yalnızca dosya adlarını, her satırda bir tane olacak şekilde listeler. Diğer tüm seçenekleri dışlar; başlık, özet ve ZIP dosyası yorumları yazdırılmaz.
  • -2: Dosya adlarını her satırda bir tane olacak şekilde listeler, ancak başlık (-h), özet (-t) ve ZIP dosyası yorumlarına (-z) izin verir.
  • -s: ZIP dosyası bilgisini kısa Unix ls -l biçiminde listeler. Varsayılan davranış budur.
  • -m: ZIP dosyası bilgisini orta düzey Unix ls -l biçiminde listeler. -s çıktısına sıkıştırma oranını ekler.
  • -l: ZIP dosyası bilgisini uzun Unix ls -l biçiminde listeler. -m seçeneğindeki sıkıştırma oranı yerine sıkıştırılmış boyutu bayt cinsinden yazdırır.
  • -v: ZIP dosyası bilgisini ayrıntılı ve çok sayfalı biçimde listeler.
  • -h: Başlık satırını listeler. Arşiv adı, gerçek boyutu ve toplam dosya sayısı yazdırılır.
  • -M: Çıktıyı Unix more(1) komutuna benzer dahili bir sayfalayıcıya yönlendirir. Ekranı dolduran çıktıda --More-- uyarısıyla duraklar. Enter veya boşluk tuşu sonraki ekranı gösterir; q çıkış yapar.
  • -t: Listelenen dosyalar veya tüm dosyalar için toplamları listeler.
  • -T: Dosya tarihlerini ve saatlerini sıralanabilir ondalık biçimde (yymmdd.hhmmss) yazdırır.
  • -U: Yalnızca UNICODE_SUPPORT ile kullanılabilir. UTF-8 kodlu dosya adlarındaki ASCII dışı karakterleri #Uxxxx biçiminde kaçışlı yazdırır. Temel olarak hata ayıklama için sağlanmıştır.
  • -UU: UTF-8 kodlu dosya adlarının tanınmasını tamamen devre dışı bırakır. Dosya adı kodlamalarının işlenmesi önceki sürümlerdeki davranışa döner.
  • -z: Arşiv yorumunu, varsa listeye dahil eder.

Ayrıntılı Açıklama

zipinfo birkaç listeleme moduna sahiptir. Varsayılan davranış, dosyaları şu biçimde listelemektir:

-rw-rws---  1.9 unx     2802 t- defX 11-Aug-91 13:48 perms.2660

Son üç alan dosyanın değişiklik tarihi, saati ve adıdır. Dosya adının büyük/küçük harf durumu korunur. Dosya kayıtlı bir dizin adıyla sıkıştırılmışsa, bu dizin adı dosya adının parçası olarak görüntülenir.

İkinci ve üçüncü alanlar, dosyanın Unix altında zip 1.9 ile sıkıştırıldığını gösterir. Unix'ten geldiği için satırın başındaki dosya izinleri Unix biçiminde yazdırılır. Sıkıştırılmamış dosya boyutu dördüncü alandır.

Beşinci alan iki karakterden oluşur:

  • İlk karakter t veya b olabilir; bu, zip programının dosyayı metin veya ikili olarak algıladığını gösterir.
  • Dosya şifrelenmişse bu karakter büyük harfle yazılır: T veya B.
  • İkinci karakter, genişletilmiş yerel başlık ve/veya ekstra alan durumunu gösterir: -, l, x veya X.

Örneğin ekstra alana sahip şifrelenmiş bir ikili dosya şöyle görünebilir:

RWD,R,R     0.9 vms      168 Bx shrk  9-Aug-91 19:15 perms.0644

Ekstra alanlar; VMS dosya öznitelikleri, OS/2 genişletilmiş öznitelikleri, Macintosh kaynak çatalları ve benzeri sistem bilgilerini saklamak için kullanılabilir.

Ana işletim sistemi veya dosya sistemi başka biçimlerde de görünebilir:

-rw-a--     1.0 hpf     5358 Tl i4:3  4-Dec-91 11:33 longfilename.hpfs
-r--ahs     1.1 fat     4096 b- i4:2 14-Jul-91 12:58 EA DATA. SF
--w-------  1.0 mac    17357 bx i8:2  4-May-92 04:02 unzip.macr

İlk iki örnekteki öznitelikler Unix benzeri yedi alt alanla belirtilir. Bu alanlar sırasıyla dosyanın dizin olup olmadığını, okunabilirliğini, yazılabilirliğini, çalıştırılabilirliğini, arşiv bitini, gizli durumunu ve sistem dosyası olup olmadığını gösterir.

Altıncı alan, kullanılan sıkıştırma yöntemini ve olası alt yöntemi belirtir. Bilinen yöntemler stor, re:1, re:2, shrk, i4:2, i8:3, tokn, defS, defF, defN ve defX gibi kısaltmalarla gösterilir.

Orta düzey biçim, dosyanın sıkıştırma faktörünü yüzde olarak ekler:

-rw-rws---  1.5 unx     2802 t- 81% defX 11-Aug-91 13:48 perms.2660

Uzun biçim ise sıkıştırılmış dosya boyutunu bayt cinsinden gösterir:

-rw-rws---  1.5 unx     2802 t-     538 defX 11-Aug-91 13:48 perms.2660

-T seçeneği tarih ve saati ondalık biçime dönüştürür:

-rw-rws---  1.5 unx     2802 t-     538 defX 910811.134804 perms.2660

Varsayılan ZIP listesi ayrıca başlık ve özet satırlarını içerir:

Archive:  OS2.zip   5453 bytes   5 files
,,rw,       1.0 hpf     730 b- i4:3 26-Jun-92 23:40 Contents
,,rw,       1.0 hpf    3710 b- i4:3 26-Jun-92 23:33 makefile.os2
,,rw,       1.0 hpf    8753 b- i8:3 26-Jun-92 15:29 os2unzip.c
,,rw,       1.0 hpf      98 b- stor 21-Aug-91 15:34 unzip.def
,,rw,       1.0 hpf      95 b- stor 21-Aug-91 17:51 zipinfo.def
5 files, 13386 bytes uncompressed, 4951 bytes compressed:  63.0%

Bir veya daha fazla dosya açıkça belirtilirse, başlık ve özet satırları varsayılan olarak yazdırılmaz. Bu davranış ls -l komutuna benzer; -h ve -t seçenekleri açıkça belirtilerek değiştirilebilir.

Ayrıntılı listeleme; dosya yorumlarını, ZIP dosyası yorumunu ve saklanan ekstra alanların türünü ve boyutunu da gösterir. Şifrelenmiş girdiler için bireysel sıkıştırılmış boyut rakamları 12 ek başlık baytını içerir. Buna karşılık, özet satırındaki toplam sıkıştırılmış boyut bu ek başlık baytları olmadan hesaplanır.

Çevre Değişkeni Seçenekleri

Bir çevre değişkenine yerleştirilen seçenekler aracılığıyla zipinfo varsayılanları değiştirilebilir. Seçeneklerin üç öncelik seviyesi vardır:

  1. Varsayılan seçenekler.
  2. Varsayılanları geçersiz kılabilen veya genişletebilen çevre değişkeni seçenekleri.
  3. Komut satırında verilen açık seçenekler.

Varsayılan listeleme biçimi kabaca zipinfo -hst komutuna karşılık gelir. Uzun listeleme biçimini varsayılan yapmak için şu örnekler kullanılabilir:

# Unix Bourne shell
ZIPINFO=-l
export ZIPINFO

# Unix C shell
setenv ZIPINFO -l

# OS/2 veya MS-DOS
set ZIPINFO=-l

# VMS
define ZIPINFO_OPTS "-l"

Bir seçeneği varsayılanlardan kaldırmak için ilgili seçeneğin önüne eksi işareti eklenebilir. Örneğin -l-t veya --tl, uzun biçimi seçerken özet satırını kapatır.

Varsayılan değişken adı VMS için ZIPINFO_OPTS, diğer sistemler için ZIPINFO değeridir. zip(1L) ile uyumluluk için ZIPINFOOPT da kabul edilir. Hem ZIPINFO hem de ZIPINFOOPT tanımlıysa ZIPINFO önceliklidir.

Örnekler

storage.zip arşivinin içeriğini varsayılan kısa biçimde, başlık ve toplamlar satırıyla birlikte listelemek için:

zipinfo storage

Başlık ve toplamlar satırını koruyarak uzun biçimli liste üretmek için:

zipinfo -l storage

Arşivin tüm içeriğini başlık ve toplamlar satırları olmadan listelemek için:

zipinfo --h-t storage
zipinfo storage '*'

Varsayılan olarak toplamlar satırını kapatmak için:

setenv ZIPINFO --t
zipinfo storage

Çevre değişkeni yukarıdaki gibi ayarlandığında, tam kısa listelemeyi yeniden almak için -s ve -t birlikte belirtilebilir:

zipinfo -t storage    # yalnızca toplamlar satırı
zipinfo -st storage   # tam listeleme

Arşiv içindeki tek bir dosya hakkındaki bilgileri orta biçimde listelemek için:

zipinfo -m storage unshrink.c

Birden fazla dosya için orta biçimde listeleme ve toplamları göstermek için:

zipinfo -mt storage "*.[ch]" Mak\*

Arşiv hakkında en ayrıntılı bilgiyi almak için:

zipinfo -v storage | more

Arşivde en son değiştirilen dosyaları görmek için:

zipinfo -T storage | sort -nr -k 7 | sed 15q

Bu örnekte sort -nr -k 7, varsayılan kısa listeleme biçiminde yedinci alana göre ters sayısal sıralama yapar. -m veya -l kullanılırsa uygun alan genellikle -k 8 olur.

İpuçları

Yazar, rumuzlara izin veren sistemlerde zipinfo için ii rumuzunu tanımlamayı kullanışlı bulmaktadır. Bu kullanım, Unix'teki uzun listeler için yaygın olan ll rumuzuna paraleldir.

Hatalar

-M seçeneğinin dahili sayfalayıcısı basittir. Uzun satırların kaymasını algılayamaz ve bu nedenle ekranın üst kısmındaki satırların okunmadan kaymasına neden olabilir.

zipinfo listeleme biçimi davranışı gereksiz yere karmaşıktır ve basitleştirilmesi gerekir.

Ayrıca Bakınız

ls(1), funzip(1L), unzip(1L), unzipsfx(1L), zip(1L), zipcloak(1L), zipnote(1L), zipsplit(1L)

URL

Info-ZIP ana sayfası:

Yazar

Greg Roelofs. ZipInfo, Mark Adler tarafından yazılmış desen eşleştirme kodunu ve birçok kişi tarafından yapılan düzeltmeleri/iyileştirmeleri içerir. Daha eksiksiz bir liste için UnZip kaynak dağıtımındaki CONTRIBS dosyasına bakın.