İ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