compress(1)

İSİM
compress - verileri sıkıştırır (sürüm 4.1)
uncompress - sıkıştırılmış verileri açar
zcat - sıkıştırılmış verileri standart çıktıda açar

KULLANIM
compress   [ -f ] [ -v ] [ -c ] [ -V ] [ -r ] [ -b bit_sayısı ]
           [ isim ...  ]

uncompress [ -f ] [ -v ] [ -c ] [ -V ] [ isim ...  ]
zcat       [ -V ] [ isim ... ]

AÇIKLAMA
compress, uygun Lempel-Ziv kodlarını kullanarak belirtilen dosyanın boyutunu küçültür. Bu işlemin sonunda, her bir dosyanın sonuna .Z soneki getirilir. .Z uzantılı dosya aynı sahiplik kiplerine, erişim ve düzenlenme zamanlarına sahiptir. Şayet komut ile birlikte bir dosya belirtilmez ise, standart girdi sıkıştırılıp standart çıktıya aktarılır. compress, sadece normal dosyaları sıkıştırır. Örneğin; sembolik bağları yok sayar. Şayet bir dosya birden çok sembolik bağa sahipse, compress bu dosyayı sıkıştırmayı reddedecektir. Bu durumda -f seçeneğini eklemeniz gerekir.

Şayet -f seçeneği belirtilmezse ve sıkıştırma işlemi önplanda devam ediyorsa, ekrana, var olan bir dosyanın üzerine yazılıp yazılmayacağını soran bir uyarı çıkar.

Sıkıştırılmış dosyalar uncompress veya zcat kullanılarak orjinal hallerine döndürülebilirler.

uncompress, komut satırında dosya listelerini alır ve sonu .Z ile bitenleri ve doğru sihirli numara ile başlayanları, .Z soneki olmayan açılmış dosyalar ile değiştirir. Açılmış dosya, sıkıştırılmış olanla aynı sahiplik ve tarih damgasını içerir.

-c seçeneği ile compress/uncompress standart çıktıya yazar ama dosyalar değişmez.

zcat, uncompress -c ile aynıdır. zcat, ya komut satırındaki listede bulunan dosyaları açar ya da standart girdideki dosyaları açıp, açılmış bilgileri standart çıktıya yazar. zcat doğru sihirli numaraya sahip dosyaları, .Z soneki olsun ya da olmasın, açacaktır. (*Ç.N.: gzip ailesinde de bir zcat vardır ve gzip kuruluysa, zcat, gzip ailesinin zcat uygulaması olabilir. Bunun olmaması için gzip ailesi ile gelen zcat'in ismini gzcat olarak değiştirebilirsiniz.)

Şayet -r seçeneği tanımlı ise, sıkıştırma işlevi aşt dizinlerde yinelemeli olarak yapılacaktır. Komut satırında tanımlı isimlerden herhangi birisi bir dizin ise, compress bu dizinin içine girecek ve burada bulunan bütün dosyaları sıkıştıracaktır.

-V seçeneği bu uygulamaların her birine, sürüm ve standart hatadaki yama seviyelerini, bunun yanında derleme sırasındaki önişlemci seçeneklerini sıkıştırma/açma işleminden önce görüntülenmesini söyler.

compress, "Yüksek performanslı veri sıkıştırması için bir teknik / A Technique for High Performance Data Compression" içinde açıklanan değiştirilmiş Lempel-Ziv algoritmasını kullanır (Terry A. Welch, IEEE Computer, vol. 17, no. 6 (June 1984), pp. 8-19). İlk önce dosyadaki ortak altdizgeler 257 veya daha üstünde 9 bitlik kod ile değiştirilir. 512'ye ulaşılınca, algoritma 10 bitlik kodlara dönüşür ve daha yüksek bitler, -b seçeneği ile belirtilen sınıra ulaşılıncaya kadar kullanır (öntanımlı olarak 16). Bitler 9 ila 16 arasında olmak zorundadır. Bu öntanımlı bit seviyesi kaynak kodlarının içinden değiştirilebilir, böylece daha küçük makinalarda çalışması sağlanır.

Bit sınırına erişildikten sonra, compress düzenli olarak sıkıştırma oranını denetler. Eğer artarsa, compress var olan kod sözlüğünü kullanmaya devam eder. Bununla birlikte, sıkıştırma oranı düşerse, compress altdizgelerin tablosunu başından savar ve listeden yenisini yapar. Böylece, algoritmanın sıradaki dosya "bloğuna" uyması sağlanmış olur.

-b seçeneğinin uncompress için atlanmış olduğuna dikkat edin, belirlenmiş bit parametreleri sıkıştırma sırasında çıktı içinde sihirli bir numara ile kodlandığından, rastgele bir verinin açılması ya da sıkıştırılmış verinin tekrar sıkıştıılmaya çalışılması gibi şeyler mümkün değildir.

Sıkıştırma miktarı girdinin boyutuna, kod başına düşen bit sayısına ve ortak altdizgelerin dizilişine bağlıdır. Genellikle, kaynak kodu gibi veya İngilizce metinlerden, %50-60 oranında tasarruf sağlanır. Sıkıştırma genellikle, Huffman kodundan (pack) veya uyarlanmış Huffman kodundan (compact) daha iyidir ve daha az zamana mal olur.

-v seçeneği altında, sıkıştırılan her bir dosya için, kazanç yüzdesini gösteren bir ileti basılır.

Çıkış durumu normalde 0'dır; şayet son dosya sıkıştırılmış olandan daha büyükse 2; eğer bir hata meydana gelmişse 1'dir.

İLGİLİ BELGELER
compact(1), pack(1).

HATA İLETİLERİ

Usage: compress [-dfvcVr] [-b maxbits] [file ...]
    Komut satırında geçersiz seçenekler tanımlandı.

Missing maxbits
    Azami bit sayısı -b seçeneği ile verilmelidir.

dosyaismi: not in compressed format
    Argüman olarak verilen dosya, sıkıştırılmış bir dosya değil.

dosyaismi: compressed with xx bits, can only handle yy bits
    Dosya (LZW kullanılarak) bu makinedeki açma programının işleyebileceği bitlerden daha fazlasını kullanabilen bir uygulama ile sıkıştırılmış. Dosyayı daha az bit sayısı belirterek tekrar sıkıştırın.

dosyaismi: already has .Z suffix -- no change
    Belirtilen dosyanın zaten sıkıştırılmış olduğu kabul ediliyor. Dosyayı tekrar isimlendirin ve tekrar deneyin.

dosyaismi: filename too long to tack on .Z
    Dosya ismi 12 karakterden uzun olduğu için, bu dosya sıkıştırılamaz. Yeniden adlandırın ve tekrar deneyin. BSD sistemlerde bu ileti yoktur.

dosyaismi already exists; do you wish to overwrite (y or n)?
    Mevcut dosyasının değiştirilmesini istiyorsanız "y" tuşuna basın, istemiyorsanız "n" ye basın.

uncompress: corrupt input
    Bir SIGSEGV çelişkisi saptandı. Girdi dosyası bozuk olabilir.

Compression: xx.x%
    Sıkıştırma tarafından kaydedilmiş girdinin yüzdesi (sadece -v ile alakalıdır).

-- not a regular file or directory: ignored
    Girdi dosyası normal bir dosya veya dizin değil ise (örneğin, bir sembolik bağ, soket, FIFO veya aygıt dosyası olabilir), dokunulmaz.

-- has xx other links: unchanged
    Girdi dosyası bağlara sahiptir; dokunulmadan geçildi. Daha fazla bilgi için ln(1)'e bakınız. Çok sayıda bağa sahip dosyaları sıkıştırmak için -f seçeneğini kullanınız.

-- file unchanged
    Herhangi bir sıkıştırma işlemi yapılmadı. Giriş dosyasına dokunulmadı.

YETERSİZLİKLER
Sıkıştırılmış dosyalar büyük bellekli makinalar arasında uyumlu olmakla birlikte, küçük süreç alanına sahip (64KB veya daha az DEC PDP serileri, Intel 80286, vb.) makinalara dosya transferi için -b12 seçeneği kullanılmalıdır.

-r seçeneği kullanılan bir sıkıştırma işlemi, arada bir sahte hata iletilerine sebep olabilir:

"<dosyaismi>.Z already has .Z suffix - ignored"

Bu uyarıları önemsemeyin. Açıklaması için compress.c:compdir() içindeki açıklamalara bakınız.

ÇEVİREN
Yalçın Kolukısa <yalcink01 (at) yahoo.com>, Kasım 2003