yükleniyor...

11 Nisan 2023

Linux’da Dosya Sıkıştırma İşlemleri: Gzip Nedir? Tar Nedir?

Dosya sıkıştırma, dosyaları daha küçük boyutlu arşiv dosyalarına dönüştürme işlemidir. Bu, dosyaların depolama alanında tasarruf sağlamanıza, dosyaları taşırken veya yedeklerken daha az yer kaplamalarına olanak tanır. Linux işletim sistemi, birçok farklı dosya sıkıştırma aracı sunar. Bu yazıda, en yaygın kullanılan dosya sıkıştırma araçları hakkında ufak bilgiler ve nasıl kullanıldığına dair birkaç örnek vereceğim.


Dosya Sıkıştırma Araçları


gzip Nedir?

gzip, GNU Projesi’nin bir parçasıdır ve Unix benzeri işletim sistemlerinde sıkıştırma ve arşivleme işlemleri için kullanılır. gzip, bir dosyayı sıkıştırarak boyutunu azaltır ve daha hızlı bir şekilde transfer edilmesini veya depolanmasını sağlar. gzip, sıkıştırma oranı ve işlem hızı açısından oldukça verimli bir araçtır.

Sıkıştırma işlemi sırasında dosyayı değiştirmez ve orijinal dosyayı korur. Sıkıştırılmış dosya, “.gz” uzantısı ile kaydedilir. gzip, tek bir dosyayı sıkıştırmak için kullanılabileceği gibi, bir dizi dosyayı sıkıştırarak bir arşiv oluşturmak için de kullanılabilir.

gzip aracının Parametreleri Nelerdir?

-c: Sıkıştırılmış dosyaları ekrana yazdırır ve orijinal dosyaları etkilemez.

-d: Sıkıştırılmış dosyaları açar ve orijinal dosyaları etkiler.

-f: Güncellenmiş veya zaten sıkıştırılmış dosyaları bile zorlar.

-r: Belirtilen dizindeki tüm dosyaları ve alt dizinleri sıkıştırır.

-t: Sıkıştırılmış dosyanın içeriğini test eder.

-v: İşlem ayrıntılarını ekranın alt kısmında gösterir.

-k: Sıkıştırılmış dosyaların orijinal dosyalarını korur.

-n: Yeni bir dosya sıkıştırma işlemi yapmadan önce, sadece daha yeni veya değiştirilmiş dosyaları sıkıştırır.

-N: Kullanımda olan tüm işlemci çekirdeklerini kullanarak sıkıştırma işlemini hızlandırır.

Bu parametreler, gzip aracının kullanımını daha esnek hale getirir ve belirli işlem ihtiyaçlarına göre farklı seçenekler sunar.

gzip Nasıl Kullanılır?

Gzip, komut satırından kullanılan bir araçtır. gzip komutu, aşağıdaki formatta kullanılabilir:

gzip [seçenekler] [dosya adı]

Bir dosyayı sıkıştırmak için, gzip komutunu kullanarak dosya adını belirtmeniz yeterlidir. Aşağıdaki örnekte, “dosya.txt” adlı bir dosyayı sıkıştırmak için gzip kullanılmıştır:

gzip dosya.txt

Bu komut, “dosya.txt” dosyasını sıkıştırarak “dosya.txt.gz” adlı bir sıkıştırılmış dosya oluşturacaktır.

gzip ile sıkıştırılmış bir dosyayı açmak için ise “gunzip” veya “gzip -d” komutu kullanılabilir. Aşağıdaki örnek, “dosya.txt.gz” adlı bir sıkıştırılmış dosyayı açmak için gzip kullanımını göstermektedir:

gzip -d dosya.txt.gz

Bu komut, “dosya.txt.gz” dosyasını açarak “dosya.txt” adlı bir dosya oluşturacaktır.

gzip Kullanım Alanları

gzip, sıkıştırma işlemi sırasında dosya boyutunu azaltarak, verilerin transferi veya depolanması sırasında kullanışlı hale getirir. Özellikle web sunucuları ve dosya paylaşımı gibi alanlarda oldukça yaygın olarak kullanılır.

Web sunucuları, web sayfalarını sıkıştırmak için gzip kullanır ve böylece sayfalar daha hızlı yüklenir ve daha az bant genişliği kullanır. Dosya paylaşımı gibi diğer alanlarda ise, büyük dosyaları sıkıştırmak ve daha hızlı bir şekilde transfer etmek için kullanılır. Diğer Unix benzeri araçlarla birlikte kullanılarak, bir dizi dosyayı sıkıştırarak bir arşiv oluşturmak için de kullanılabilir. Bu işlem genellikle “tar” aracı ile birlikte kullanılır. Bu sayede, birçok dosyanın sıkıştırılmış bir arşiv içinde depolanması mümkün olur.

gzip’in başka bir kullanım alanı da yedekleme işlemleridir. Örneğin, bir veritabanı yedeği almak için, veritabanı dosyası gzip ile sıkıştırılır ve daha sonra yedek olarak saklanır. Bu yöntem, yedekleme işlemlerinin daha hızlı ve verimli bir şekilde yapılmasını sağlar.


tar Nedir?

Tar (Tape Archive), Linux işletim sistemi için bir diğer popüler dosya sıkıştırma aracıdır. Tar, birçok dosyayı bir arşiv dosyasında birleştirerek sıkıştırabilir veya sıkıştırmadan arşivleyebilir.

Tar aracıda gzip gibi başka birçok Unix benzeri araçla birlikte kullanılabilir. Örneğin, bir dizi dosyayı sıkıştırmak için “gzip” veya “bzip2” araçlarıyla birlikte kullanılabilir. Bu, bir dizi dosyayı sıkıştırarak bir arşiv oluşturmak için kullanışlı bir yöntemdir. Tar ayrıca, sıkıştırılmamış dosyaları arşivlemek için de kullanılabilir.

Tar, birçok işletim sisteminde standart olarak bulunur. Linux’ta, tar aracı, genellikle “tar” komutu kullanılarak çalıştırılır. Tar aracı, birkaç anahtar kelime kullanarak farklı seçeneklerle çalıştırılabilir.

Örneğin, “tar -c” komutu, dosyaları arşivlemek için kullanılır. Bu komut, bir arşiv oluşturmak için dosyaları birleştirir. “tar -x” komutu, bir arşiv dosyasından dosyaları geri yüklemek için kullanılır. “tar -t” komutu, bir arşiv dosyasındaki dosyaların listesini gösterir.

tar aracının Parametreleri Nelerdir?

-c: Arşiv oluşturur.

-x: Arşivi çıkarır.

-t: Arşivdeki dosyaların listesini görüntüler.

-f: Arşiv dosyasını belirler.

-r: Varolan arşive dosya ekler.

-u: Varolan arşive, sadece yeni veya güncellenmiş dosyaları ekler.

-v: İşlemi ayrıntılı bir şekilde görüntüler.

-z: Arşivi gzip ile sıkıştırır veya açar.

-j: Arşivi bzip2 ile sıkıştırır veya açar.

-p: Orijinal dosya izinlerini korur.

-P: Arşivi açarken mutlaka önceden tanımlanmış bir tam yolu kullanır.

--exclude: Belirli dosyaları veya klasörleri arşiv dışında tutar.

--strip-components: Arşivden dosyaları çıkarırken, belirtilen sayıda dizin bileşenini atlar.

Bu parametreler, tar aracının kullanımını daha esnek hale getirir ve kullanıcıya belirli işlem ihtiyaçlarına göre farklı seçenekler sunar.

tar Nasıl Kullanılır?

Aşağıda, tar aracını kullanarak dosyaları nasıl arşivleyeceğinizi ve geri yükleyeceğinizi açıklayan birkaç örnek verilmiştir.

1. Dosyaları Arşivlemek

Tar aracını kullanarak dosyaları arşivlemek için, aşağıdaki komutları kullanabilirsiniz:

.tar Arşiv Dosyası Oluşturma

tar -cvf arsiv_dosyasi.tar /home/dosya1.txt

Bu komut, “/home/dosya1.txt” adlı dosyayı sıkıştırarak “arsiv_dosyasi.tar” adlı bir arşiv dosyası oluşturur. Burada, “c” seçeneği, dosyaları arşivlemek için kullanılır. “v” seçeneği, tar işlemi sırasında ekran çıktısını gösterir. “f” seçeneği, arşiv dosyasının adını belirtir.

.tar.gz Arşiv Dosyası Oluşturma

tar -czvf arsiv_dosyasi.tar.gz dosya1.txt dosya2.txt dosya3.txt

Bu komut, “dosya1.txt“, “dosya2.txt” ve “dosya3.txt” adlı dosyaları sıkıştırarak “arsiv_dosyasi.tar.gz” adlı bir arşiv dosyası oluşturur. Burada, “z” seçeneği, arşiv dosyasını gzip sıkıştırmasıyla oluşturur.

.tar.bz2 Arşiv Dosyası Oluşturma

tar -cvjf ornekArsiv.tar.bz2 /home/dosya1.txt

Bu komut, “/home/dosya1.txt” adlı dosyayı sıkıştırarak “arsiv_dosyasi.tar.bz2” adlı bir arşiv dosyası oluşturur. Burada, “j” seçeneği, arşiv dosyasını bzip2 sıkıştırmasıyla oluşturur. bz2 dosyası gzip’e kıyasla daha fazla sıkıştırılma sağlar. Ancak, sıkıştırma ve sıkıştırma işlemini geri almak daha uzun sürecektir.

2. Arşiv Dosyasının İçindekileri Görüntülemek

Arşiv oluşturulduktan sonra içerisindeki dosyaları aşağıdaki komutları kullanarak listeleyebilirsiniz:

tar -tvf arsivDosyasi.tar
tar -tvf arsivDosyasi2.tar.gz
tar -tvf arsivDosyasi3.tar.bz2

3. Arşiv Dosyasından Dosya/Dosyaları Çıkartmak

3.1 Arşivden Tüm Dosyaları Çıkartmak

Aşağıdaki komutu kullanarak arşivi dışarı çıkartabilirsiniz.

tar -xvf arsivDosyasi.tar

Dosyaları fakrlı bir dizine çıkartmak isterseniz, -C parametresini kullanabilirsiniz. Aşağıda bir örnek bulunmaktadır.

tar -xvf arsivDosyasi.tar -C /home/burayaCikartilacak/

Bu işlemleri .tar.gz veya .tar.bz2 arşiv dosyalarındada kullanabilirsiniz.

tar -xvf arsivDosyasi.tar.gz
tar -xvf arsivDosyasi.tar.bz2
tar -xvf arsivDosyasi.tar.gz -C /home/burayaCikartilacak/
tar -xvf arsivDosyasi.tar.bz2 -C /home/burayaCikartilacak/

3.2 Bir Dosya Çıkartmak

Arşiv oluşturduktan sonra bir dosyayı çıkartabiliriz. Aşağıdaki komutları kullanarak çıkartabilirsiniz.

tar -xvf arsivDosyasi.tar dosya1.txt
tar -zxvf arsivDosyasi2.tar.gz dosya2.txt
tar -jxvf arsivDosyasi3.tar.bz2 dosya3.txt

Burada “arsivDosyasi.tar” arşivinden “dosya1.txt”, “arsivDosyasi2.tar.gz” arşivinden “dosya2.txt” ve “arsivDosyasi3.tar.bz2” arşivinden “dosya3.txt” çıkartıyoruz. Arşiv dosyalarından sadece belirttiğimiz dosyayı çıkartmış oluyoruz. Alternatif olarak aşağıdaki komutu kullanabilirsiniz:

tar --extract --file= arsivDosyasi.tar dosya1.txt
tar --extract --file= arsivDosyasi2.tar.gz dosya2.txt
tar --extract --file= arsivDosyasi3.tar.bz2 dosya3.txt

3.3 Birden Fazla Dosya Çıkartmak

Eğer birden fazla dosya çıkarmak istiyorsanız aşağıdaki komutları kullanabilirsiniz.

tar -xvf arsivDosyasi.tar "dosya1.txt" "fotograf.jpg"
tar -zxvf arsivDosyasi1.tar.gz "dosya2.txt" "fotograf2.jpg"
tar -jxvf arsivDosyasi2.tar.bz2 "dosya3.txt" "muzik.mp3"

3.4 Joker(Wildcard) ile Dosya Çıkartma

Eğer sadece .png dosyalarını çıkarmak gibi bir işleme ihtiyaç duyuyorsanız wildcards‘ı kullanmalısınız. Aşağıda bir örnek veriyorum:

tar -xvf arsivDosyasi.tar --wildcards '*.png'
tar -zxvf arsivDosyasi.tar.gz --wildcards '*.png'
tar -jxvf arsivDosyasi.tar.bz2 --wildcards '*.png

4. Arşive Dosya Ekleme

Dosyaları çıkarabildiğiniz gibi varolan bir arşive dosya da ekleyebilirsiniz. Tar hem dosya, hem de dizin ekleyebilir.

Aşağıdaki komutlar ile “testDosyasi.tar” isimli arşivimize “testFotografi.png” isimli dosyayı, “testDosyasi2.tar” isimli arşivimize “yeniMuzikler” isimli dizini ekleyeceğiz.

tar -rvf testDosyasi.tar testFotografi.png
tar -rvf testDosyasi2.tar yeniMuzikler

.tar.gz” ve “.tar.bz” arşivlerimize dosya veya klasör ekleyemeyiz.

5. Arşiv Dosyasını Doğrulama

Arşivi doğrulamak için aşağıdaki komutu kullanabilirsiniz.

tar -tvf dogrulanacakArsiv.tar

Bu komut “.tar.gz” ve “.tar.bz2” arşivlerine uygulanamaz.

6. Arşiv Boyutunu Kontrol Etme

Bir arşiv dosyasını oluşturduktan sonra boyutunu KB (Kilobayt) cinsinden kontrol edebiliriz. Aşağıdaki komutları kullanarak boyutu kontrol edebilirsiniz.

tar -czf - ornekArsiv.tar | wc -c
tar -czf - ornekArsiv.tar.gz | wc -c
tar -czf - ornekArsiv.tar.bz2 | wc -c

tar Kullanım Alanları

Tar aracı birçok farklı kullanım alanı için idealdir. İnternet’teki dosya paylaşımı sitelerinde, büyük dosyaları sıkıştırmak ve daha hızlı bir şekilde transfer etmek için kullanılır. Yedekleme işlemleri için de kullanılabilir. Bir veritabanı yedeği almak için, veritabanı dosyası tar aracı kullanılarak arşivlenir ve daha sonra yedek olarak saklanır.

Tar ve Gzip Arasındaki Farklar Nelerdir?

İşlevleri: Tar, birden fazla dosya ve klasörü bir arşiv dosyasında birleştirirken, gzip, tek bir dosyayı sıkıştırmak için kullanılır.

Sıkıştırma: Tar, dosyaları sıkıştırmak için özel bir algoritma kullanmaz, sadece dosyaları bir arşivde birleştirir. Gzip ise, dosyaları sıkıştırmak için Lempel-Ziv algoritmasını kullanır.

Kullanım: Tar, genellikle dosyaların yedeklenmesi veya taşınması için kullanılırken, gzip, dosyaların daha küçük boyutlara sıkıştırılması için kullanılır.

Dosya boyutu: Tar, arşiv dosyası oluşturmak için dosyaları birleştirir ve boyutu oldukça büyük olabilir. Gzip, dosyaları sıkıştırarak boyutunu azaltır ve daha küçük boyutlu dosyalar oluşturur.

İşlem hızı: Tar, büyük dosyaları bir arşivde birleştirdiği için, işlem hızı bazen yavaş olabilir. Gzip ise, dosyaların sıkıştırılması nedeniyle daha hızlı işlem yapabilir.

Dosya yapıları: Tar, dosyaların ve klasörlerin tam yollarını ve izinlerini korurken, gzip sadece tek bir dosyayı sıkıştırır ve dosya yapısını korumaz.

Bu nedenlerden dolayı, tar ve gzip farklı işlevlere sahip olup, farklı durumlar için farklı senaryolarda kullanılırlar. Tar, dosyaları bir arşiv dosyasında birleştirmek için kullanılırken, gzip, tek bir dosyayı sıkıştırmak için kullanılır.

Linux içinde yayınlandıEtiketler:
Bir yorum yaz