Bagaimana cara zip/unzip pada unix command line?

Bagaimana saya dapat membuat dan mengekstrak arsip zip dari command line?

Mengomentari pertanyaan (3)

Biasanya seseorang menggunakan tar untuk membuat arsip terkompresi dan baik gzip atau bzip2 untuk kompres bahwa arsip. Sesuai gunzip dan bunzip2 perintah-perintah yang dapat digunakan untuk uncompress mengatakan, arsip, atau anda hanya dapat menggunakan bendera di tar perintah untuk melakukan uncompression.

Jika anda merujuk secara khusus untuk Zip file format, anda hanya dapat menggunakan zip dan unzip perintah.

Untuk kompres:

zip squash.zip file1 file2 file3

atau zip direktori

zip -r squash.zip dir1

Untuk uncompress:

unzip squash.zip

ini membuka ritsleting di direktori kerja anda saat ini.

Komentar (6)

Ada yang benar-benar luas * berbagai cara untuk compress dan uncompress di bawah UNIX derivatif jadi saya'm akan menganggap anda berarti "zip" dalam pengertian generik daripada spesifik* format file.

Anda dapat zip file hingga (dalam format terkompresi) dengan GNU tar program:

tar -zcvf myfile.tgz .

yang akan dilakukan direktori saat ini. Ganti . dengan nama file lain jika anda ingin sesuatu yang lain.

Untuk unzip file tersebut, gunakan:

tar -zxvf myfile.tgz

Yang's tentu saja dengan asumsi bahwa anda memiliki tar yang mampu melakukan kompresi serta menggabungkan file ke dalam satu.

Jika tidak, anda hanya dapat menggunakan tar cvf diikuti oleh gzip (sekali lagi, jika tersedia) untuk kompresi dan gunzip diikuti oleh tar xvf.


Untuk penanganan khusus dari format ZIP files, saya akan merekomendasikan untuk men-download 7zip dan menggunakan itu - itu mengakui besar berbagai format file, termasuk POS satu.

Komentar (5)

Jika anda don't memiliki zip dan unzip paket-paket yang diinstal dan anda memiliki java, anda dapat menggunakan jar untuk unzip:

jar -xf file.zip
Komentar (2)

Nah, ketika datang untuk mendistribusikan file untuk berbagai sistem operasi, aku'd merekomendasikan 7-zip.

Biasanya dalam paket p7zip, anda'll mendapatkan 7z dan 7za perintah, dengan mana anda dapat membuat anda sendiri 7z arsip.

7za juga dapat mengurangi tekanan standar (pkzip) arsip zip (dan membuat mereka juga dengan -tzip switch).

Mengompresi:

7za a archive.7z file1 file2 directory/

Dekompresi:

7za x archive.7z

Hal ini juga dapat membuat self-extracting arsip dengan sfx switch:

7za a -sfx archive.exe files1 file2 dir

Saya merekomendasikan metode ini dalam kasus pengguna Windows dapat't terbuka 7z arsip (dalam kasus anda ingin saran alat untuk itu: PeaZip).

Jika anda ingin menggunakan algoritma kompresi dengan tarball, gunakan -J switch dengan tar:

tar cJf archive.tar.xz file1 file2 dir

xz adalah UNIX alat, yang menggunakan LZMA2 untuk kompresi, tetapi bekerja dengan cara yang gz, bz2, dll bekerja. Bahkan bekerja sebagai filter.

7z doesn't membuat arsip dengan penuh filesystem informasi pada UNIX, sehingga anda'd perlu menggunakan tar sebelum menggunakan 7z (tapi sejak 7z toko-toko lain informasi tentang tar file, saya'd sarankan menggunakan xz, seperti yang dirancang untuk itu):

tar cf - file1 file2 dir | 7za z -si archive.tar.7z
Komentar (1)
unzip <Filename>

dan

zip -r archive.zip <Filename> [filename]

Anda'll perlu memastikan bahwa perintah-perintah tersebut dipasang melalui manajer paket anda. It's tidak lebih sulit daripada menggunakan apa-apa lagi pada baris perintah. It's pasti lebih sederhana daripada membuat arsip dengan tar.

Komentar (1)

BSD Tar juga dapat melakukan hal ini

bsdtar acf bravo.zip alfa.jpg

Atau:

bsdtar xf bravo.zip
Komentar (1)

Yang paling standar jawabannya adalah orang, yang dianjurkan lebih dari cpio dan tar.

Tidak seperti cpio dan POSIX tar, tapi seperti GNU tar, orang mampu kedua file arsip dan kompres arsip. Perilaku ini berbeda dari zip, yang kompres setiap file sebelum memasukkannya ke dalam arsip.

Komentar (2)

Ini hanya mencakup ekstraksi.

Untuk itu, saya've mulai menggunakan dtrx.

Inti dari itu adalah untuk menghapus kompleksitas. Jadi anda hanya lulus dalam setiap arsip untuk itu dan itu angka apa yang harus dilakukan dengan itu. Zip, tar, gz... Gunakan selalu sama — dtrx archive.zip. Ia meminta beberapa pertanyaan dan anda'kembali dilakukan.

dtrx ini tersedia di repositori, agar anda dapat apt|yum menginstalnya.

Komentar (0)

Saya sering menemukan diri saya mencoba untuk zip file yang diubah dalam pekerjaan saya directory-baik untuk menyalin semua file yang telah dimodifikasi lain sandbox kerja directory atau untuk menjaga mereka untuk sementara waktu karena saya ingin membatalkan beberapa perubahan.

Dalam hal ini, saya copy daftar file diubah ke file sementara dan menggunakan zip dengan opsi -@.

Let's mengatakan saya memodifikasi file Foo.jam, Bar.cc, dan TestBar.cc.

Let's mengatakan saya membuat sebuah file yang disebut modified-files.txt yang isinya adalah:

Foo.h
Bar.cc
TestBar.cc

Saya jalankan perintah berikut untuk zip file-file tersebut:

cat modified-files.txt | zip modified-files.zip -@
Komentar (0)