Bagaimana saya bisa membuat dan mengekstrak arsip zip dari baris perintah?
command-line
zip
joachim
sumber
sumber
Jawaban:
Biasanya orang menggunakan
tar
untuk membuat arsip yang tidak terkompresi dan salah satugzip
ataubzip2
untuk mengompresi arsip itu. Perintah yang sesuaigunzip
danbunzip2
dapat digunakan untuk mengompres arsip tersebut, atau Anda bisa menggunakan flag padatar
perintah untuk melakukan uncompression.Jika Anda merujuk secara khusus ke format file Zip , Anda cukup menggunakan perintah
zip
danunzip
.Untuk kompres:
atau untuk zip direktori
Untuk membuka kompresi:
ini membuka ritsletingnya di direktori kerja Anda saat ini.
sumber
zip -r9 archive.zip files...
sintaks (-r = rekursif -9 = kompresi maks).zip
dapat membuat berbagai rasa arsip .ZIP, serta menggunakan banyak kompresor yang berbeda. Di sisi lain, ada sejumlah alat kompresi lain yang bernama serupa: 7-Zip, gzip, bzip2, rzip, dll. Yang tidak dapat dipertukarkan.cd dir1; zip -r ../squash.zip *
unzip -d myfolder squash.zip
untuk mengekstrak ke direktori baru yang terpisah (myfolder
) alih-alih menempatkan semua file langsung ke direktori saat ini, yang dapat mengganggu jika file zip berisi banyak file dan direktori di tingkat atas. Ini meniru cara sebagian besar alat unzip UI bekerja.Ada banyak sekali cara berbeda untuk mengompresi dan mengompres di bawah turunan UNIX jadi saya akan menganggap Anda berarti "zip" dalam arti umum daripada format file tertentu .
Anda dapat menyalin file (dalam format terkompresi) dengan
tar
program GNU :yang akan melakukan direktori saat ini. Ganti
.
dengan nama file lain jika Anda menginginkan sesuatu yang lain.Untuk membuka zip file itu, gunakan:
Itu tentu saja dengan asumsi bahwa Anda memiliki
tar
kemampuan melakukan kompresi serta menggabungkan file menjadi satu.Jika tidak, Anda bisa menggunakan
tar cvf
diikuti olehgzip
(lagi, jika tersedia) untuk kompresi dangunzip
diikuti olehtar xvf
.Untuk penanganan spesifik format file ZIP, saya akan merekomendasikan download
7zip
dan menggunakan itu - itu mengakui besar berbagai format file, termasuk satu ZIP.sumber
tar jcvf file.tar.bz2...
untuk kompres dalam format bzip2 atautar Jcvf file.tar.xz ...
untuk kompresi xz.Jika Anda tidak menginstal paket zip dan unzip dan Anda memiliki java, Anda dapat menggunakannya
jar
untuk unzip:sumber
Nah, ketika datang untuk mendistribusikan file untuk berbagai sistem operasi, saya akan merekomendasikan 7-zip .
Biasanya dalam paket
p7zip
, Anda akan mendapatkan perintah7z
dan7za
, dengan mana Anda dapat membuat arsip 7z Anda sendiri.7za
juga dapat mendekompresi arsip zip standar ( pkzip ) (dan membuatnya juga dengan-tzip
sakelar).Mengkompresi:
Dekompresi:
Itu juga dapat membuat arsip yang mengekstraksi sendiri dengan
-sfx
sakelar:Saya merekomendasikan metode ini jika pengguna Windows tidak dapat membuka arsip 7z (jika Anda ingin memberi saran alat untuk itu: PeaZip ).
Jika Anda ingin menggunakan algoritma kompresi yang sama dengan tarball Anda, gunakan
-J
sakelar dengantar
:xz
adalah alat UNIX, yang menggunakan LZMA2 untuk kompresi, tetapi bekerja jalangz
,bz2
, dll bekerja. Bahkan berfungsi sebagai filter.7z tidak membuat arsip dengan informasi sistem file lengkap di UNIX, jadi Anda harus menggunakan
tar
sebelum menggunakan 7z (tapi karena 7z menyimpan informasi lain tentangtar
file, saya sarankan menggunakanxz
, karena dirancang untuk itu):sumber
atool
, ini adalah alat kecil yang bagus yang membuat menggunakan banyak kompresor berbeda menjadi lebih nyaman. Mengikat bahwa untuka
dan menciptakan sebuah arsip menjadia arc.7z folder/
atau penggalian sederhanaa arc.7z
dan
Anda harus memastikan bahwa perintah-perintah ini diinstal melalui manajer paket Anda. Ini tidak lebih sulit daripada menggunakan apa pun di baris perintah. Ini tentu saja lebih sederhana daripada membuat arsip dengan tar.
sumber
BSD Tar juga dapat melakukan ini
Atau:
sumber
tar
memiliki manfaat mendukung beberapa format kompresi tambahan dibandingkan dengan GNUtar
dan lainnyatar
. Manfaat terbesar adalah, mungkin, bahwa ia melakukannya saat menggunakantar
sintaks seperti . Anda pasti bisa menggunakan7z
,unrar
,unzip
, dll dari commandline, tetapi mereka menggunakan berbeda sintaks.Jawaban paling standar adalah
pax
, yang direkomendasikan lebih daricpio
dantar
.Tidak seperti
cpio
dan POSIXtar
, tetapi seperti GNUtar
,pax
dapat mengarsipkan file dan mengompresi arsip. Perilaku ini berbeda darizip
, yang memampatkan setiap file sebelum memasukkannya ke dalam arsip.sumber
pax
mendukung arsip zip?pax
arsip!Ini hanya mencakup ekstraksi.
Untuk itu, saya sudah mulai menggunakannya
dtrx
.Intinya adalah untuk menghapus kompleksitas. Jadi, Anda hanya membagikan arsip apa pun ke sana dan mencari tahu apa yang harus dilakukan dengannya. Zip, tar, gz ... Penggunaan selalu sama -
dtrx archive.zip
. Itu mengajukan beberapa pertanyaan dan Anda selesai.dtrx
tersedia di sebagian besar repositori, jadi Anda dapatapt
|yum
pasang itu.sumber
Saya sering menemukan diri saya mencoba zip file yang dimodifikasi di direktori kerja saya - baik untuk menyalin semua file yang dimodifikasi ke direktori kerja kotak pasir lain atau untuk melestarikannya untuk sementara waktu karena saya ingin membatalkan beberapa perubahan.
Dalam hal ini, saya menyalin daftar file yang diubah ke file sementara dan digunakan
zip
dengan opsi-@
.Katakanlah saya memodifikasi file Foo.h, Bar.cc, dan TestBar.cc.
Katakanlah saya membuat file bernama modified-files.txt yang isinya:
Saya menjalankan perintah berikut untuk zip file-file itu:
sumber