gzip(1) | gzip(1) |
gzip - dosyaları
sıkıştırır
gunzip - sıkıştırılmış
dosyaları açar
gzcat - sıkıştırılmış
dosyaları standart çıktıda açar
gzip [ -acdfhlLnNrtvV19 ] [ -S sonek ] [ isim ... ] gunzip [ -acfhlLnNrtvV ] [ -S sonek ] [ isim ... ] gzcat [ -fhLV ] [ isim ... ]
gzip, isim ile belirtilen dosyanın boyutunu Lempel-Ziv Kodlamasını (LZ77) kullanarak küçültür. Mümkün olan bütün dosyaların isimlerinin sonuna .gz soneki getirilir ama dosyaların sahiplik, erişim ve düzenlenme zamanları korunur (VMS için öntanımlı uzantı -gz, MSDOS, OS/2 FAT, Windows NT FAT ve Atari için z dir). Şayet herhangi bir dosya ismi belirtilmemişse veya dosya ismi olarak "-" belirtilmişse, standart girdi sıkıştırılır ve standart çıktıya gönderilir. Sembolik bağlar, özellikle göz ardı edilir.
Şayet sıkıştırılmış dosya ismi, içinde bulunduğu dosya sistemi için çok uzun ise, gzip bu ismi kısaltır. gzip, 3 karakterden uzun dosya ismi bölümlerini kısaltmaya çalışır (noktalar ile sınırlanmış bölümler). Şayet isim sadece küçük bölümler içeriyorsa, uzun kısımlar kısaltılır. Örneğin; dosya isimleri 14 karakter ile sınırlandırılmış ise, gzip.msdos.exe, gzi.msd.exe.gz şeklinde sıkıştırılır. Dosya isimleri için sınırlandırma olmayan dosya sistemlerinde isimler kısaltılmaz.
Öntanımlı olarak, gzip orijinal dosya ismini ve zaman etiketlerini sıkıştırılmış dosyada da korur. Bu değerler -N seçeneği ile birlikte sıkıştırılmış dosyayı açarken kullanılır. Bu yöntem, kısaltılmış dosya isimleri olması durumunda veya bir dosya transferi sonrası zaman etiketleri korunmamışsa oldukça faydalı olur.
Sıkıştırılmış dosyalar, gzip -g, gunzip veya gzcat kullanılarak orijinal durumlarına dönüştürülebilir. Şayet sıkıştırılmış dosya içinde saklanan orijinal dosya ismi, yeni dosya sistemi için geçerli değilse, orijinal isimden yeni bir isim uydurulur.
gunzip, .gz, -gz, .z, -z, _z veya .Z ile biten dosyaların ve doğru sihirli sayı ile başlayan dosyaların isminin bulunduğu listeyi kendi komut satırına alır ve uzantıları atılmış halde orijinal durumlarına dönüştürür. gunzip ayrıca bazı özel uzantıları da tanır: .tgz ve taz (.tar.gz ve .tar.Z nin kısaltmaları olarak). Sıkıştırma işlemi sırasında, dosya isminin kısaltılmasının gerekli olması durumunda, gzip .tar uzantısı yerine .tgz kullanır.
gunzip; gzip, zip, compress, compress -H veya pack ile sıkıştırılmış paketleri açabilir. Girdi biçiminin tespiti otomatik olarak yapılır. İlk iki biçim için, gunzip bir 32 bitlik CRC sınaması yapar. pack için, sıkıştırılmamış uzunluğu kontrol eder. Standart uncompress biçimi uyum sınamalarına izin verecek şekilde tasarlanmamıştır. Bununla birlikte, gunzip bazen bozuk bir .Z dosyasını tespit edebilir. Bir .Z dosyasını açarken bir hata alırsanız, standart uncompress komutunun uyarmadığını görüp de, .Z dosyasının sağlam olduğunu düşünmeyin. Bunun anlamı, standart uncompress, girdiyi kontrol etmez ve çıktı olarak çöp yığını üretebilir. SCO sıkıştırmasının -H biçimi (lzh sıkıştırma yöntemi) bir CRC ihtiva etmez ama bazı tutarlılık denetimlerine izin verir.
zip ile sıkıştırılmış dosyalar, sadece 'deflation' yöntemi ile sıkıştırılmış tek bir üyeye sahip oldukları durumlarda, gzip ile açılabilirler. Bu özellik, sadece tar.zip dosyalarının tar.gz biçimine dönüştürülebilmesi amacı ile tasarlanmıştır. İçinde pek çok dosya bulunan zip dosyalarını gunzip ile açmak yerine unzip ile açın.
gzcat, gunzip -c ile aynıdır. (gzcat'in gzip ailesi ile gelen komutunun asıl ismi zcat dır. zcat ise aslında compress ailesine aittir. Bu bakımdan, compress kurulu sistemlerde komut, gzcat şeklinde bulunabilir.) gzcat, ya komut satırındaki dosya listesini ya da standart girdideki dosyaları açar ve açılmış veriyi standart çıktıya yazar. gzcat, sonu .gz ile bitsin ya da bitmesin, doğru sihirli numaraya sahip dosyaları açar.
gzip, zip ve PKZIP'de kullanılan Lempel-Ziv algoritmasını kullanır. Elde edilen sıkıştırma, dosyanın boyutuna ve genel altdizgelerin dağılımına bağlıdır. (*Ç.N.: gzip ingilizce metinler için iyi sonuç verir. Türkçe metinlerin sıkıştırılmasında bzip2 bariz şekilde daha iyi sıkıştırır.) Sıkıştırma, LZW (compress'de kullanılan), Huffman kodu (pack'de kullanılan) veya compact'daki uyarlanmış Huffman kodu ile yapılandan daha iyi sonuç verir.
Sıkıştırma işlemi, sıkıştırılmış dosya orjinalinden büyük olsa bile, gerçekleştirilir. Bu durum için en kötü senaryo: gzip dosya başlığı için fazladan bir kaç bayt, her 32K blok için 5 bayt veya büyük dosyalar için %0.015 oranında boyut artışıdır. Gerçekte kullanılan disk bloklarının sayısı asla artmaz. gzip, sıkıştırma veya açma işlemi esnasında, dosya iyeliklerini, kiplerini ve zaman etiketlerini korur.
compressed size: sıkıştırılmış dosyanın boyu uncompressed size: sıkıştırılmamış dosyanın boyu ratio: sıkıştırma oranı (bilinmiyorsa 0.0%) uncompressed_name: sıkıştırılmamış dosyanın ismi
Açılmış boyut, .Z dosyaları gibi gzip biçiminde olmayan sıkıştırılmış dosyalar için -1 olarak verilir. Bu tür bir dosyanın açılmış boyutunu bulmak için şunu kullanabilirsiniz:
zcat file.Z | wc -c
--verbose seçeneği ile birlikte kullanılırsa, aşağıdaki bölümler de gösterilir:
method: sıkıştırma yöntemi crc: sıkıştırılmamış verinin 32 bitlik CRC'si date & time: sıkıştırılmamış dosya için tarih damgası
Desteklenen sıkıştırma yöntemleri: deflate, compress, lzh (SCO compress -H) ve pack'dir. gzip biçiminde olmayan bir dosya için crc, ffffffff şeklinde belirtilir.
--name seçeneği ile sıkıştırılmış dosya içinde eğer varsa, sıkıştırılmamış dosya ismi, tarih ve zaman saklanır.
--verbose seçeneği ile ayrıca, bilinmeyen boyutlar olmadıkça bütün dosyalar için toplam boyut ve sıkıştırma oranı görüntülenir. --quiet seçeneği ile, başlık ve toplam satırları görüntülenmez.
gunzip -S "" * (MSDOS için *.*)
gzip'in eski sürümleri .z sonekini kullanmaktaydı ama pack(1) ile bir karışıklığa sebebiyet vermemek için bundan vazgeçildi.
Çoklu sıkıştırılmış dosyalar birleştirilebilir. Bu durumda, gunzip bütün üyeleri tek seferde açacaktır. Örneğin:
gzip -c dosya1 > foo.gz gzip -c dosya2 >> foo.gz
Daha sonra bu komut verilirse:
gunzip -c foo
Elde edilen sonuç aşağıdaki komuta eşdeğerdir:
cat dosya1 dosya2
Bir .gz dosyasının bozulması durumunda diğer dosyayı kurtarmak mümkün olabilir (şayet hasarlı üye çıkarılırsa). Bununla birlikte, bütün üyeleri tek seferde sıkıştırarak daha iyi sıkıştırma sağlayabilirsiniz:
cat dosya1 dosya2 | gzip > foo.gz
Bu, aşağıdaki yöntemden daha iyi sıkıştırma sağlar.
gzip -c dosya1 dosya2 > foo.gz
Şayet birleşik dosyaları daha iyi bir sıkıştırma için tekrar sıkıştırmak isterseniz:
gzip -cd eski.gz | gzip > yeni.gz
Şayet sıkıştırılmış bir dosya çeşitli üyeler içeriyorsa, --list seçeneği ile bildirilen açılmış boyut ve CRC raporu sadece son üye için verilir. Diğerlerini kapsamaz. Şayet bütün üyelerin açılmış boyutuna ihtiyacınız varsa:
gzip -cd dosya.gz | wc -c
Çoklu dosyalar ile tek bir arşiv oluşturmak istiyorsanız ve daha sonra bu dosyaları birbirinden bağımsız olarak açılabilmesini istiyorsanız, tar veya zip gibi bir arşivleyici kullanın. GNU tar yazılımı gzip'i başlatmak için -z seçeneğine sahiptir. gzip, tar uygulamasına tamamlayıcı olarak geliştirilmiştir, onun yerini alacak bir uygulama değildir.
GZIP ortam değişkeni, gzip uygulaması için öntanımlı birkaç değer ihtiva eder. Bu değerler önce yorumlanır ve daha sonra komut satırından belirtilen parametreler tarafından değiştirilebilirler. Örneğin:
sh için: GZIP="-8v --name"; export GZIP csh için: setenv GZIP "-8v --name" MSDOSiçin: set GZIP=-8v --name
Vax/VMS'de ortam değişkeninin adı karışıklık yaratmamak için GZIP_OPT olarak geçer.
compact(1), compress(1), gzexe(1), pack(1), unzip(1), zcmp(1), zforce(1), zip(1), zmore(1), znew(1).
gzip dosya biçimi P. Deutsch içinde GZIP dosya biçimi belirtimi sürüm 4.3 olarak Internet RFC 1952'de (Mayıs 1996) belirtilmiştir ve <ftp://ftp.isi.edu/in-notes/rfc1952.txt> adresinde bulunabilir. zip biçimi ise P. Deutsch içinde DEFLATE sıkıştırılmış veri biçimi belirtimi sürüm 1.3 olarak Internet RFC 1951'de (Mayıs 1996) belirtilmiştir ve <ftp://ftp.isi.edu/in-notes/rfc1951.txt> adresinde bulunabilir.
Çıkış durumu normalde 0 dır, hata oluşması durumunda 1 döner, uyarı oluşması durumunda 2 döner.
zcat dosyaismi > kurtarılan
Sıkıştırılmış veriyi bir teybe yazarken, genellikle, çıktıyı blok sınırına kadar sıfırlarla doldurmak gerekebilir. Veri okunduğu ve bütün blok gunzip'e açılmak üzere gönderildiği zaman, gunzip sıkıştırılmış verinin ardında fazladan çöplük izi bulur ve öntanımlı olarak bir uyarı verir. Bu iletiyi atlamak için --quiet seçeneğini kullanmanız gerekir. Bu seçenek GZIP ortam değişkeni vasıtası ile ayarlanabilir:
sh için: GZIP="-q" tar -xfz --block-compress /dev/rst0 csh için: (setenv GZIP -q; tar -xfz --block-compr /dev/rst0
Yukarıdaki örnekte, gzip, GNU tar uygulaması tarafından, belirtilen -z seçeneği ile çalıştırılır. Teypler üzerinde okuma ve yazma için aynı boyda bloklar ayrılmış olduğundan emin olun (tar'ın -b seçeneği ile). Bu örnek sizin tar uygulamasının GNU sürümünü kullandığınız kabul ederek verilmiştir.
gzip biçimi, modulo 2^32 girdi boyutuna göre davranır, bu nedenle --list seçeneği, 4 GB veya daha büyük dosyakarın sıkıştırılmamış boyunu ve sıkıştırma oranını yanlış raporlar. Daha büyük dosyaların gerçek boyutlarını tespit etmek için aşağıdaki komutu kullanarak bu sorunun çevresinden dolanabilirsiniz:
zcat dosya.gz | wc -c
Şayet sıkıştırılmış dosya araştırılamayan bir ortam üzerinde ise, --list seçeneği boyut olarak -1 ve crc olarak ffffffff döndürür.
Bazı çok istisnai durumlarda, --best seçeneği öntanımlı seviye -6'dan daha kötü bir sıkıştırma uygular. Bazı son derece gereksiz dosyalarda, compress, gzip'den daha iyi sıkıştırma sağlar.
Telif Hakkı © 1998, 1999, 2001 Free Software
Foundation, Inc.
Telif Hakkı © 1992, 1993 Jean-loup Gailly
Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are preserved on all copies.
Permission is granted to copy and distribute modified versions of this manual under the conditions for verbatim copying, provided that the entire resulting derived work is distributed under the terms of a permission notice identical to this one.
Permission is granted to copy and distribute translations of this manual into another language, under the above conditions for modified versions, except that this permission notice may be stated in a translation approved by the Foundation.
Yalçın Kolukısa <yalcink01 (at) yahoo.com>, Ocak 2004