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 harus gzip .
TERKAIT:Bagaimana Cara Kerja Kompresi File?
Algorithms and Trees
Alat kompresi data gzip 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 menemukan gzip di dalamnya. Jadi, jika Anda tahu cara menggunakan gzip, Anda dapat melakukannya tanpa perlu menginstal apa pun.
gzip adalah implementasi dari algoritme DEFLATE yang ditemukan—dan dipatenkan—oleh Phil Katz yang terkenal PKZIP. 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 posisinya 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.
RELATEDTolok ukur: Apa Format Kompresi File Terbaik?
Algoritme DEFLATE menambahkan perubahan bahwa string yang paling sering ditemui dialokasikan token terkecil dan paling jarang string yang ditemui dialokasikan yang lebih besar. Algoritme DEFLATE juga menggabungkan ide dari dua metode kompresi sebelumnya, pengkodean Huffman dan kompresi LZ77.
Pada saat penulisan, algoritme DEFLATE sudah berusia hampir tiga dekade. Tiga dekade lalu biaya penyimpanan data tinggi dan kecepatan transmisi lambat. Kompresi data sangat penting.
RELATED4 Cara Mengosongkan Ruang Disk di Linux
Penyimpanan data jauh lebih murah saat ini, 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, meskipun yang Anda lakukan hanyalah mengecilkan sesuatu yang perlu Anda unggah atau kirimkan, atau Anda mencoba mengambil kembali sebagian ruang di hard drive lokal.
The gzip Command
Semakin besar file, lebih baik kompresi bisa. 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 ada pengurangan ukuran.
Mengompresi File
Untuk mengompresi file, yang perlu Anda lakukan hanyalah meneruskan nama file ke perintah gzip. Kami akan memeriksa ukuran asli file, mengompresnya, lalu memeriksa ukuran file terkompresi.
ls -lh calc-sheet.odsgzip calc-sheet.odsls -lh cal-*
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 perintah ls menargetkan file tertentu, spreadsheet. Penggunaan kedua 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.
Advertisement
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 opsi -k (keep).
gzip -k calc-sheet.odsls -lh calc-sheet.*
Kali ini file ODS asli dipertahankan.
Mendekompresi File
Untuk mendekompresi a File arsip GZ, gunakan opsi -d (dekompresi). Ini akan mengekstrak file terkompresi dari arsip dan mendekompresnya sehingga tidak dapat dibedakan dari file asli.
ls calc-sheet.*gzip -d calc-sheet.ods.gzls calc-sheet.*
Kali ini, kita dapat melihatnya gzip telah menghapus file arsip setelah mengekstrak file asli. Untuk menyimpan file arsip, kita perlu menggunakan opsi -k (keep) lagi, serta opsi -d (dekompresi).
ls calc-sheet.*gzip -d calc-sheet.ods.gzls calc-sheet. *
Kali ini gzip tidak menghapus file arsip.
TERKAIT:Mengapa File yang Dihapus Dapat Dipulihkan, dan Bagaimana Cara Mencegahnya sama—ada, gzip akan meminta Anda memilih untuk mengabaikan ekstraksi atau menimpa file yang ada.
gzip -d text-file.txt.gz
Jika Anda tahu sebelumnya bahwa Anda senang file dalam direktori ditimpa oleh file dari arsip, gunakan opsi -f (paksa). kompres file di seluruh pohon direktori. Tetapi hasilnya mungkin tidak seperti yang Anda harapkan.
Advertisement
Berikut adalah pohon direktori yang akan kita gunakan dalam contoh ini. Direktori masing-masing berisi file teks.
tree level1
Mari gunakan gzip pada pohon direktori dan lihat apa yang terjadi.
gzip -r level1/tree level1
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 sebuah arsip.
Kita dapat membuat file arsip yang berisi pohon direktori dan semua filenya, tetapi kita perlu menjalankan perintah lain. Program tar digunakan untuk membuat arsip dari banyak file, tetapi tidak memiliki rutinitas kompresinya sendiri. Namun dengan menggunakan opsi yang sesuai dengan tar, kami dapat menyebabkan tar 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
Opsi tarnya adalah:
c: Create an archive.z: Dorong file melalui gzip.v: Verbose mode . Cetak di jendela terminal apa tar up to.f level1.tar.gz: Nama file yang akan digunakan untuk file arsip.
Ini mengarsipkan struktur pohon direktori dan semua file di dalam pohon direktori.
TERKAIT:Cara Mengompresi dan Mengekstrak File Menggunakan tar Perintah di Linux
Mendapatkan Informasi Tentang Arsip
Opsi -l (daftar) menyediakan 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.gzgzip -l text-file.txt.gz
Advertisement
Anda dapat memeriksa integritas arsip file dengan opsi -t (test).
gzip -t level1.tar.gz
Jika semuanya baik-baik saja, Anda akan kembali ke baris perintah secara diam-diam. Tidak ada berita adalah kabar baik.
Jika arsip rusak atau bukan arsip, Anda diberitahu tentang hal itu.
gzip -t not-an-archive.gz
Speed Versus Compression
Anda dapat memilih untuk memprioritaskan kecepatan pembuatan arsip atau tingkat kompresi . Anda melakukan ini dengan memberikan nomor sebagai opsi, dari -1 hingga -9 teratas. Opsi -1 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.odsls -lh calc -sheet.ods.gzgzip -9 calc-sheet.odsls -lh calc-sheet.ods.gzgzip -6 calc-sheet.odsls -lh calc-sheet.ods.gz
Advertisement
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.
RELATED:Daftar 10 File atau Direktori Terbesar di Linux
Itulah berita seputar Cara Zip dan Unzip File Dengan Gzip di Linux, semoga bermanfaat. Disadur dari HowToGeek.com.