Linux zip Komutu: Gelişmiş Kullanım Rehberi

Linux’ta zip komutu, dosya ve dizinleri .zip formatında sıkıştırmak için kullanılan güçlü bir araçtır. Basit dosya sıkıştırmanın ötesinde, parola koruması, sıkıştırma seviyesini ayarlama, çok parçalı arşiv oluşturma, mevcut arşive dosya ekleme ve dosyaları hariç tutma gibi gelişmiş yetenekler sunar.

Bu rehber, temel kullanımı zaten bilen ancak daha derin özellikleri keşfetmek isteyen ileri düzey kullanıcılar için hazırlanmıştır.

Sıkıştırma Seviyesini Belirleme

zip komutunda sıkıştırma seviyesi 0 ile 9 arasında belirlenir.

  • -0 : Sıkıştırma yapmaz, sadece arşivler (çok hızlı, büyük boyutlu).
  • -9 : En yüksek sıkıştırma (yavaş, ama küçük boyutlu).
zip -9 yedek.zip *.txt

Açıklama: Bulunduğunuz dizindeki tüm .txt dosyalarını maksimum sıkıştırma ile yedek.zip dosyasına ekler.

Parola ile Koruma

Arşivinize parola ekleyerek dosyaları şifreleyebilirsiniz.

zip -e gizli_arsiv.zip rapor.docx finans.xlsx

Açıklama: Komut çalışınca sizden parola isteyecek. Bu parola olmadan arşiv açılamaz.

Dosyaları ve klasörleri sıkıştırma

Bulunduğunuz klasörün içindeki tüm dosyası ve klasörleri sıkıştırabilirsiniz.

zip . -r arsiz.zip

-r parametresini bulunduğunuz klasördeki tüm dosyaları, klasörleri ve alt klasörleri arşivlemek için kullanın

Belirli Dosya ve Klasörleri Hariç Tutma

-x parametresi ile sıkıştırmaya dahil etmek istemediğiniz dosya veya dizinleri belirtebilirsiniz.

zip -r proje.zip proje_dizini -x "*.log" "gecici/*"

Açıklama: proje_dizini içindeki tüm dosyaları sıkıştırır, ancak .log uzantılı dosyalar ve gecici klasörünü hariç tutar.

Mevcut Arşive Dosya Ekleme veya Güncelleme

zip komutu mevcut arşive yeni dosyalar ekleyebilir veya mevcut dosyaları güncelleyebilir.

zip raporlar.zip yeni_rapor.pdf

Açıklama: Eğer raporlar.zip varsa, yeni_rapor.pdf dosyasını ekler. Varsa günceller, yoksa arşive ekler.

Çok Parçalı (Split) Zip Arşivleri

Büyük dosyaları belirli boyutlarda parçalara ayırabilirsiniz.

zip -s 100m buyuk_dosya.zip buyuk_veri.iso

Açıklama: buyuk_veri.iso dosyasını 100 MB’lık parçalar halinde buyuk_dosya.z01, buyuk_dosya.z02… ve buyuk_dosya.zip olarak böler.

Yalnızca Değişen Dosyaları Sıkıştırma

-u parametresi ile arşivdeki dosyaların sadece değişenlerini güncelleyebilirsiniz.

zip -u proje.zip src/*.c

Açıklama: src klasöründeki .c dosyalarından sadece sonradan değişmiş olanlar arşive eklenir.

Belirli Dosya Listesi ile Sıkıştırma

Bir dosya listesi oluşturup zip komutuna verebilirsiniz.

zip yedek.zip -@ < dosyalar_listesi.txt

Açıklama: dosyalar_listesi.txt içinde her satırda bir dosya yolu bulunur. Bu listeye göre sıkıştırma yapılır.

Arşivden Dosya Silme

Arşivden belirli dosyaları silmek için -d parametresini kullanabilirsiniz.

zip -d proje.zip eski_rapor.docx

Açıklama: proje.zip içinden eski_rapor.docx dosyasını siler.

Yedekleme İçin Tarih Filtresi ile Sıkıştırma

find komutu ile birlikte kullanarak belirli tarihten sonra değişmiş dosyaları sıkıştırabilirsiniz.

find /proje -type f -mtime -7 | zip haftalik_yedek.zip -@

Açıklama: Son 7 gün içinde değişmiş dosyaları bulur ve haftalik_yedek.zip arşivine ekler.

Yorum Ekleyerek Arşivleme

Arşive açıklama (comment) eklemek için -z parametresini kullanabilirsiniz.

zip -r proje.zip proje_dizini -z


Açıklama: Komut sonunda sizden yorum girmenizi ister. Bu yorum arşiv bilgilerine eklenir.

zip komutu, Linux’ta yalnızca dosyaları sıkıştırmakla kalmaz; parola koruma, çok parçalı arşivler, filtreleme, güncelleme gibi gelişmiş özellikleriyle yedekleme ve arşivleme süreçlerinde esnek çözümler sunar.

İleri düzey kullanım ile birlikte otomasyon betiklerinde zip komutunu find, tar, rsync gibi araçlarla entegre ederek güçlü arşivleme sistemleri kurabilirsiniz.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir