spot_img
16 C
London
spot_img
HomeNewsCara Zip dan Unzip File Dengan Gzip di Linux

Cara Zip dan Unzip File Dengan Gzip di Linux

fatmawati achmad zaenuri/Shutterstock.com

Ada banyak utilitas kompresi file, tetapi yang pasti Anda temukan di setiap distribusi Linux adalah gzip. Jika Anda hanya belajar menggunakan satu alat kompresi, itu seharusnya gzip .

TERKAIT: Bagaimana Cara Kerja Kompresi File?

Algoritma dan Pohon

Itu gzip alat kompresi data ditulis pada awal 1990-an, dan masih ditemukan di setiap distribusi Linux. Ada alat kompresi lain yang tersedia, tetapi tidak peduli komputer Linux mana yang Anda butuhkan untuk bekerja, Anda akan menemukannya gzip di atasnya. Jadi jika Anda tahu cara menggunakannya gzipAnda dapat menggunakannya tanpa perlu menginstal apa pun.

gzip adalah implementasi dari algoritma DEFLATE yang ditemukan—dan dipatenkan—oleh Phil Katz dari PKZIP yang terkenal. Algoritma DEFLATE ditingkatkan pada algoritma kompresi sebelumnya yang semuanya dioperasikan pada variasi tema. Data yang akan dikompresi dipindai, dan string unik diidentifikasi dan ditambahkan ke pohon biner.

String unik dialokasikan token ID unik berdasarkan posisi mereka di pohon. Token digunakan untuk mengganti string dalam data dan, karena token lebih kecil dari data yang diganti, file dikompresi. Mengganti token untuk string asli akan membuat data kembali ke kondisi tidak terkompresi.

Algoritma DEFLATE menambahkan twist bahwa string yang paling sering ditemui dialokasikan token terkecil dan string yang paling jarang ditemui dialokasikan yang lebih besar. Algoritma DEFLATE juga menggabungkan ide dari dua metode kompresi sebelumnya, pengkodean Huffman dan kompresi LZ77.

Pada saat penulisan, algoritma DEFLATE berusia hampir tiga dekade. Tiga dekade lalu biaya penyimpanan data tinggi dan kecepatan transmisi lambat. Kompresi data sangat penting.

Penyimpanan data saat ini jauh lebih murah, dan kecepatan transmisi jauh lebih cepat. Tetapi kami memiliki lebih banyak data untuk disimpan, dan orang-orang di seluruh dunia mengakses penyimpanan cloud dan layanan streaming. Kompresi data masih sangat penting penting, bahkan jika semua yang Anda lakukan adalah mengecilkan sesuatu yang perlu Anda unggah atau kirimkan, atau Anda mencoba untuk mendapatkan kembali beberapa ruang di hard drive lokal.

Perintah gzip

Semakin besar file, semakin baik kompresinya. Ini karena dua alasan. Salah satunya adalah akan ada banyak pengulangan, urutan byte yang identik di seluruh file besar. Alasan kedua adalah daftar string dan token perlu disimpan dalam file terkompresi agar dekompresi dapat dilakukan. Dengan file yang sangat kecil overhead dapat menghapus manfaat dari kompresi. Tetapi bahkan dengan file yang cukup kecil, kemungkinan akan ada pengurangan ukuran.

Mengompresi File

Untuk mengompres file, yang perlu Anda lakukan hanyalah meneruskan nama file ke gzip memerintah. Kami akan memeriksa ukuran asli file, mengompresnya, dan kemudian memeriksa ukuran file terkompresi.

ls -lh calc-sheet.ods
gzip calc-sheet.ods
ls -lh cal-*

Mengompresi spreadsheet

File asli, spreadsheet bernama “calc-sheet.ods” berukuran 11 KB, dan file terkompresi—juga dikenal sebagai file arsip—berukuran 9,3 KB. Perhatikan bahwa nama file arsip adalah nama file asli dengan “.gz” ditambahkan padanya.

Penggunaan pertama dari ls perintah menargetkan file tertentu, spreadsheet. Penggunaan kedua dari ls mencari semua file yang dimulai dengan “calc-” tetapi hanya menemukan file terkompresi. Itu karena, secara default, gzip membuat file arsip dan menghapus file asli.

Itu bukan masalah. Jika Anda membutuhkan file asli, Anda dapat mengambilnya dari file arsip. Tetapi jika Anda lebih suka menyimpan file asli, Anda dapat menggunakan -k (simpan) pilihan.

gzip -k calc-sheet.ods
ls -lh calc-sheet.*

Mengompresi file dan mempertahankan file asli

Kali ini file ODS asli dipertahankan.

Mendekompresi File

Untuk mendekompres file arsip GZ, gunakan -d (dekompresi) pilihan. Ini akan mengekstrak file terkompresi dari arsip dan mendekompresinya sehingga tidak dapat dibedakan dari file aslinya.

ls calc-sheet.*
gzip -d calc-sheet.ods.gz
ls calc-sheet.*

Mendekompresi file dengan gzip

Kali ini, kita bisa melihatnya gzip telah menghapus file arsip setelah mengekstrak file asli. Untuk menyimpan file arsip, kita perlu menggunakan -k (simpan) opsi lagi, serta -d (dekompresi) pilihan.

ls calc-sheet.*
gzip -d calc-sheet.ods.gz
ls calc-sheet.*

Mendekompresi file dan menyimpan file arsip

Kali ini, gzip tidak menghapus file arsip.

TERKAIT: Mengapa File yang Dihapus Dapat Dipulihkan, dan Bagaimana Anda Dapat Mencegahnya

Dekompresi dan Timpa

Jika Anda mencoba mengekstrak file di direktori tempat file asli—atau file berbeda dengan yang sama—ada, gzip akan meminta Anda untuk memilih meninggalkan ekstraksi atau menimpa file yang ada.

gzip -d text-file.txt.gz

Timpa prompt dari gzip ketika file dalam arsip sudah ada file di direktori

Jika Anda tahu sebelumnya bahwa Anda senang memiliki file di direktori yang ditimpa oleh file dari arsip, gunakan opsi -f (force).

gzip -df text-file.txt.gz

Memaksa menimpa file yang ada

File ditimpa dan Anda diam-diam kembali ke baris perintah.

Mengompresi Pohon Direktori

Itu -r (rekursif) penyebab opsi gzip untuk mengompresi file di seluruh pohon direktori. Tapi hasilnya mungkin tidak seperti yang Anda harapkan.

Inilah pohon direktori yang akan kita gunakan dalam contoh ini. Direktori masing-masing berisi file teks.

tree level1

Uji struktur pohon direktori

Mari kita gunakan gzip pada pohon direktori dan lihat apa yang terjadi.

gzip -r level1/
tree level1

Struktur direktori setelah menjalankan gzip di atasnya

Hasilnya adalah gzip telah membuat file arsip untuk setiap file teks dalam struktur direktori. Itu tidak membuat arsip dari seluruh pohon direktori. Faktanya, gzip hanya dapat menempatkan satu file dalam arsip.

Kita dapat membuat file arsip yang berisi pohon direktori dan semua filenya, tetapi kita perlu menjalankan perintah lain. Itu tar Program ini digunakan untuk membuat arsip dari banyak file, tetapi tidak memiliki rutinitas kompresinya sendiri. Tetapi dengan menggunakan opsi yang sesuai dengan tarkita dapat menyebabkan tar untuk mendorong file arsip melalui gzip. Dengan begitu kita mendapatkan file arsip terkompresi dan arsip multi-file atau multi-direktori.

tar -czvf level1.tar.gz level1

Itu tar pilihan adalah:

  • c: Membuat arsip.
  • z: Dorong file melalui gzip.
  • v: Modus verbose. Cetak di jendela terminal apa tar terserah.
  • f level1.tar.gz: Nama file yang akan digunakan untuk file arsip.

Output dari tar bekerja melalui pohon direktori

Ini mengarsipkan struktur pohon direktori dan semua file di dalam pohon direktori.

TERKAIT: Cara Kompres dan Ekstrak File Menggunakan Perintah tar di Linux

Mendapatkan Informasi Tentang Arsip

Itu -l (daftar) opsi memberikan beberapa informasi tentang file arsip. Ini menunjukkan kepada Anda ukuran file yang dikompresi dan tidak dikompresi dalam arsip, rasio kompresi, dan nama file.

gzip -l leve1.tar.gz
gzip -l text-file.txt.gz

Menggunakan opsi daftar -l untuk melihat statistik kompresi untuk arsip

Anda dapat memeriksa integritas file arsip dengan -t (tes) pilihan.

gzip -t level1.tar.gz

Menguji arsip dengan opsi -t

Jika semuanya baik-baik saja, Anda diam-diam kembali ke baris perintah. Tidak ada berita adalah berita baik.

Jika arsip rusak atau bukan arsip, Anda akan diberitahu tentang hal itu.

gzip -t not-an-archive.gz

Menggunakan opsi -t untuk menguji file yang bukan arsip

Kecepatan Versus Kompresi

Anda dapat memilih untuk memprioritaskan kecepatan pembuatan arsip atau tingkat kompresi. Anda melakukan ini dengan memberikan nomor sebagai pilihan, dari -1 melalui atas -9. Itu -1 opsi memberikan kecepatan tercepat dengan mengorbankan kompresi dan -9 memberikan kompresi tertinggi dengan mengorbankan kecepatan.

Kecuali Anda memberikan salah satu opsi ini, gzip menggunakan -6.

gzip -1 calc-sheet.ods
ls -lh calc-sheet.ods.gz
gzip -9 calc-sheet.ods
ls -lh calc-sheet.ods.gz
gzip -6 calc-sheet.ods
ls -lh calc-sheet.ods.gz

Menggunakan gzip dengan prioritas berbeda untuk kecepatan dan kompresi

Dengan file sekecil ini, kami tidak melihat perbedaan yang signifikan dalam kecepatan eksekusi, tetapi ada sedikit perbedaan dalam kompresi.

Menariknya, tidak ada perbedaan antara menggunakan kompresi level 9 dan kompresi level 6. Anda hanya dapat memeras begitu banyak kompresi dari file apa pun dan dalam hal ini, batas itu tercapai dengan kompresi level 6. Mengangkatnya hingga 9 tidak membawa pengurangan lebih lanjut dalam ukuran file. Dengan file yang lebih besar, perbedaan antara level 6 dan level 9 akan lebih jelas.

Dikompresi, Tidak Dilindungi

Jangan salah mengartikan kompresi sebagai enkripsi atau bentuk perlindungan apa pun. Mengompresi file tidak memberikan keamanan atau privasi yang ditingkatkan. Siapa pun yang memiliki akses ke file Anda dapat menggunakan gzip untuk mendekompresinya.

TERKAIT: Daftar 10 File atau Direktori Terbesar di Linux

spot_img

latest articles

explore more