tar membungkus satu folder (atau banyak file) jadi satu file arsip, dan bisa sekalian memadatkannya supaya kecil. Mirip pindahan kos: semua barang dimasukkan ke satu kardus (itu kerja tar), lalu kardusnya di-vacuum biar ringkas (itu kerja gzip, bzip2, atau xz). File backup.tar.gz artinya kardus .tar yang sudah dipadatkan dengan gzip (.gz).
🧪 Tebakan cepat: kamu menjalankan
tar -czf backup.tar.gz proyek/, lalu terminal langsung kembali ke prompt tanpa menulis apa pun. Berhasil atau gagal? Tebak dulu, jawabannya ada di bagian "Bikin arsip: -c".
Satu perintah, huruf-huruf yang disusun
Semua kerja tar lewat satu perintah. Yang membedakan adalah huruf flag di belakang tanda minus. Huruf-huruf itu boleh digabung: -czf sama dengan -c -z -f.
| Huruf | Artinya | Kelompok |
|---|---|---|
c |
create, bikin arsip baru | pilih satu operasi |
t |
list, tampilkan isi arsip | pilih satu operasi |
x |
extract, bongkar arsip | pilih satu operasi |
z |
gzip | kompresi, opsional |
j |
bzip2 (huruf j kecil) | kompresi, opsional |
J |
xz (huruf J besar) | kompresi, opsional |
v |
verbose, tulis tiap nama file yang diproses | opsional |
f |
file, nama arsipnya ditulis tepat sesudahnya | hampir selalu dipakai |
Huruf besar-kecil itu beda: j kecil itu bzip2, J besar itu xz. Cara gampang mengingat -czf: create, gzip, file. Dan -xzf: extract, gzip, file.
Bikin arsip: -c
Contohnya folder proyek/ berisi empat file, total 480 KB:
$ ls proyek/
app.js gambar index.html style.css
$ tar -czf backup.tar.gz proyek/
$ ls
backup.tar.gz proyek
-cbikin arsip baru,-zmemadatkannya dengan gzip,-f backup.tar.gzmemberi nama arsipnya.proyek/di akhir adalah apa yang dibungkus. Boleh lebih dari satu:tar -czf backup.tar.gz proyek/ catatan.txt.
Terminal gak menulis apa pun, dan itu artinya berhasil. tar diam kalau semuanya lancar, dan pasti menulis pesan berawalan tar: kalau ada yang gagal. Itu jawaban tebakannya. Mau lihat apa saja yang masuk? Tambahkan v:
$ tar -czvf backup.tar.gz proyek/
proyek/
proyek/app.js
proyek/gambar/
proyek/gambar/logo.png
proyek/index.html
proyek/style.css
Folder 480 KB tadi jadi backup.tar.gz sekitar 126 KB. Kode teksnya mengecil banyak, gambar PNG hampir gak berubah karena sudah terkompresi dari sananya.
Lihat isi dan bongkar: -t, -x, -C
$ tar -tzf backup.tar.gz
proyek/
proyek/app.js
proyek/gambar/
proyek/gambar/logo.png
proyek/index.html
proyek/style.css
$ mkdir -p restore
$ tar -xzf backup.tar.gz -C restore/
$ ls restore/
proyek
-tcuma menampilkan isi, gak ada file yang dibongkar. Biasakan ini dulu untuk arsip dari orang lain.-xmembongkar. Tanpa-C, isinya keluar di folder tempat kamu berada sekarang, dan file dengan nama yang sama langsung ditimpa.-C restore/artinya "pindah dulu ke folderrestore/, baru bongkar". Folder itu harus sudah ada, makanyamkdir -p restoreduluan.- Saat membongkar, GNU tar (tar bawaan Linux) mengenali kompresinya sendiri, jadi
tar -xf backup.tar.gztanpazjuga jalan. Saat membuat, huruf kompresinya tetap wajib.
Pilih kompresinya: gzip, bzip2, xz
Ukuran di bawah adalah perkiraan untuk folder proyek/ tadi. Angka pastinya tergantung isi file.
| Huruf | Kompresi | Ekstensi | Hasil dari 480 KB | Kecepatan |
|---|---|---|---|---|
| (tanpa) | gak dipadatkan | .tar |
490 KB | paling cepat |
z |
gzip | .tar.gz (atau .tgz) |
126 KB | cepat |
j |
bzip2 | .tar.bz2 |
108 KB | sedang |
J |
xz | .tar.xz |
96 KB | paling lambat |
.tar tanpa kompresi malah sedikit lebih besar dari aslinya, karena tiap file dapat catatan nama, ukuran, dan izinnya. Aturan praktisnya: gzip untuk backup harian (cepat, dan semua orang bisa membukanya). xz kalau ukuran lebih penting dari kecepatan, misalnya file rilis yang dibuat sekali tapi diunduh ribuan kali, atau arsip yang disimpan lama. Untuk dikirim ke teman yang pakai Windows tanpa aplikasi tambahan, zip -r proyek.zip proyek/ lebih aman.
Nama ekstensinya bukan hiasan: dari situ orang (dan kamu nanti) tahu cara membukanya. Jadi pasangkan dengan benar: gzip jadi tar.gz, bzip2 jadi tar.bz2, xz jadi tar.xz, tanpa kompresi cukup tar.
⚠️ Jebakan yang sering ketemu
fgak di akhir gugus huruf.fmengambil kata tepat sesudahnya sebagai nama arsip. Ditar -cfz backup.tar.gz proyek/, yang jadi nama arsip adalahz. Hasilnya arsip bernamazyang gak dikompresi, plus pesantar: backup.tar.gz: Cannot stat: No such file or directory. Taruhfpaling akhir:-czf.- Folder tujuan
-Cbelum ada.tar -xzf backup.tar.gz -C restore/saatrestore/belum dibuat berhenti dengantar: restore/: Cannot open: No such file or directory. Jalankanmkdir -p restoredulu. - Huruf kompresi gak cocok saat membongkar.
tar -xzf backup.tar.bz2gagal dengangzip: stdin: not in gzip format. Pakai huruf yang cocok dengan ekstensinya, atau buang hurufnya (tar -xf) dan biarkan GNU tar mengenali sendiri. - Membongkar arsip asing tanpa cek isinya. Jalankan
tar -tfdulu. Kamu jadi tahu apakah isinya satu folder rapi atau ratusan file yang bakal berceceran di folder kerjamu.
TL;DR: tar membungkus banyak file jadi satu arsip. Pilih satu operasi: c bikin, t lihat isi, x bongkar. Tambah kompresi kalau mau: z gzip (.tar.gz), j bzip2 (.tar.bz2), J xz (.tar.xz), tanpa huruf kompresi hasilnya .tar. v menulis tiap nama file, f diikuti nama arsip dan ditaruh paling akhir. Bikin: tar -czf backup.tar.gz proyek/. Lihat isi: tar -tzf backup.tar.gz. Bongkar ke folder lain: mkdir -p restore lalu tar -xzf backup.tar.gz -C restore/. Diam berarti berhasil. gzip untuk harian, xz kalau ukuran paling penting.