Bagaimana saya bisa membuat dan mengekstrak arsip zip dari baris perintah?
Bagaimana saya bisa membuat dan mengekstrak arsip zip dari baris perintah?
Jawaban:
Biasanya orang menggunakan taruntuk membuat arsip yang tidak terkompresi dan salah satu gzipatau bzip2untuk mengompresi arsip itu. Perintah yang sesuai gunzipdan bunzip2dapat digunakan untuk mengompres arsip tersebut, atau Anda bisa menggunakan flag pada tarperintah untuk melakukan uncompression.
Jika Anda merujuk secara khusus ke format file Zip , Anda cukup menggunakan perintah zipdan unzip.
Untuk kompres:
zip squash.zip file1 file2 file3
atau untuk zip direktori
zip -r squash.zip dir1
Untuk membuka kompresi:
unzip squash.zip
ini membuka ritsletingnya di direktori kerja Anda saat ini.
zip -r9 archive.zip files...sintaks (-r = rekursif -9 = kompresi maks).
zipdapat 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.zipuntuk 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 tarprogram GNU :
tar -zcvf myfile.tgz .
yang akan melakukan direktori saat ini. Ganti .dengan nama file lain jika Anda menginginkan sesuatu yang lain.
Untuk membuka zip file itu, gunakan:
tar -zxvf myfile.tgz
Itu tentu saja dengan asumsi bahwa Anda memiliki tarkemampuan melakukan kompresi serta menggabungkan file menjadi satu.
Jika tidak, Anda bisa menggunakan tar cvfdiikuti oleh gzip(lagi, jika tersedia) untuk kompresi dan gunzipdiikuti oleh tar xvf.
Untuk penanganan spesifik format file ZIP, saya akan merekomendasikan download 7zipdan menggunakan itu - itu mengakui besar berbagai format file, termasuk satu ZIP.
tar jcvf file.tar.bz2...untuk kompres dalam format bzip2 atau tar Jcvf file.tar.xz ...untuk kompresi xz.
Nah, ketika datang untuk mendistribusikan file untuk berbagai sistem operasi, saya akan merekomendasikan 7-zip .
Biasanya dalam paket p7zip, Anda akan mendapatkan perintah 7zdan 7za, dengan mana Anda dapat membuat arsip 7z Anda sendiri.
7zajuga dapat mendekompresi arsip zip standar ( pkzip ) (dan membuatnya juga dengan -tzipsakelar).
Mengkompresi:
7za a archive.7z file1 file2 directory/
Dekompresi:
7za x archive.7z
Itu juga dapat membuat arsip yang mengekstraksi sendiri dengan -sfxsakelar:
7za a -sfx archive.exe files1 file2 dir
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 -Jsakelar dengan tar:
tar cJf archive.tar.xz file1 file2 dir
xzadalah alat UNIX, yang menggunakan LZMA2 untuk kompresi, tetapi bekerja jalan gz, bz2, dll bekerja. Bahkan berfungsi sebagai filter.
7z tidak membuat arsip dengan informasi sistem file lengkap di UNIX, jadi Anda harus menggunakan tarsebelum menggunakan 7z (tapi karena 7z menyimpan informasi lain tentang tarfile, saya sarankan menggunakan xz, karena dirancang untuk itu):
tar cf - file1 file2 dir | 7za z -si archive.tar.7z
atool, ini adalah alat kecil yang bagus yang membuat menggunakan banyak kompresor berbeda menjadi lebih nyaman. Mengikat bahwa untuk adan menciptakan sebuah arsip menjadi a arc.7z folder/atau penggalian sederhanaa arc.7z
unzip <filename>
dan
zip -r archive.zip <filename> [filename]
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.
BSD Tar juga dapat melakukan ini
bsdtar acf bravo.zip alfa.jpg
Atau:
bsdtar xf bravo.zip
tarmemiliki manfaat mendukung beberapa format kompresi tambahan dibandingkan dengan GNU tardan lainnya tar. Manfaat terbesar adalah, mungkin, bahwa ia melakukannya saat menggunakan tarsintaks seperti . Anda pasti bisa menggunakan 7z, unrar, unzip, dll dari commandline, tetapi mereka menggunakan berbeda sintaks.
Jawaban paling standar adalah pax, yang direkomendasikan lebih dari cpiodan tar.
Tidak seperti cpiodan POSIX tar, tetapi seperti GNU tar, paxdapat mengarsipkan file dan mengompresi arsip. Perilaku ini berbeda dari zip, yang memampatkan setiap file sebelum memasukkannya ke dalam arsip.
paxmendukung arsip zip?
paxarsip!
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.
dtrxtersedia di sebagian besar repositori, jadi Anda dapat apt| yumpasang itu.
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 zipdengan opsi -@.
Katakanlah saya memodifikasi file Foo.h, Bar.cc, dan TestBar.cc.
Katakanlah saya membuat file bernama modified-files.txt yang isinya:
Foo.h
Bar.cc
TestBar.cc
Saya menjalankan perintah berikut untuk zip file-file itu:
cat modified-files.txt | zip modified-files.zip -@