Unix komut satırında nasıl zip/unzip yapabilirim?

Komut satırından zip arşivlerini nasıl oluşturabilir ve çıkarabilirim?

Tipik olarak sıkıştırılmamış bir arşiv oluşturmak için tar ve bu arşivi sıkıştırmak için gzip veya bzip2 kullanılır. İlgili gunzip ve bunzip2 komutları söz konusu arşivin sıkıştırmasını açmak için kullanılabilir veya sıkıştırmayı açmak için sadece tar komutundaki bayrakları kullanabilirsiniz.

Eğer özellikle Zip dosya formatına atıfta bulunuyorsanız, basitçe zip ve unzip komutlarını kullanabilirsiniz.

Sıkıştırmak için:

zip squash.zip file1 file2 file3

veya bir dizini sıkıştırmak için

zip -r squash.zip dir1

Sıkıştırmayı açmak için:

unzip squash.zip

bu, geçerli çalışma dizininize açar.

Yorumlar (6)

UNIX türevleri altında sıkıştırma ve açmanın gerçekten çok sayıda farklı yolu vardır, bu nedenle "zip" ifadesini özel bir dosya biçiminden ziyade genel anlamda kullandığınızı varsayıyorum.

GNU tar programı ile dosyaları sıkıştırabilirsiniz (sıkıştırılmış formatta):

tar -zcvf myfile.tgz .

bu da geçerli dizini yapacaktır. Başka bir şey istiyorsanız . yerine başka dosya adları yazın.

Bu dosyayı açmak için şunu kullanın:

tar -zxvf myfile.tgz

Tabii ki bu, dosyaları tek bir dosyada birleştirmenin yanı sıra sıkıştırma işlemini de yapabilen bir tara sahip olduğunuzu varsayar.

Eğer yoksa, sıkıştırma için tar cvf ardından gzip (yine varsa) ve gunzip ardından tar xvf kullanabilirsiniz.


ZIP formatındaki dosyaların özel kullanımı için 7zip indirmenizi ve bunu kullanmanızı tavsiye ederim - ZIP de dahil olmak üzere çok çeşitli dosya formatlarını tanır.

Yorumlar (5)

En standart cevap pax'dir ve cpio ve tar'e göre tavsiye edilir.

cpiove POSIXtardan farklı olarak, ancak GNUtargibi,paxhem dosyaları arşivleyebilir hem de arşivi sıkıştırabilir. Bu davranış, her dosyayı arşive koymadan önce sıkıştıran [zip`]4'ten farklıdır.

Yorumlar (2)