tar & Archive Compression — Terminal

tar (tape archive) menggabungkan banyak file ke satu arsip. Biasa dikombinasi dengan kompresi gzip/bzip2/xz. Perintah paling umum (wajib hafal): # CREATE — bung

tar (tape archive) menggabungkan banyak file ke satu arsip. Biasa dikombinasi dengan kompresi gzip/bzip2/xz.

Perintah paling umum (wajib hafal):

# CREATE — bungkus folder jadi archive terkompresi
tar -czf backup.tar.gz ./myfolder

# EXTRACT — buka archive
tar -xzf backup.tar.gz

# LIST — lihat isi tanpa ekstrak
tar -tzf backup.tar.gz

Flag breakdown:

Flag Arti
-c Create archive
-x Extract archive
-t List contents
-z gzip compression (paling umum)
-j bzip2 compression (lebih kecil, lebih lambat)
-J xz compression (terkecil, paling lambat)
-f FILE Specify archive file (wajib)
-v Verbose (tampilkan file yang diproses)

Pola mnemonic:

Ekstrak ke folder tertentu:

tar -xzf backup.tar.gz -C /tmp/restore/
# -C = change directory sebelum ekstrak

Include/exclude file:

tar -czf src.tar.gz --exclude="*.log" --exclude="node_modules" ./src

# Hanya file tertentu
tar -czf docs.tar.gz ./project --include="*.md"

Compression comparison:

Format Speed (compress) Size Extension
gzip (-z) Cepat Sedang .tar.gz / .tgz
bzip2 (-j) Sedang Kecil .tar.bz2
xz (-J) Lambat Terkecil .tar.xz

Rule of thumb: gzip untuk backup harian, xz untuk distribusi/arsip jangka panjang.

zip / unzip (cross-platform dengan Windows):

zip -r archive.zip ./myfolder     # -r untuk recursive
unzip archive.zip
unzip archive.zip -d /tmp/out     # -d destination folder
unzip -l archive.zip              # list contents

Pakai zip ketika file akan dibuka di Windows tanpa tool tambahan.

Perbandingan praktis:

# Ukuran file contoh source code 100MB:
tar -czf proj.tar.gz proj/        # ~30MB, 2 detik
tar -cjf proj.tar.bz2 proj/       # ~25MB, 8 detik
tar -cJf proj.tar.xz proj/        # ~20MB, 30 detik
zip -r proj.zip proj/             # ~32MB, 3 detik

Tips:

Bonus — progress indicator:

tar -czf - ./myfolder | pv > backup.tar.gz   # pv = pipe viewer

Ekstrak berdasarkan ekstensi (auto-detect):

tar -xf unknown.tar.gz    # gzip
tar -xf unknown.tar.bz2   # bzip2
tar -xf unknown.tar.xz    # xz
# GNU tar auto-detect dari magic bytes, jadi -z/-j/-J opsional saat extract