Zip arşivlerini komut satırından nasıl oluşturabilir ve çıkarabilirim?
Zip arşivlerini komut satırından nasıl oluşturabilir ve çıkarabilirim?
Yanıtlar:
Tipik olarak bir kullanan tarsıkıştırılmamış arşiv ve ya oluşturmak için gzipya da bzip2bu arşiv sıkıştırmak. Karşılık gelen gunzipve bunzip2komutları bahsedilen arşivi açmak için kullanılabilir, ya da sadece taraçma işlemini gerçekleştirmek için komuttaki bayrakları kullanabilirsiniz .
Özellikle Zip dosyası biçimini kastediyorsanız , basitçe zipve unzipkomutları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ırmak için:
unzip squash.zip
bu, geçerli çalışma dizininizdeki dosyayı açar.
zip -r9 archive.zip files...sözdizimini kullanırım (-r = özyinelemeli -9 = maksimum sıkıştırma).
zip.ZIP arşivlerinin birçok farklı tadı olabilir, ayrıca birçok farklı kompresör kullanabilirsiniz. Öte yandan, aynı şekilde adlandırılan diğer birçok sıkıştırma aracı vardır: 7-Zip, gzip, bzip2, rzip, vb. Değiştirilemez.
cd dir1; zip -r ../squash.zip *
unzip -d myfolder squash.zipayrı bir yeni dizine ( myfolder) çıkarmak için kullanın; bu, zip dosyası üst düzeyde birçok dosya ve dizin içeriyorsa can sıkıcı olabilir. Bu, çoğu UI çözme aracının nasıl çalıştığını taklit eder.
UNIX türevleri altında sıkıştırıp açmanın gerçekten çok sayıda farklı yolu vardır, bu yüzden belirli bir dosya biçiminden ziyade genel anlamda "zip" demek istediğinizi varsayacağım .
Dosyaları GNU tarprogramı ile (sıkıştırılmış biçimde) sıkıştırabilirsiniz :
tar -zcvf myfile.tgz .
Bu geçerli dizini yapacak. .Başka bir şey istiyorsanız, diğer dosya adları ile değiştirin .
Bu dosyayı açmak için aşağıdakileri kullanın:
tar -zxvf myfile.tgz
Elbette bu tar, dosyaları bir arada bir arada kullanmanın yanı sıra sıkıştırma işlemini de yapabilme yeteneğine sahip olduğunuzu varsayar .
Eğer değilse, sadece sıkıştırma için tar cvfardından gzip(eğer varsa) ve gunzipardından kullanabilirsiniz tar xvf.
ZIP formatındaki dosyaların özel kullanımı için, indirmenizi 7zipve kullanmanızı öneririm - ZIP formatı da dahil olmak üzere çok çeşitli dosya formatlarını tanır .
tar jcvf file.tar.bz2...bzip2 formatında veya tar Jcvf file.tar.xz ...xz sıkıştırmasında sıkıştırmak için kullanın.
Eğer zip ve zip paketlerini kurmamışsanız ve java'nız varsa, açmak için kullanabilirsiniz jar:
jar -xf file.zip
Eh, çeşitli işletim sistemleri için dosya dağıtımı söz konusu olduğunda, 7-zip öneriyoruz .
Genellikle pakette p7zip, kendi 7z arşivlerinizi oluşturabileceğiniz 7zve 7zakomutunu alacaksınız .
7zaayrıca standart ( pkzip ) zip arşivlerini de açabilir (ve bunları -tzipanahtarla da oluşturabilirsiniz).
Sıkıştırma:
7za a archive.7z file1 file2 directory/
Açma:
7za x archive.7z
Ayrıca, -sfxanahtarla kendiliğinden açılan arşivler oluşturabilir :
7za a -sfx archive.exe files1 file2 dir
Windows kullanıcılarının 7z arşivi açamayacağı durumlarda bu yöntemi öneririm (bunun için bir araç önermek istemeniz durumunda: PeaZip ).
Tarball'larınızla aynı sıkıştırma algoritmasını kullanmak istiyorsanız, -Janahtarı kullanın tar:
tar cJf archive.tar.xz file1 file2 dir
xzsıkıştırma için LZMA2 kullanan, ancak çalışan , vb gz, çalışan bir UNIX aracıdır bz2. Hatta filtre olarak çalışır.
7z, UNIX'te tam dosya sistemi bilgisine sahip arşivler oluşturmaz, bu nedenle tar7z'yi kullanmadan önce kullanmanız gerekir (ancak 7z tardosyayla ilgili diğer bilgileri depoladığından xz, bunun için tasarlandığı gibi kullanmanızı öneririm ):
tar cf - file1 file2 dir | 7za z -si archive.tar.7z
atool, bu birçok farklı kompresörü daha rahat kullanmayı kolaylaştıran küçük bir araçtır. Bunu bağlamak ave bir arşiv oluşturmak a arc.7z folder/basit bir hale gelir veya a arc.7z
unzip <filename>
ve
zip -r archive.zip <filename> [filename]
Bu komutların paket yöneticiniz tarafından yüklendiğinden emin olmanız gerekir. Komut satırında başka bir şey kullanmaktan daha zor değil. Tar ile arşiv oluşturmaktan kesinlikle daha basit.
BSD Tar da bunu yapabilir
bsdtar acf bravo.zip alfa.jpg
Veya:
bsdtar xf bravo.zip
tar, GNU tarve diğerlerine kıyasla birkaç ek sıkıştırma formatını destekleme avantajına sahiptir tar. En büyük yarar, belki de, bunun gibi bir sözdizimi kullanırken taryapmasıdır . Mutlaka kullanabilirsiniz 7z, unrar, unzipkomut ile, vs, ama onlar kullanmak farklı bir sözdizimi.
En standart cevap paxüzerine tavsiye edilir, hangi cpiove tar.
cpioVe POSIX'in aksine tar, ancak GNU gibi tar, paxhem dosyaları arşivleyebilir hem de arşivi sıkıştırabilir. Bu davranış, zipher dosyayı arşive koymadan önce sıkıştıran davranıştan farklıdır .
paxZip arşivlerini destekliyor mu ?
paxarşivleri de desteklemiyor !
Bu sadece çıkarımı kapsar.
Bunun için kullanmaya başladım dtrx.
Bunun amacı, karmaşıklığı ortadan kaldırmak. Böylece sadece herhangi bir arşive geçersiniz ve ne yapılması gerektiğini çözer. Zip, tar, gz ... Kullanımı her zaman aynıdır - dtrx archive.zip. Birkaç soru sorar ve bitirdiniz.
dtrxçoğu depoda bulunur, böylece apt| yumyükle.
Kendimi sık sık iş dizinimde değiştirilen dosyaları sıkıştırmaya çalışırken buluyorum - ya değiştirilen tüm dosyaları başka bir sanal alan çalışma dizinine kopyalamak ya da kısa bir süre için onları korumak için çünkü bazı değişiklikleri geri almak istiyorum.
Bu durumda, değiştirilen dosyaların listesini geçici bir dosyaya kopyalarım ve zipbu seçenekle birlikte kullanırım -@.
Foo.h, Bar.cc ve TestBar.cc dosyalarını değiştirdiğimi varsayalım.
Diyelim ki içeriği: modified-files.txt adlı bir dosya oluşturduğumda:
Foo.h
Bar.cc
TestBar.cc
Bu dosyaları sıkıştırmak için aşağıdaki komutu çalıştırıyorum:
cat modified-files.txt | zip modified-files.zip -@