İ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