File ZIP banyak digunakan di Windows, macOS, dan Linux sistem, menjadikannya bentuk arsip terkompresi yang paling umum. Untuk mengekstrak file (atau folder) di Linux, jalankan: zip zipname files_to_be_zippedUntuk mengekstrak file dari ZIP, jalankan: unzip zipname
File ZIP adalah arsip universal yang biasa digunakan pada sistem Windows, macOS, dan bahkan Linux. Anda dapat membuat arsip zip atau mengekstrak file dari satu file dengan beberapa perintah terminal Linux yang umum.
Format File Arsip Terkompresi ZIP
Berkat dominasi format ZIP di ranah Windows, file ZIP mungkin merupakan bentuk arsip terkompresi yang paling umum di dunia world.
Meskipun file .tar.gz dan tar.bz2 umum di Linux, pengguna Windows mungkin akan mengirimi Anda arsip dalam format ZIP. Dan, jika Anda ingin mengarsipkan beberapa file dan mengirimkannya ke pengguna Windows, format ZIP akan menjadi solusi termudah dan paling kompatibel untuk semua orang.
zip, unzip, dan Utilitas Lainnya
Anda mungkin sudah mengetahui bahwa sistem operasi mirip Linux dan Unix seperti macOS memiliki alat yang memungkinkan Anda membuat file ZIP dan mengekstrak file darinya, yang disebut zip dan unzip. Namun ada seluruh rangkaian utilitas terkait seperti zipcloak, zipdetails, zipsplit, dan zipinfo.
Kami memeriksa beberapa distribusi Linux untuk melihat apakah mereka menyertakan utilitas ini dalam instalasi standar. Semua utilitas ada di Ubuntu 23.04, 19.04, 18.10, dan 18.04. Mereka juga hadir di Manjaro 18.04. Fedora 29 menyertakan zip dan unzip, tetapi tidak ada utilitas lain dan hal tersebut juga berlaku untuk CentOS.
Untuk menginstal elemen yang hilang di Fedora 29, gunakan perintah berikut:
sudo dnf install perl-IO-Compress
Untuk menginstal elemen yang hilang di CentOS 7, gunakan perintah berikut:
sudo yum install perl-IO-Compress
Jika ada utilitas zip yang hilang dari distribusi Linux yang tidak disebutkan di atas, gunakan alat manajemen paket distribusi Linux tersebut untuk menginstal paket yang diperlukan.
Cara Membuat File ZIP dengan perintah zip
Untuk membuat file ZIP, Anda perlu memberi tahu zip nama file arsip dan file mana yang akan disertakan di dalamnya. Anda tidak perlu menambahkan ekstensi ".zip" pada nama arsip, namun tidak ada salahnya jika Anda melakukannya.
Untuk membuat file bernama source_code.zip yang berisi semua file kode sumber C dan file header di direktori saat ini, Anda akan menggunakan perintah ini:
zip source_code *.c *.h
Setiap file terdaftar saat ditambahkan. Nama file dan jumlah kompresi yang dicapai pada file tersebut ditampilkan.
Jika Anda melihat arsip ZIP baru, Anda dapat melihat bahwa ekstensi file ".zip" telah ditambahkan secara otomatis oleh zip.
ls -l source_code .zip
Jika Anda tidak ingin melihat output dari zip saat file ZIP dibuat, gunakan opsi -q (quiet).
zip -q source_code *.c *.h
Menyertakan Direktori dalam File ZIP
Untuk menyertakan subdirektori dalam ZIP file, gunakan opsi -r (rekursif) dan sertakan nama subdirektori pada baris perintah. Untuk membuat file ZIP seperti sebelumnya dan juga menyertakan subdirektori arsip, gunakan perintah ini.
zip -r -q source_code archive/ *.c *.h
Untuk memperhatikan orang yang akan mengekstrak file dari file ZIP Anda Saat sedang berkreasi, sering kali lebih sopan jika membuat file ZIP dengan file di dalamnya terdapat dalam sebuah direktori. Ketika orang yang menerima file ZIP mengekstraknya, semua file ditempatkan dengan rapi dalam direktori di komputernya.
Dalam perintah berikut, kita akan mengarsipkan direktori kerja dan semua subdirektori. Perhatikan bahwa perintah ini dikeluarkan dari direktori induk folder kerja.
zip -r -q source_code work/
Mengatur Tingkat Kompresi
Anda dapat mengatur berapa banyak kompresi yang diterapkan pada file saat ditambahkan ke arsip ZIP. Kisarannya adalah dari 0 hingga 9, dengan 0 berarti tidak ada kompresi sama sekali. Semakin tinggi kompresinya, semakin lama waktu yang dibutuhkan untuk membuat file ZIP. Untuk file ZIP berukuran sedang, perbedaan waktu bukanlah penalti yang signifikan. Namun, untuk file ZIP berukuran sedang, kompresi default (level 6) mungkin sudah cukup baik.
Untuk membuat zip menggunakan tingkat kompresi tertentu, berikan nomor tersebut sebagai opsi pada baris perintah, dengan "-", seperti ini:
zip -0 -r -q source_code work/
Tingkat kompresi default adalah 6. Tidak perlu memberikan opsi -6, tetapi tidak ada salahnya jika Anda melakukannya.
zip -r -q source_code work/
The tingkat kompresi maksimum adalah level 9.
zip -9 -r -q source_code work/
Dengan pilihan file dan direktori yang diarsipkan di sini, perbedaan antara tanpa kompresi (level 0) dan kompresi default (level 6) adalah 400K. Perbedaan antara kompresi default dan tingkat kompresi tertinggi (level 9) hanya 4K.
Itu mungkin tidak terlihat banyak, tetapi untuk arsip yang berisi ratusan atau bahkan ribuan file, jumlah kecil kompresi tambahan per file akan bertambah hingga a menghemat ruang yang bermanfaat.
Menambahkan Kata Sandi ke File ZIP
Menambahkan kata sandi ke file ZIP itu mudah. Gunakan opsi -e (enkripsi) dan Anda akan diminta memasukkan kata sandi dan memasukkannya kembali untuk verifikasi.
zip -e -r -q source_code work/
Cara Unzip File ZIP Dengan Perintah unzip
Untuk mengekstrak file dari file ZIP, gunakan perintah unzip, dan berikan nama file ZIP. Perhatikan bahwa Anda perlu menyediakan ekstensi ".zip".
unzip source_code.zip
Saat file diekstraksi, file tersebut akan dicantumkan di jendela terminal.
ZIP file tidak membawa rincian kepemilikan file. Semua file yang diekstraksi memiliki pemilik yang ditetapkan ke pengguna yang mengekstraknya.
Sama seperti zip, unzip memiliki opsi -q (tenang), sehingga Anda tidak perlu melihat daftar file saat file diekstraksi.
unzip -q source_code.zip
Mengekstraksi File ke Direktori Target
Untuk mengekstrak file di direktori tertentu, gunakan opsi -d (direktori), dan berikan jalur ke direktori tempat Anda ingin mengekstrak arsip.
unzip -q source_code .zip -d ./development
Extract File ZIP yang Dilindungi Kata Sandi
Jika file ZIP telah dibuat dengan kata sandi, unzip akan menanyakan kata sandi Anda. Jika Anda tidak memberikan kata sandi yang benar, unzip tidak akan mengekstrak file.
unzip -q source_code.zip
Jika Anda tidak peduli kata sandi Anda dilihat oleh orang lain---atau disimpan dalam riwayat perintah Anda---Anda dapat memberikan kata sandi pada baris perintah dengan opsi -P (kata sandi). (Anda harus menggunakan huruf kapital "P.")
unzip -P lima puluh.treacle.cutlass -q source_code.zip
Mengecualikan File
Jika Anda tidak ingin mengekstrak file atau grup file tertentu, gunakan opsi -x (kecualikan). Dalam contoh ini, kami ingin mengekstrak semua file selain yang diakhiri dengan ekstensi ".h".
unzip -q source_code.zip -x *.h
Overwriting Files
Misalkan Anda telah mengekstrak arsip tetapi Anda telah menghapus beberapa di antaranya mengekstrak file secara tidak sengaja.
Perbaikan cepat untuk itu adalah dengan mengekstrak file sekali lagi. Tetapi jika Anda mencoba mengekstrak file ZIP di direktori yang sama seperti sebelumnya, unzip akan meminta Anda mengambil keputusan untuk menimpa file tersebut. Ini akan mengharapkan salah satu dari respons berikut.
Selain respons r (ganti nama), respons ini peka huruf besar/kecil.
y: Ya, timpa file ini n: Tidak, jangan timpa file ini A: Semua, timpa semua file N: Tidak ada, tidak ada timpa file apa pun r: Ganti nama, ekstrak file ini tetapi beri nama baru. Anda akan dimintai nama baru.
Untuk memaksa unzip untuk menimpa file yang ada, gunakan opsi -o (timpa).
unzip -o -q source_code.zip
Cara paling efisien untuk mengganti file yang hilang adalah dengan membuka zip hanya mengekstrak file apa pun di arsip yang tidak ada di dalam direktori sasaran. Untuk melakukannya, gunakan opsi -n (jangan pernah menimpa).
unzip -n source_code.zip
Mencari Di Dalam File ZIP
Sering kali berguna dan memberi pelajaran untuk melihat daftar file di dalam file ZIP sebelum Anda mengekstraknya. Anda dapat melakukan ini dengan opsi -l (daftar arsip). Itu disalurkan melalui less untuk membuat output dapat dikelola.
unzip -l source_code.zip | less
Outputnya menunjukkan direktori dan file dalam file ZIP, panjangnya serta waktu dan tanggal ditambahkan ke arsip. Tekan "q" untuk keluar dari less.
Ada cara lain untuk mengintip ke dalam file ZIP yang memberikan jenis informasi berbeda, seperti yang akan kita lihat.
Tambahkan Kata Sandi Dengan Perintah zipcloak
Jika Anda telah membuat file ZIP tetapi lupa menambahkan kata sandi, apa yang dapat kamu lakukan? Anda dapat dengan cepat menambahkan kata sandi ke file ZIP menggunakan perintah zipcloak. Berikan nama file ZIP pada baris perintah. Anda akan dimintai kata sandi. Anda perlu memverifikasi kata sandi dengan memasukkannya untuk kedua kalinya.
zipcloak source_code.zip
Lihat Detail File Dengan Perintah zipdetails
Perintah zipdetails akan menampilkan banyak informasi mengenai file ZIP. Satu-satunya cara yang masuk akal untuk menangani jumlah keluaran yang dapat diberikan oleh perintah ini adalah dengan menyalurkannya melalui less .
zipdetails source_code.zip | less
Perhatikan bahwa informasi tersebut akan menyertakan nama file meskipun file ZIP dilindungi kata sandi. Jenis informasi ini disimpan dalam file ZIP sebagai meta-data dan bukan bagian dari data terenkripsi.
Pencarian Di Dalam File Dengan Perintah zipgrep
Perintah zipgrep memungkinkan Anda mencari di dalam file dalam file ZIP. Pada contoh berikut, kita ingin mengetahui file mana di dalam file ZIP yang memiliki teks "keyval.h" di dalamnya.
zipgrep keyval.h source_code.zip
Kita dapat melihat bahwa file slang.c dan getval.c berisi string "keyval .h".Kita juga dapat melihat bahwa ada dua salinan dari masing-masing file ini di direktori berbeda di file ZIP.
Lihat Informasi Dengan Perintah zipinfo
Perintah zipinfo memberi Anda cara lain untuk melihat ke dalam file ZIP. Seperti sebelumnya, kita menyalurkan output melalui less.
zipinfo source_code.zip | less
Dari kiri ke kanan output menunjukkan:
Izin file Versi alat yang digunakan untuk membuat file ZIP Ukuran file asli Deskriptor file (dijelaskan di bawah) Metode kompresi (deflasi, dalam hal ini) Data dan stempel waktu nama file dan direktori mana pun
Deskriptor file terdiri dari dua karakter. Karakter pertama adalah "t" atau "b" untuk menunjukkan teks atau file biner. Jika huruf kapital, file dienkripsi. Karakter kedua mungkin salah satu dari empat karakter. Karakter ini mewakili jenis meta-data yang disertakan untuk file ini: tidak ada, header lokal yang diperluas, "bidang tambahan", atau keduanya.
-: Jika tidak ada, karakternya akan berupa tanda hubung l: jika ada header lokal yang diperluas tetapi tidak ada kolom tambahan x: jika tidak ada header lokal yang diperluas tetapi ada kolom tambahan X: jika ada header lokal yang diperluas dan ada kolom tambahan Pisahkan File Dengan Perintah zipsplit
Jika Anda perlu mengirim File ZIP ke orang lain tetapi ada batasan ukuran atau masalah dengan transmisi file, Anda dapat menggunakan perintah zipsplit untuk membagi file ZIP asli menjadi kumpulan file ZIP yang lebih kecil.
Opsi -n (ukuran) memungkinkan Anda untuk mengatur ukuran maksimum untuk setiap file ZIP baru. Dalam contoh ini, kami memisahkan file source_code.zip. Kami tidak ingin ada file ZIP baru yang lebih besar dari 100 KB (102400 bytes).
zipsplit -n 102400 source_code.zip
Ukuran yang Anda pilih tidak boleh lebih kecil dari ukuran file mana pun di file ZIP.
Menggunakan perintah ini, Anda dapat membuat file ZIP Anda sendiri, mengekstrak file ZIP yang Anda terima, dan melakukan berbagai operasi lain pada file tersebut tanpa harus meninggalkan terminal Linux. Perintah
Linux
Files
tar·pv·cat·tac·chmod·grep·diff·sed·ar· man·pushd·popd·fsck·testdisk·seq·fd·pandoc·cd·$PATH·awk·join·jq·fold·uniq·journalctl·tail·stat·ls·fstab·echo·less·chgrp·chown·rev ·lihat·string·ketik·ganti nama·zip·unzip·mount·umount·install·fdisk·mkfs·rm·rmdir·rsync·df·gpg·vi·nano·mkdir·du·ln·patch·convert·rclone·shred ·srm·scp·gzip·chattr·potong·temukan·umask·wc· tr
Proses
alias·layar·atas·bagus·renice·kemajuan·strace·sistemd·tmux·chsh·sejarah·di·batch·gratis·yang·dmesg·chfn ·usermod·ps·chroot·xargs·tty·pinky·lsof·vmstat·timeout·wall·yes·kill·sleep·sudo·su·time·groupadd·usermod·groups·lshw·shutdown·reboot·halt·poweroff·passwd ·lscpu·crontab·date·bg·fg·pidof·nohup·pmap
Networking
netstat·ping·traceroute·ip·ss·whois·fail2ban·bmon·dig·finger·nmap·ftp·curl·wget·who·whoami·w·iptables ·ssh-keygen·ufw·arping·firewalld