Sözdizimi
zipdetails [-v] [--scan] zipfile.zip
zipdetails -h
zipdetails --version
Açıklama
zipdetails, zip dosyalarının dahili kayıt yapısı hakkında bilgi görüntüler. Zip dosyasında saklanan
sıkıştırılmış verilerin ayrıntılarını görüntülemekle ilgilenmez.
Program, bir zip dosyasının dahili yapısının önceden anlaşıldığını varsayar. Bu programın çıktısını anlamaya yardımcı olması için elinizde Zip APPNOTE dosyasının bir kopyası bulunmalıdır.
Varsayılan Davranış
Varsayılan olarak program, düzgün biçimlendirilmiş bir zip dosyası almayı bekler. Zip dosyasında
gezinmeye ilk olarak dosyanın sonundaki zip merkezi dizinini (central directory) çözümleyerek başlar.
Bu bulunursa, dosyanın başından başlayarak zip kayıtları arasında gezinir. Karşılaşılan herhangi bir
hatalı biçimlendirilmiş zip veri yapısı programı sonlandırabilir.
Program zip dosyasında yapısal bir sorun bulursa, çıktı raporunun sonunda bir özet yazdırır. Raporlanan hata durumları kümesi henüz geliştirme aşamasındadır; bu nedenle bir zip dosyasındaki tüm olası hataları bulmak için bu özelliğe güvenmeyin.
Tarama Modu
Potansiyel olarak bozuk bir zip dosyanız varsa, özellikle dosyanın sonundaki merkezi dizin yoksa veya
eksikse, hala mevcut olan zip kayıtlarını aramak için --scan seçeneğini kullanmayı deneyebilirsiniz.
Tarama modu etkinleştirildiğinde program, zip dosyasını başlangıçtan itibaren tarayarak her bir zip veri
yapısının önünde yer alan 4 baytlık imzaları körü körüne arar. Tanınan imzalardan herhangi birini
bulursa, ilgili zip kaydını dökmeye (dump) çalışır. Büyük zip dosyaları için bu işlem uzun sürebilir.
Zip dosyalarında kullanılan 4 baytlık imzaların bazen zip dosyasında saklanan rastgele verilerle eşleşebileceğini unutmayın; sonuçları yorumlarken dikkatli olunmalıdır.
Seçenekler
-h: Yardımı görüntüler.--scan: Olası zip kayıtlarını aramak için zip dosyasını tarar. Hata yapmaya açık olabilir.-v: Ayrıntılı modu etkinleştirir.--version: Programın sürüm numarasını görüntüler ve çıkış yapar.
Varsayılan Çıktı
Varsayılan olarak zipdetails, zip dosyasının ayrıntılarını üç sütun halinde çıktı olarak verir:
- Sütun 1: Dosya başlangıcından itibaren onaltılık (
hex) cinsinden kayma miktarını (offset) içerir. - Sütun 2: Alanın metinsel açıklamasını içerir.
- Sütun 3: Alan sayısal bir değer içeriyorsa, bu değer onaltılık cinsinden görüntülenir. Zip çoğu sayıyı little-endian biçiminde saklar; görüntülenen değerde little-endian kodlaması kaldırılmış olur.
Sırada, değerin ne anlama geldiğine dair isteğe bağlı bir açıklama bulunur.
Ayrıntılı Çıktı
-v seçeneği varsa, Sütun 1 aşağıdakileri içerecek şekilde genişletilir:
- Dosya başlangıcından itibaren onaltılık cinsinden kayma miktarı.
- Alanın onaltılık cinsinden uzunluğu.
- Zip dosyasında saklandıkları sırayla alandaki baytların onaltılık dökümü.
Sınırlamalar
Aşağıdaki zip dosyası özellikleri bu program tarafından desteklenmemektedir:
- Çok parçalı arşivler.
- APPNOTE belgesinde tanımlanan güçlü şifreleme özellikleri.
Yapılacaklar
Hata yönetimi henüz geliştirilmektedir. Program bir zip dosyasını okurken bir sorunla karşılaşırsa, yararlı olmayan bir hata mesajıyla sonlanabilir.
Destek
Genel geri bildirimler, sorular ve hata raporları şu adreslere gönderilmelidir:
- https://github.com/pmqs/IO-Compress/issues (tercih edilen)
- https://rt.cpan.org/Public/Dist/Display.html?Name=IO-Compress
Ayrıca Bakınız
Zip dosyaları için birincil referans, şu adreste bulunan APPNOTE belgesidir:
Alternatif referans Info-Zip appnote belgesidir:
Info-ZIP dağıtımıyla gelen zipinfo programı da bir zip dosyasının yapısının ayrıntılarını
görüntüleyebilir.
Ayrıca bkz. Archive::Zip::SimpleZip, IO::Compress::Zip, IO::Uncompress::Unzip.
Yazar
Paul Marquess pmqs@cpan.org
Telif Hakkı
Telif Hakkı (c) 2011-2021 Paul Marquess. Tüm hakları saklıdır.
Bu program serbest bir yazılımdır; Perl'in kendi koşulları altında yeniden dağıtabilir ve/veya değiştirebilirsiniz.