Cara Mengompres dan Mengekstrak File Menggunakan Perintah tar di Linux

Perintah tar di Linux sering digunakan untuk membuat file arsip .tar.gz atau .tgz, juga disebut "tarballs". Perintah ini memiliki banyak sekali opsi, tetapi Anda hanya perlu mengingat beberapa huruf untuk membuat arsip dengan tar dengan cepat. Perintah tar juga dapat mengekstrak arsip yang dihasilkan.

Perintah tar GNU yang disertakan dengan distribusi Linux memiliki kompresi terintegrasi. Itu dapat membuat arsip .tar dan kemudian mengompresnya dengan kompresi gzip atau bzip2 dalam satu perintah. Itu sebabnya file yang dihasilkan adalah file .tar.gz atau file .tar.bz2.

Kompres Seluruh Direktori atau Satu File

Gunakan perintah berikut untuk mengompresi seluruh direktori atau satu file di Linux. Ini juga akan memampatkan setiap direktori lain di dalam direktori yang Anda tentukan – dengan kata lain, ini bekerja secara rekursif.

tar -czvf nama-arsip.tar.gz / jalur / ke / direktori-atau-file

Inilah arti sebenarnya dari sakelar-sakelar itu:

  • -c: C buat arsip.
  • -z: Kompres arsip dengan gz ip.
  • -v: Menampilkan kemajuan di terminal saat membuat arsip, juga dikenal sebagai mode " v erbose". V selalu opsional dalam perintah ini, tetapi sangat membantu.
  • -f: Memungkinkan Anda untuk menentukan f ilename arsip.

Misalkan Anda memiliki direktori bernama "barang" di direktori saat ini dan Anda ingin menyimpannya ke file bernama archive.tar.gz. Anda akan menjalankan perintah berikut:

tar -czvf archive.tar.gz hal

Atau, katakanlah ada direktori di / usr / local / sesuatu di sistem saat ini dan Anda ingin mengompresnya ke file bernama archive.tar.gz. Anda akan menjalankan perintah berikut:

tar -czvf archive.tar.gz / usr / local / sesuatu

Kompres Beberapa Direktori atau File Sekaligus

TERKAIT: Cara Mengelola File dari Terminal Linux: 11 Perintah yang Perlu Anda Ketahui

Meskipun tar sering digunakan untuk mengompresi satu direktori, Anda juga dapat menggunakannya untuk mengompresi beberapa direktori, beberapa file individual, atau keduanya. Cukup berikan daftar file atau direktori, bukan satu. Misalnya, Anda ingin mengompresi direktori / home / ubuntu / Downloads, direktori / usr / local / stuff, dan file /home/ubuntu/Documents/notes.txt. Anda baru saja menjalankan perintah berikut:

tar -czvf archive.tar.gz / home / ubuntu / Downloads / usr / local / stuff /home/ubuntu/Documents/notes.txt

Cukup daftarkan direktori atau file yang ingin Anda cadangkan.

Kecualikan Direktori dan File

Dalam beberapa kasus, Anda mungkin ingin mengompres seluruh direktori, tetapi tidak menyertakan file dan direktori tertentu. Anda dapat melakukannya dengan menambahkan --excludesakelar untuk setiap direktori atau file yang ingin Anda kecualikan.

Misalnya, Anda ingin mengompres / home / ubuntu, tetapi Anda tidak ingin mengompresi direktori / home / ubuntu / Downloads dan /home/ubuntu/.cache. Inilah cara Anda melakukannya:

tar -czvf archive.tar.gz / home / ubuntu --exclude = / home / ubuntu / Downloads --exclude = / home / ubuntu / .cache

The --excludeswitch sangat kuat. Itu tidak mengambil nama direktori dan file – itu sebenarnya menerima pola. Masih banyak lagi yang dapat Anda lakukan dengannya. Misalnya, Anda dapat mengarsipkan seluruh direktori dan mengecualikan semua file .mp4 dengan perintah berikut:

tar -czvf archive.tar.gz / home / ubuntu --exclude = *. mp4

Gunakan Kompresi bzip2 sebagai gantinya

Meskipun kompresi gzip paling sering digunakan untuk membuat file .tar.gz atau .tgz, tar juga mendukung kompresi bzip2. Hal ini memungkinkan Anda membuat file yang dikompresi bzip2, sering kali bernama file .tar.bz2, .tar.bz, atau .tbz. Untuk melakukannya, cukup ganti -z untuk gzip dalam perintah di sini dengan -j untuk bzip2.

Gzip lebih cepat, tetapi biasanya kompresnya sedikit lebih sedikit, jadi Anda mendapatkan file yang agak lebih besar. Bzip2 lebih lambat, tetapi kompresnya sedikit lebih banyak, sehingga Anda mendapatkan file yang lebih kecil. Gzip juga lebih umum, dengan beberapa sistem Linux yang dilucuti termasuk dukungan gzip secara default, tetapi tidak mendukung bzip2. Secara umum, bagaimanapun, gzip dan bzip2 adalah hal yang sama dan keduanya akan bekerja dengan cara yang sama.

Misalnya, alih-alih contoh pertama yang kami sediakan untuk mengompresi direktori barang, Anda akan menjalankan perintah berikut:

tar -cjvf archive.tar.bz2 hal

Ekstrak Arsip

Setelah Anda memiliki arsip, Anda dapat mengekstraknya dengan perintah tar. Perintah berikut akan mengekstrak konten archive.tar.gz ke direktori saat ini.

tar -xzvf archive.tar.gz

Ini sama dengan perintah pembuatan arsip yang kami gunakan di atas, kecuali -xsakelar menggantikan -csakelar. Menentukan ini Anda ingin e x saluran arsip bukannya membuat satu.

Anda mungkin ingin mengekstrak konten arsip ke direktori tertentu. Anda dapat melakukannya dengan menambahkan -Csakelar ke akhir perintah. Misalnya, perintah berikut akan mengekstrak konten file archive.tar.gz ke direktori / tmp.

tar -xzvf archive.tar.gz -C / tmp

Jika file adalah file terkompresi bzip2, ganti "z" pada perintah di atas dengan "j".

Ini adalah kemungkinan penggunaan perintah tar yang paling sederhana. Perintah tersebut menyertakan sejumlah besar opsi tambahan, jadi kami tidak mungkin mencantumkan semuanya di sini. Untuk informasi lebih lanjut. jalankan perintah info tar di shell untuk melihat halaman informasi detail perintah tar. Tekan tombol q untuk keluar dari halaman informasi setelah Anda selesai. Anda juga dapat membaca manual tar online.

Jika Anda menggunakan desktop Linux grafis, Anda juga dapat menggunakan utilitas kompresi file atau pengelola file yang disertakan dengan desktop Anda untuk membuat atau mengekstrak file .tar. Di Windows, Anda dapat mengekstrak dan membuat arsip .tar dengan utilitas 7-Zip gratis.