GNU/Linux >> Belajar Linux >  >> Linux

Cara Mengarsipkan dan Mengompresi File di Linux

Sebagai administrator sistem, Anda mungkin telah mengunduh beberapa arsip yang perlu Anda ekstrak untuk mengungkapkan file mereka.

Anda mungkin juga mencadangkan seluruh basis data terbuat dari berbagai macam file kecil yang ingin Anda gabungkan dalam satu arsip tunggal.

Pengarsipan dan mengompresi file adalah operasi umum di dunia Unix, dilakukan oleh administrator sistem secara teratur.

Beruntung bagi Anda, Linux memperlihatkan serangkaian perintah yang berbeda untuk mengarsipkan, mengompres, membuka kompresi, dan mengekstrak file dari arsip.

Dalam tutorial ini, Anda akan mempelajari lebih lanjut tentang perintah tar serta berbagai metode kompresi yang dapat digunakan untuk menghemat ruang di Linux.

Siap?

Arsipkan file di Linux menggunakan tar

Ter adalah perintah yang sangat populer di kalangan administrator sistem.

Terkadang disebut sebagai tarball , tar secara historis digunakan untuk menulis data ke perangkat yang tidak memiliki sistem file pada saat itu.

Akibatnya, perintah tar diperkenalkan pada 1979 untuk mengganti “tp ” program yang digunakan saat itu.

Saat ini, perintah tar banyak digunakan untuk mengarsipkan file (artinya menyatukan file dalam satu arsip).

Untuk mengarsipkan file di Linux menggunakan tar, jalankan “tar ” dengan “cvf ” pilihan.

$ tar -cvf archive.tar file1 file2 directory1 directory2

file1/
file2/
directory1/
directory2/

Dalam hal ini, kami menggunakan tiga opsi berbeda :

  • -c :untuk membuat arsip, opsi yang cukup jelas jika Anda ingin membuat arsip baru yang dibuat dari file yang dipilih;
  • -v :untuk verbose, inilah alasan mengapa perintah menampilkan file yang ditambahkan ke arsip saat menjalankannya;
  • -f :untuk file, opsi ini digunakan untuk menentukan nama file dari arsip yang ingin kita buat (dalam hal ini archive.tar)

Opsi tersebut mungkin merupakan opsi terpenting untuk mengarsipkan file di Linux.

Saat menjalankan perintah tar dengan tanda “-f”, arsip baru telah dibuat di direktori kerja Anda saat ini.

$ ls -l
total 20
-rw-rw-r-- 1 schkn schkn 10240 Nov  9 10:41 archive.tar
drwxrwxr-x 2 schkn schkn  4096 Nov  9 10:41 directory1
drwxrwxr-x 2 schkn schkn  4096 Nov  9 10:41 directory2
-rw-rw-r-- 1 schkn schkn     0 Nov  9 10:41 file1
-rw-rw-r-- 1 schkn schkn     0 Nov  9 10:41 file2

Seperti yang Anda lihat, ukuran arsip lebih besar dari jumlah file di dalamnya.

Mengapa?

Membuat arsip tar tidak hanya menempatkan file dan direktori dalam kotak besar :arsip juga merupakan file khusus yang terbuat dari header file khusus yang mungkin memakan banyak ruang.

Akibatnya, arsip Anda jauh lebih besar daripada jumlah file di dalamnya.

Ini adalah fakta yang sangat penting karena kami dapat memahami bahwa pengarsipan file tidak berarti bahwa file Anda dikompresi di dalamnya.

Untuk mengompresi file saat pengarsipan, Anda perlu memberikan opsi lain ke perintah tar.

Kompresi file akan dijelaskan di bab selanjutnya.

Ekstrak file menggunakan tar di Linux

Sekarang setelah Anda membuat file arsip, Anda mungkin ingin mengekstrak file yang ada di arsip Anda.

Untuk mengekstrak file menggunakan perintah tar, tambahkan “-x ” alih-alih opsi “-c” awal.

$ tar -xvf archive.tar

file1
file2
directory1/
directory2/

Perhatikan bahwa mengekstrak file Anda tidak berarti bahwa arsip akan dihapus dari direktori kerja Anda saat ini.

$ ls -l

total 28
-rw-rw-r-- 1 schkn schkn 10240 Nov  9 12:01 archive.tar
drwxrwxr-x 2 schkn schkn  4096 Nov  9 10:41 directory1
drwxrwxr-x 2 schkn schkn  4096 Nov  9 10:41 directory2
-rw-rw-r-- 1 schkn schkn     0 Nov  9 12:00 file1
-rw-rw-r-- 1 schkn schkn     0 Nov  9 10:41 file2

Saat mengekstrak file di Linux, ada sedikit hal yang perlu diperhatikan.

Jika file di direktori kerja saat ini memiliki nama yang sama dengan file di dalam arsip, konten file di direktori kerja akan diganti dengan konten dari arsip.

Untuk mengilustrasikannya, tambahkan beberapa konten ke salah satu file Anda, ekstrak file Anda dan periksa kembali konten file Anda.

$ echo "Added some content to the file" > file1

$ tar -xvf archive.tar

$ cat file1
<empty>

Membandingkan file lokal dengan file arsip

Untuk mencegah data terhapus selama proses, perintah tar dapat membandingkan file terletak di direktori kerja Anda saat ini dengan file di arsip Anda.

Kembali ke contoh yang telah kita bahas sebelumnya, mari tambahkan beberapa konten kembali ke file “file1”.

$ echo "Added some content to the file" > file1

Untuk membandingkan file dengan tar, gunakan opsi “-d”.

$ tar -dvf archive.tar

file1
file1: Mod time differs
file1: Size differs
file2
directory1/
directory2/

Seperti yang Anda lihat, tar akan membandingkan stempel waktu dan lebih khusus lagi tanggal modifikasi file terbaru.

Jika tanggal modifikasi file lokal lebih baru daripada tanggal dari file arsip, perintah tar akan menampilkan pemberitahuan yang menunjukkan bahwa waktu modifikasi berbeda.

Demikian pula, tar dapat memeriksa ukuran file dan menyoroti perbedaan ukuran di antara file Anda.

Untuk menghindari penghapusan file, Anda dapat menggunakan bintang perintah yang merupakan alternatif yang bagus untuk perintah tar yang ada.

Mencegah penimpaan file menggunakan bintang

Secara default, utilitas bintang mungkin tidak diinstal pada sistem Anda.

Untuk menginstal utilitas bintang, jalankan utilitas YUM

$ sudo yum install star

Kemudian, untuk mengarsipkan file dengan bintang, cukup jalankan "bintang" dengan opsi "-c".

$ star -c -f=archive.tar file1 file2

Kemudian, Anda dapat menggunakan utilitas gzip atau gunzip untuk mengompresi arsip baru Anda.

$ gzip archive.tar

Akibatnya, file tar awal akan diubah menjadi arsip tar.gz.

Sekarang jika Anda membuat file dengan nama yang sama persis, utilitas bintang tidak akan menimpanya secara default.

$ echo "This is some content" > file1

$ gzip -d archive.tar.gz

$ star -x -f=archive.tar
star: current 'file1' newer.
star: current 'file2' newer.
star: 1 blocks + 0 bytes (total of 10240 bytes = 10.00k).

$ cat file1
This is some content

Cukup berguna saat Anda takut kehilangan konten!

Mengompresi file menggunakan gzip di Linux

Setelah arsip tar Anda siap, langkah selanjutnya adalah mengompresnya untuk mengurangi ukurannya.

Untuk itu, pertama kita akan menggunakan gzip utilitas.

Secara default, utilitas gzip harus diinstal, tetapi jika tidak demikian, pastikan untuk menginstalnya tergantung pada distribusi Anda.

$ sudo apt-get install gzip

$ sudo yum install gzip

Setelah gzip terinstal, jalankan “gzip” dan teruskan arsip yang baru saja Anda buat sebagai argumen.

$ gzip archive.tar

Menjalankan perintah gzip akan membuat tar.gz file di direktori kerja saat ini.

Yang terpenting, file tar awal akan ditingkatkan ke tar.gz sehingga Anda tidak akan memiliki arsip awal lagi.

$ ls -l
total 12
-rw-rw-r-- 1 schkn schkn  184 Nov  9 10:41 archive.tar.gz
drwxrwxr-x 2 schkn schkn 4096 Nov  9 10:41 directory1
drwxrwxr-x 2 schkn schkn 4096 Nov  9 10:41 directory2
-rw-rw-r-- 1 schkn schkn    0 Nov  9 10:41 file1
-rw-rw-r-- 1 schkn schkn    0 Nov  9 10:41 file2

Seperti yang Anda lihat, ukuran file berkurang drastis dari 10 Kb menjadi 184 byte yang menakjubkan, gzip mengurangi ukuran file hingga lebih dari 98%.

Namun, jika Anda tidak ingin menggunakan utilitas gzip, Anda juga dapat mengompresi file menggunakan perintah tar dengan opsi.

Apakah menurut Anda ini dapat meningkatkan tingkat kompresi?

Mengompresi file di Linux menggunakan tar

Seperti disebutkan di bagian pertama, perintah tar dapat digunakan untuk mengarsipkan dan mengompresi file dalam satu baris.

Untuk mengkompres file dengan tar, cukup tambahkan “-z” opsi ke rangkaian opsi Anda saat ini.

$ tar -cvzf archive1.tar.gz file1 file2 directory1 directory2

Sama halnya dengan perintah tar pertama yang Anda jalankan, file arsip terkompresi baru akan dibuat di direktori kerja Anda saat ini.

Untuk memeriksa file yang dibuat, cukup jalankan kembali perintah “ls”.

$ ls -l
total 28
-rw-rw-r-- 1 schkn schkn   184 Nov  9 10:41 archive.tar.gz
-rw-rw-r-- 1 schkn schkn   172 Nov  9 11:10 archive1.tar.gz
drwxrwxr-x 2 schkn schkn  4096 Nov  9 10:41 directory1
drwxrwxr-x 2 schkn schkn  4096 Nov  9 10:41 directory2
-rw-rw-r-- 1 schkn schkn     0 Nov  9 10:41 file1
-rw-rw-r-- 1 schkn schkn     0 Nov  9 10:41 file2

Sekarang seperti yang Anda lihat, arsip terkompresi yang dibuat sedikit lebih ringan daripada yang dibuat dengan gzip.

Mengompresi file menggunakan bzip2

Sering kali, perintah gzip digunakan untuk mengompresi file atau arsip.

Namun, secara historis ini bukan satu-satunya metode kompresi yang tersedia dalam rekayasa perangkat lunak :Anda juga dapat menggunakan bzip2.

Perbedaan utama antara gzip dan bzip2 adalah fakta bahwa gzip menggunakan algoritme kompresi LZ77 sedangkan bzip2 menggunakan algoritma Burrows-Wheeler .

Bzip2 dikenal lebih lambat daripada algoritme gzip, namun terkadang berguna untuk mengetahui cara mengompres menggunakan bzip2.

Untuk mengompresi file menggunakan bzip2, cukup jalankan “bzip2” dengan nama file yang ingin Anda kompres.

$ bzip2 archive.tar

Untuk mendekompresi file yang dikompres menggunakan bzip2, cukup tambahkan opsi “-d” ke perintah Anda.

$ bzip -d archive.tar.bz2

Atau, Anda dapat membuat arsip bz2 menggunakan perintah tar dan dengan menentukan opsi “-j”.

$ tar -cjf archive.tar.gz2 file1 file2

Menggunakan tar, Anda memiliki opsi untuk mengompres menggunakan panel lebar dari berbagai metode kompresi :

  • -j :kompres file menggunakan metode kompresi bz2;
  • -J :menggunakan utilitas kompresi xz;
  • –lzip :menggunakan utilitas kompresi lzip;
  • –lzma :menggunakan utilitas kompresi lzma;
  • –lzop :menggunakan lzop untuk mengompresi file
  • -z :setara dengan utilitas gzip atau gunzip.

Kesimpulan

Dalam tutorial ini, Anda mempelajari cara mengarsipkan dan kompres file menggunakan utilitas tar di Linux.

Anda juga mempelajari tentang berbagai metode kompresi yang tersedia dan bagaimana metode tersebut dapat digunakan untuk mengurangi ukuran file dan direktori Anda.

Jika Anda ingin tahu tentang administrasi sistem Linux, kami memiliki bagian lengkap yang didedikasikan untuk itu di situs web, jadi pastikan untuk melihatnya.


Linux
  1. 16 Perintah Tar untuk Kompres dan Ekstrak File di Linux

  2. Cara Mengarsipkan File Dan Direktori Di Linux [Bagian 2]

  3. Cara Mengarsipkan File Dan Direktori Di Linux [Bagian 1]

  1. Cara Kompres Dan Dekompresi File Di Linux

  2. Cara mengekstrak file .gz dan .tar.gz di Linux

  3. Bagaimana Cara Mengompres dan Mengekstrak File Menggunakan Perintah tar di Linux?

  1. Cara menemukan file di Linux

  2. Cara Kompres dan Ekstrak File dan Direktori di Linux Menggunakan gzip dan bzip2

  3. Cara Kompres dan Dekompresi file .bz2 di Linux Menggunakan Perintah bzip2