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

$ unzipsfx

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

ZIP arşivlerinin önüne eklemek için kendiliğinden açılan taslak

Sözdizimi

<unzipsfx+arşiv kombinasyonunun adı> [-cfptuz[ajnoqsCLV$]] \
    [dosya(lar) ... [-x yadsınan_dosya(lar) ...]]

Açıklama

unzipsfx, kendiliğinden açılan arşivler oluşturmak üzere mevcut ZIP arşivlerinin önüne eklenmek için tasarlanmış, unzip(1L) programının değiştirilmiş bir sürümüdür. Bayrak olmayan ilk argümanını çıkarılacak zip dosyası olarak almak yerine, kendisini çağrıldığı isim altında arar ve eklenen arşivin içeriğini test eder veya çıkarır.

Yürütülebilir taslak arşive ek hacim kazandırdığından, normal unzip içindeki daha az gerekli bazı yetenekler kaldırılmıştır. Bunlar arasında kullanım ekranı, listeleme ve tanısal işlevler (-l ve -v) ve daha eski sıkıştırma yöntemlerinin (reduce, shrink, implode) açılması yer alır.

Geçerli dizinden başka bir dizine çıkarma, şifre çözme ve çıkarma işleminden sonra komut çalıştırma gibi bazı özellikler derleme zamanı seçenekleriyle etkinleştirilebilir. Bu özelliklerin tamamı her unzipsfx derlemesinde bulunmayabilir.

unzipsfx ile yapılan kendiliğinden açılan arşivler, farklı işletim sistemleri arasında unzip yürütülebilir dosyasının kendisinden daha fazla taşınabilir değildir. Normal unzip, gömülü arşivi normal bir zip dosyasında olduğu gibi çıkarmak için hala kullanılabilir; ancak zip dosyasının başlangıcındaki ekstra baytlar hakkında zararsız bir uyarı üretebilir.

Kendiliğinden açılan arşiv teknik olarak geçerli bir ZIP arşivi değildir. Bu sınırlama, arşivin oluşturulduğu basit yöntemden kaynaklanır; dahili dizin yapısı, orijinal zip dosyasının önüne eklenen ekstra baytları yansıtacak şekilde güncellenmez.

Argümanlar

  • [dosya(lar)]: İşlenecek arşiv üyelerinin isteğe bağlı listesi. Birden fazla üyeyi eşleştirmek için Unix egrep(1) programındakilere benzer düzenli ifadeler veya joker karakterler kullanılabilir.

    Joker karakterler:

    • *: 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, tire ve bitiş karakteri ile belirtilir.

    İşletim sistemi tarafından yorumlanabilecek veya değiştirilebilecek karakterleri, özellikle Unix ve VMS altında 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 dizin ayırıcıları (/) ile eşleştiğinden, bu seçenek alt dizinlerde bulunan dosyaları hariç tutmak için kullanılabilir.

    foosfx '*.[ch]' -x '*/*'

    Bu komut ana dizindeki tüm C kaynak dosyalarını çıkarır, ancak alt dizinlerdekileri çıkarmaz.

  • [-d hedef_dizin]: unzipsfx, SFX_EXDIR tanımlı olarak derlenmişse etkinleşir. Dosyaların çıkarılacağı isteğe bağlı dizini belirtir. Varsayılan olarak, tüm dosyalar ve alt dizinler geçerli dizinde yeniden oluşturulur.

Seçenekler

unzipsfx, şu unzip(1L) seçeneklerini destekler:

  • -c, -p: Standart çıktıya veya ekrana çıkarma.
  • -f, -u: Çıkarma sırasında mevcut dosyaları tazeleme ve güncelleme.
  • -t: Arşivi test etme.
  • -z: Arşiv yorumunu yazdırma.

Tüm normal listeleme seçenekleri (-l, -v, -Z) kaldırılmıştır, ancak test seçeneği (-t) basit bir listeleme yerine kullanılabilir. Daha eksiksiz açıklama için unzip(1L) kılavuzuna bakın.

Niteleyiciler

unzipsfx şu unzip(1L) niteleyicilerini destekler:

  • -a: Metin dosyalarını dönüştürür.
  • -n: Asla üzerine yazmaz.
  • -o: Sormadan üzerine yazar.
  • -q: Sessiz çalışır.
  • -C: Adları büyük/küçük harfe duyarsız eşleştirir.
  • -L: Büyük harfli işletim sistemi adlarını küçük harfe dönüştürür.
  • -j: Yolları çöpe atar.
  • -V: Sürüm numaralarını korur.
  • -X: VMS sahip/koruma bilgilerini geri yükler.
  • -s: Dosya adlarındaki boşlukları alt çizgiye dönüştürür.
  • -$: Birim etiketini geri yükler.

Bu niteleyicilerin daha eksiksiz açıklaması için unzip(1L) kılavuzuna bakın.

Ortam Seçenekleri

unzipsfx, unzip(1L) programıyla aynı ortam değişkenlerini kullanır. Bu durum çoğunlukla kendiliğinden açılan arşivi oluşturan ve test eden kişi için önemlidir.

Şifre Çözme

Şifre çözme, unzip(1L) programında olduğu gibi desteklenir: şifreler yankısız bir istemle etkileşimli olarak sorulur. Arşivde şifrelenmiş dosya yoksa, şifre çözme desteğine sahip bir unzipsfx sürümü kullanmak için neden yoktur; bu yalnızca arşiv boyutunu artırır.

Otomatik Çalıştırma Komutu

unzipsfx, CHEAP_SFX_AUTORUN tanımlı olarak derlendiğinde basit bir otomatik çalıştırma komutu özelliği destekler. Zip arşivi yorumuna şu biçimde bir komut girilebilir:

$AUTORUN$>[komut satırı dizesi]

unzipsfx, Zip arşivi yorumunun başlangıcında $AUTORUN$> belirtecini algıladığında, yorumun ilk satırının geri kalanını C çalışma zamanı system işlevini kullanarak işletim sistemine kabuk komutu olarak iletir. Komutu yürütmeden önce komutu konsolda görüntüler ve kullanıcıdan onay ister. Kullanıcı -q seçeneğini belirterek sorgulamayı kapattığında, otomatik çalıştırma komutları yürütmeye katılmaz.

Örnekler

Mevcut letters.zip dosyasından kendiliğinden açılan bir letters arşivi oluşturur:

cat unzipsfx letters.zip > letters
chmod 755 letters
zip -A letters

MS-DOS, OS/2 veya NT altında aynı arşivi oluşturur:

copy /b unzipsfx.exe+letters.zip letters.exe
zip -A letters.exe

VMS altında:

copy unzipsfx.exe,letters.zip letters.exe
letters == "$currentdisk:[currentdir]letters.exe"
zip -A letters.exe

AmigaDOS altında:

MakeSFX letters letters.zip UnZipSFX

Yeni oluşturulan kendiliğinden açılan arşivi test eder:

letters -t

Arşivin tamam olup olmadığını yalnızca özet mesajıyla sessizce test eder:

letters -tqq

Tüm içeriği geçerli dizine çıkarır:

letters

Tüm .txt dosyalarını çıkarır:

letters '*.txt'

.txt dosyaları dışındaki her şeyi çıkarır:

letters -x '*.txt'

Yalnızca README dosyasını standart çıktıya çıkarır:

letters -c README

Yalnızca zip dosyası yorumunu yazdırır:

letters -z

Sınırlamalar

unzipsfx programının temel sınırlaması, mimariler veya işletim sistemleri arasında taşınabilir olmamasıdır; dolayısıyla ortaya çıkan arşivler de taşınabilir değildir. Bazı mimariler için sınırlı taşınabilirlik mevcut olabilir.

Başlangıcına ekstra veri eklenmiş herhangi bir arşiv teknik olarak artık bir zip dosyası değildir. zip(1) ile kaydırmalar uygun şekilde ayarlanmadığı sürece bazı arşivleyiciler değiştirilmiş arşivle işlem yapamayabilir.

unzipsfx, kullanıcının PATH değişkeni hakkında bilgiye sahip değildir. Bu nedenle arşiv çağrıldığında genellikle geçerli dizinde bulunmalı ya da tam veya göreli bir yol belirtilmelidir.

Normal unzip(1L) işlevlerinden bazıları kaldırılmıştır: kullanım ve tanı bilgileri, listeleme işlevleri ve bazı derlemelerde diğer dizinlere çıkarma yeteneği. Ayrıca yalnızca depolanan ve söndürülen (deflated) dosyalar desteklenir.

VMS kullanıcıları, seçenekleri kullanabilmek için kendiliğinden açılan arşivleri yabancı komutlar olarak kurmalıdır.

Amiga üzerinde çalışan kendiliğinden açılan arşivler oluşturmak için MakeSFX kullanılmalıdır; basit birleştirme çalışmaz.

unzip(1L) kılavuzundaki mevcut hatalar unzipsfx için de geçerlidir.

Teşhis

unzipsfx programının çıkış durumu unzip(1L) programınınkiyle aynıdır.

Ayrıca Bakınız

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

URL

Info-ZIP ana sayfası şu adrestedir:

Yazarlar

Greg Roelofs, UnZipSFX oluşturmak için gereken temel UnZip değişikliklerinden sorumluydu. Mevcut Zip-Bugs yazarlarının listesi için unzip(1L) kılavuzuna veya Info-ZIP katılımcılarının tam listesi için UnZip kaynak dağıtımındaki CONTRIBS dosyasına bakın.