Cara Memampatkan dan Mengekstrak Fail Menggunakan tar arahan di Linux

Perintah tar di Linux sering digunakan untuk membuat fail arkib .tar.gz atau .tgz, juga disebut "tarballs." Perintah ini mempunyai sebilangan besar pilihan, tetapi anda hanya perlu ingat beberapa huruf untuk membuat arkib dengan tar dengan cepat. Perintah tar juga dapat mengekstrak arkib yang dihasilkan.

Perintah tar GNU yang disertakan dengan distribusi Linux mempunyai pemampatan bersepadu. Ia dapat membuat arkib .tar dan kemudian memampatkannya dengan pemampatan gzip atau bzip2 dalam satu arahan. Itulah sebabnya fail yang dihasilkan adalah fail .tar.gz atau fail .tar.bz2.

Memampatkan Seluruh Direktori atau Fail Tunggal

Gunakan perintah berikut untuk memampatkan keseluruhan direktori atau satu fail di Linux. Ia juga akan memampatkan setiap direktori lain di dalam direktori yang anda tentukan - dengan kata lain, ia berfungsi secara berulang.

tar -czvf name-of-archive.tar.gz / path / ke / direktori-atau-fail

Inilah maksud sebenarnya suis itu:

  • -c: C buat arkib.
  • -z: Memampatkan arkib dengan g z ip.
  • -v: Menampilkan kemajuan di terminal semasa membuat arkib, juga dikenali sebagai mod " v erbose". V selalu pilihan dalam arahan ini, tetapi sangat berguna.
  • -f: Membolehkan anda untuk menentukan f ilename arkib.

Katakan anda mempunyai direktori bernama "stuff" dalam direktori semasa dan anda ingin menyimpannya ke fail bernama archive.tar.gz. Anda akan menjalankan arahan berikut:

tar -czvf archive.tar.gz barangan

Atau, katakan ada direktori di / usr / local / sesuatu pada sistem semasa dan anda ingin memampatkannya ke fail bernama archive.tar.gz. Anda akan menjalankan arahan berikut:

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

Memampatkan Banyak Direktori atau Fail Sekaligus

BERKAITAN: Cara Mengurus Fail dari Terminal Linux: 11 Perintah Yang Perlu Anda Ketahui

Walaupun tar sering digunakan untuk memampatkan satu direktori, Anda juga dapat menggunakannya untuk memampatkan beberapa direktori, beberapa fail individu, atau keduanya. Cukup sediakan senarai fail atau direktori dan bukannya satu. Sebagai contoh, katakan anda mahu memampatkan direktori / home / ubuntu / Downloads, direktori / usr / local / stuff, dan file /home/ubuntu/Documents/notes.txt. Anda hanya akan menjalankan arahan berikut:

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

Senaraikan seberapa banyak direktori atau fail yang anda mahu sandarkan.

Kecualikan Direktori dan Fail

Dalam beberapa kes, anda mungkin ingin memampatkan keseluruhan direktori, tetapi tidak memasukkan fail dan direktori tertentu. Anda boleh melakukannya dengan menambahkan --excludesuis untuk setiap direktori atau fail yang ingin dikecualikan.

Sebagai contoh, katakan anda mahu memampatkan / home / ubuntu, tetapi anda tidak mahu memampatkan 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 --excludesuis adalah sangat berkuasa. Itu tidak mengambil nama direktori dan fail - sebenarnya menerima corak. Terdapat banyak lagi yang boleh anda lakukan dengannya. Sebagai contoh, anda boleh mengarkibkan keseluruhan direktori dan mengecualikan semua fail .mp4 dengan arahan berikut:

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

Gunakan Mampatan bzip2 Sebaliknya

Walaupun pemampatan gzip paling sering digunakan untuk membuat fail .tar.gz atau .tgz, tar juga menyokong pemampatan bzip2. Ini membolehkan anda membuat fail yang dimampatkan bzip2, yang sering dinamakan fail .tar.bz2, .tar.bz, atau .tbz. Untuk melakukannya, hanya ganti -z untuk gzip dalam perintah di sini dengan -j untuk bzip2.

Gzip lebih pantas, tetapi secara amnya memampatkan sedikit, jadi anda mendapat fail yang agak besar. Bzip2 lebih perlahan, tetapi memampatkan sedikit lebih banyak, jadi anda mendapat fail yang agak lebih kecil. Gzip juga lebih biasa, dengan beberapa sistem Linux yang dilucutkan termasuk sokongan gzip secara lalai, tetapi bukan sokongan bzip2. Namun, secara umum, gzip dan bzip2 adalah perkara yang sama dan kedua-duanya akan berfungsi sama.

Sebagai contoh, bukannya contoh pertama yang kami sediakan untuk memampatkan direktori barang, anda akan menjalankan perintah berikut:

tar -cjvf archive.tar.bz2 barang

Ekstrak Arkib

Setelah anda mempunyai arkib, anda boleh mengekstraknya dengan perintah tar. Perintah berikut akan mengekstrak kandungan archive.tar.gz ke direktori semasa.

tar -xzvf archive.tar.gz

Ia sama dengan arahan pembuatan arkib yang kami gunakan di atas, kecuali -xsuis menggantikan -csuis. Dinyatakan oleh ini, anda mahu e x saluran arkib dan bukannya membuat satu.

Anda mungkin ingin mengekstrak kandungan arkib ke direktori tertentu. Anda boleh melakukannya dengan menambahkan -Csuis ke akhir arahan. Sebagai contoh, arahan berikut akan mengekstrak kandungan fail archive.tar.gz ke direktori / tmp.

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

Jika fail tersebut adalah file bzip2-compressed, ganti "z" dalam perintah di atas dengan "j"

Ini adalah penggunaan terma yang paling sederhana. Perintah tersebut merangkumi sebilangan besar pilihan tambahan, jadi kami tidak mungkin menyenaraikan semuanya di sini. Untuk maklumat lanjut. jalankan arahan info tar di shell untuk melihat halaman maklumat terperinci arahan tar. Tekan kekunci q untuk keluar dari halaman maklumat apabila anda selesai. Anda juga boleh membaca manual tar dalam talian.

Sekiranya anda menggunakan desktop Linux grafik, anda juga boleh menggunakan utiliti pemampatan fail atau pengurus fail yang disertakan dengan desktop anda untuk membuat atau mengekstrak fail .tar. Di Windows, anda boleh mengekstrak dan membuat arkib .tar dengan utiliti 7-Zip percuma.