Perintah tar digunakan untuk membuat, mengekstrak, dan mengelola arsip file dalam format .tar, .tar.gz, .tar.bz2, dan lainnya.
Untuk membuat arsip .tar (tanpa kompresi) :
tar -cvf archive_name.tar file1 file2 folder1
-c : Buat arsip baru.
-v : Mode verbose (menampilkan progres).
-f : Tentukan nama file arsip.
Untuk membuat arsip .tar.gz (dengan kompresi gzip) :
tar -czvf archive_name.tar.gz file1 file2 folder1
-z : Kompresi menggunakan gzip.
Untuk membuat arsip .tar.bz2 (dengan kompresi bzip2) :
tar -cjvf archive_name.tar.bz2 file1 file2 folder1
-j : Kompresi menggunakan bzip2.
Untuk membuat arsip .tar.xz (dengan kompresi tinggi dari gzip & bzip2):
tar -cJvf archive_name.tar.xz file1 file2 folder1
-J : Kompresi menggunakan xz
Buat arsip tanpa file tertentu :
tar -czvf archive_name.tar.gz --exclude='*.log' folder/
--exclude : Untuk mengecualikan file atau folder tertentu
Untuk mengekstrak arsip .tar
tar -xvf archive_name.tar
-x : Extrak file dari arsip.
Untuk mengekstrak arsip .tar.gz
tar -xzvf archive_name.tar.gz
-z : Dekompresi menggunakan gzip.
Untuk mengekstrak arsip .tar.bz2
tar -xjvf archive_name.tar.bz2
-j : Kompresi menggunakan bzip2.
Untuk mengekstrak arsip .tar.xz
tar -xJvf archive_name.tar.xz
-J : Kompresi menggunakan xz
Mengekstrak ke Direktori Tertentu
tar -xzvf archive_name.tar.gz -C /path/to/destination
-C : mengekstrak arsip ke direktori tertentu.
Extrack tanpa struktur direktori
tar -xzvf archive_name.tar.gz --strip-components=1
--strip-components : menghapus level direktori tertentu saat extrak
Anda bisa melihat daftar file dalam arsip tanpa mengekstraknya menggunakan opsi -t :
tar -tvf archive_name.tar.gz
Untuk menambahkan file ke arsip yang sudah ada, gunakan opsi -r :
tar -rvf archive_name.tar new_file.txt
Catatan: Opsi ini hanya bekerja untuk arsip .tar (tidak mendukung .tar.gz atau .tar.bz2).Untuk menghapus file dari arsip, gunakan opsi --delete :
tar --delete -f archive_name.tar remove_file.txt
Anda bisa mengompresi atau mengekstrak file langsung ke/dari arsip tanpa menyimpan file sementara menggunakan pipa (|).
kompresi langsung
tar -czvf - folder/ | ssh user@remote_host "cat > archive.tar.gz"
ekstrak langsung
ssh user@remote_host "cat archive.tar.gz" | tar -xzvf -