GNU/Linux >> Belajar Linux >  >> Linux

Perintah tar di Linux Dengan Contoh

Pendahuluan

GNU tar (kependekan dari T kera AR chiver) command adalah utilitas pengarsipan yang paling banyak digunakan di sistem Linux. Tersedia langsung di terminal, tar command membantu membuat, mengekstrak, dan membuat daftar konten arsip.

Utilitasnya sederhana dan memiliki banyak opsi berguna untuk mengompresi file, mengelola cadangan, atau mengekstrak instalasi mentah.

Tutorial ini menunjukkan cara menggunakan perintah tar melalui contoh dan opsi yang tersedia.

Prasyarat

  • Sistem yang menjalankan Linux.
  • Akses ke baris perintah/terminal.
  • File atau file untuk menguji perintah.

Sintaks Perintah Tar

tar sintaks perintah umum adalah:

tar <operation mode> <option(s)> <archive> <file(s) or location(s)>
  • Mode operasi menunjukkan operasi mana yang dijalankan pada file (pembuatan, ekstraksi, dll.). Perintah tersebut mengizinkan dan hanya membutuhkan satu operasi.
  • Opsi memodifikasi mode operasi dan tidak perlu. Tidak ada batasan jumlah opsi.
  • Arsip adalah nama file dan ekstensinya.
  • Nama file adalah daftar yang dipisahkan spasi untuk ekstraksi atau kompresi atau nama yang cocok dengan karakter pengganti.

Ada tiga kemungkinan gaya sintaks untuk menggunakan operasi dan opsi:

1. Gaya tradisional , dikelompokkan bersama tanpa tanda hubung.

Misalnya:

tar cfv <archive> <file(s) or location(s)>

2. Gaya opsi pendek UNIX , menggunakan satu tanda hubung dan opsi berkerumun:

tar -cfv <archive> <file(s) or location(s)>

Atau, tanda hubung sebelum setiap opsi:

tar -c -f -v <archive> <file(s) or location(s)>

3. Gaya opsi panjang GNU dengan tanda hubung ganda dan nama opsi deskriptif:

tar --create --file <archive> --verbose <file(s) or location(s)>

Ketiga gaya dapat digunakan dalam satu tar perintah.

Opsi Perintah Tar

Tabel berikut menguraikan tar . yang umum digunakan operasi dan opsi.

Perintah Peran Deskripsi
--create
-c
Operasi Membuat arsip baru.
--list
-t
Operasi Mencantumkan isi arsip.
--extract
-x
Operasi Ekstrak satu atau beberapa item dari arsip.
--append
-r
Operasi Menambahkan file ke arsip yang ada.
--concatenate
-A
Operasi Menambahkan arsip ke arsip yang ada.
--compare
--diff
-d
Operasi Membandingkan anggota arsip dengan file di sistem.
--delete Operasi Menghapus anggota dari arsip.
--update
-u
Operasi Memperbarui arsip dengan file baru hanya jika tidak ada dalam arsip dan lebih baru dari file yang ada.
--file=<archive>
-f <archive>
Opsi Menentukan file.
-C Opsi Mengubah direktori.
--verbose
-v
Opsi Menampilkan file tar bekerja saat berjalan.
--wildcard Opsi Merender opsi pencarian wildcard.
--bzip2
-j
Opsi Membaca atau menulis arsip terkompresi melalui format bzip2.
--gzip
-z
Opsi Membaca atau menulis arsip terkompresi melalui format gzip.
--xz
-J
Opsi Membaca atau menulis arsip terkompresi melalui format xz.

Ikuti contoh di bagian berikutnya untuk mempelajari cara bekerja dengan tar .

Contoh Perintah Tar

Contoh di bawah ini memiliki persyaratan sebagai berikut:

1. Buat direktori bernama tar_examples dan arahkan ke direktori:

mkdir tar_examples && cd tar_examples

2. Buat direktori lain bernama file di tar_examples dan masuk ke direktori itu:

mkdir files && cd files

3. Buat file untuk mengisi file direktori:

touch file{0..100}.txt

Untuk kembali ke direktori induk, gunakan:

cd ..

Semua contoh di bawah ini bekerja dari tar_examples direktori.

1. Buat Arsip

Sintaks untuk membuat arsip tergantung pada jenis arsip. Untuk membuat arsip, gunakan tar dengan -c atau --create operasi.

Buat Arsip tar

Untuk membuat arsip tar (juga disebut tarball), gunakan:

tar cf <archive name>.tar <file(s) or location(s)>

Misalnya, arsipkan file direktori:

tar cf files.tar files

Output mencantumkan setiap file yang ditambahkan ke arsip. Tampilkan konten direktori untuk melihat file.tar yang dibuat arsip:

tar cf files.tar files

Output mencantumkan setiap file yang ditambahkan ke arsip. Tampilkan konten direktori untuk melihat file.tar yang dibuat arsip:

ls -l

Buat Arsip Terkompresi tar.gz

Tambahkan -z opsi untuk membuat file GNUzip (gzip) terkompresi:

tar czf <archive name>.tar.gz <file(s) or location(s)>

Misalnya:

tar czf files.tar.gz files

Ukuran file lebih kecil dari file tarball biasa dan direktori aslinya.

Buat Arsip Terkompresi tar.bz2

bzip2 adalah program kompresi file dan alternatif untuk gzip.

Untuk membuat tar.bz2 file, tambahkan -j tag:

tar cjf <archive name>.tar.bz2 <file(s) or location(s)>

Misalnya:

tar cjf files.tar.bz2 files

bzip2 memiliki tingkat kompresi yang lebih besar dan membutuhkan waktu lebih lama dari gzip.

Buat Arsip tar.xz

Gunakan -J tag untuk mengompresi arsip dalam format tar.xz:

tar cJf <archive name>.tar.xz <file(s) or location(s)>

Misalnya:

tar cJf files.tar.xz files

Kompresi xz memakan waktu paling lama jika dibandingkan dengan gzip dan bz2. Namun, dengan file yang lebih besar, xz memiliki tingkat kompresi tertinggi.

2. Hapus File Setelah Pembuatan

Untuk menghapus file dari disk setelah pengarsipan, gunakan --remove-files pilihan di akhir:

tar cf <archive> <file(s) or location(s)> --remove-files

Misalnya, buat arsip tar dengan file direktori dan menghapusnya dari disk dalam satu perintah:

tar cf files.tar files --remove-files

Periksa isi direktori untuk memastikan operasi bekerja dengan benar.

3. Ekstrak dari Arsip

Mengekstrak dari arsip atau arsip terkompresi menggunakan -x atau --extract operasi dengan tar . Opsi tambahan bergantung pada jenis file dan di mana tar harus mengekstrak komponen.

Ekstrak Dari Arsip tar

Sintaks umum untuk mengekstrak dari arsip tar adalah:

tar xf <archive name>.tar

Secara default, tar mengekstrak semua komponen ke direktori saat ini. Untuk menunjukkan tempat mengekstrak komponen, tambahkan -C opsi dan tentukan jalurnya:

tar xfC <archive name>.tar <path>

Misalnya, untuk membuat direktori bernama extracted_tar dan ekstrak file dari files.tar , jalankan:

mkdir extracted_tar && tar xfC files.tar extracted_tar

Perintah tidak menampilkan pesan konfirmasi. Periksa konten direktori untuk mengonfirmasi bahwa komponen berhasil diekstraksi.

Ekstrak Dari Arsip tar.gz

Gunakan -z opsi untuk mengekstrak file tar.gz:

tar xzf <archive name>.tar.gz

Perintah mengekstrak konten di direktori saat ini. Tambahkan -C opsi untuk menentukan lokasi:

tar xzfC <archive name>.tar.gz <location>

Misalnya, buat direktori baru bernama extracted_gz dan ekstrak files.tar.gz isi:

mkdir extracted_gz && tar xzfC files.tar.gz extracted_gz

Arsip terkompresi tar.gz membutuhkan waktu paling sedikit untuk mengekstrak jika dibandingkan dengan format kompresi lainnya.

Ekstrak Dari Arsip tar.bz2

Untuk mengekstrak file dari arsip terkompresi tar.bz2 ke direktori saat ini, gunakan:

tar xjf <archive name>.tar.bz2

Ekstrak arsip tar.bz2 ke direktori tertentu dengan:

tar xjfC <archive name>tar.bz2 <location>

Misalnya, buat direktori dan ekstrak konten dari files.tar.bz2 :

mkdir extracted_bz2 && tar xjfC files.tar.bz2 extracted_bz2

Ekstrak Dari Arsip tar.xz

Tambahkan -J opsi untuk mengekstrak dari arsip terkompresi tar.xz. Sintaks untuk mengekstrak di direktori saat ini adalah:

tar xJf <archive name>.tar.xz

Untuk mengekstrak konten ke direktori tertentu, gunakan -C opsi dan tambahkan jalur:

tar xJfC <archive name>.tar.xz <location>

Sebagai contoh, buat direktori dan ekstrak files.tar.xz isi:

mkdir extracted_xz && tar xJfC files.tar.xz extracted_xz

Format kompresi xz adalah jalan tengah antara gz dan bz2 dalam hal waktu ekstraksi.

4. Kontrol Timpa

Kontrol penimpaan tar menangani situasi di mana nama file dalam arsip tumpang tindih dengan file di direktori kerja.

Tiga kemungkinan tindakan penimpaan adalah:

1. Timpa file di direktori kerja:

tar xf <archive> <Optional file(s) or location(s)> --overwrite

2. Jangan menimpa file di direktori kerja:

tar xf <archive> <Optional file(s) or location(s)> --keep-old-files

Jika file sudah ada, tar tidak akan melakukan ekstraksi.

3. Ekstrak file hanya jika lebih baru dari file yang ada:

tar xf <archive> <Optional file(s) or location(s)> --keep-newer-files

Jika file di direktori kerja lebih baru atau berumur sama, tar tidak mengekstrak file.

5. Daftar Isi Arsip

Gunakan perintah berikut untuk membuat daftar isi arsip:

tar tf <archive>

Opsi ini berfungsi untuk semua ekstensi file yang mengandung tar.

Misalnya, daftar file dan direktori di files.tar arsip:

tar tf files.tar.gz

Keluaran mencantumkan semua konten yang disimpan dalam arsip.

6. Temukan File di Arsip

Ada dua cara untuk menemukan konten tertentu menggunakan tar:

1. -t opsi untuk membuat daftar file dalam arsip berguna untuk menemukan file tertentu. Tambahkan nama file (atau nama) setelah perintah:

tar tf <archive> <file(s)>

Misalnya, untuk mencari file50.txt di files.tar.gz arsipkan, jalankan:

tar tf files.tar.gz file/file50.txt

Opsi ini memerlukan mengetahui kemungkinan jalur ke file.

2. Gunakan tar bersama dengan perintah grep untuk memfilter output:

tar tf <archive> | grep <file(s)>

Misalnya:

tar tf files.tar.gz | grep file50.txt

Opsi ini tidak perlu mengetahui kemungkinan jalur ke file.

7. Temukan Banyak File dalam satu Arsip

Gunakan --wildcards pilihan untuk mencocokkan beberapa contoh file. Misalnya:

tar tf files.tar.gz --wildcards file/files5*.txt

Terapkan pencocokan karakter pengganti jika file memiliki nama yang mirip, atau untuk memfilter jenis file tertentu.

8. Kecualikan File saat Membuat Arsip

Untuk mengecualikan file tertentu dari arsip selama pembuatan, tambahkan opsi berikut:

tar cf <archive> --exclude='<pattern>' <files(s) or location(s)>

Misalnya, buat arsip dari direktori file dan kecualikan semua file .txt:

tar cf files.tar --exclude='*.txt' files

Buat daftar isi arsip:

tar tf files.tar

Output tidak menunjukkan file .txt, hanya file direktori dalam arsip.

9. Ekstrak File Tunggal dari Arsip

Hindari mengekstrak seluruh arsip jika Anda memerlukan satu atau beberapa file.

Untuk mendapatkan satu file dari arsip:

1. Buat daftar isinya dan periksa apakah file tersebut ada:

tar tf files.tar | grep file100.txt

Output mencetak jalur ke file yang diperlukan untuk langkah berikutnya.

2. Ekstrak file tertentu dengan:

tar xf files.tar files/file100.txt

Perintah membuat direktori file dengan hanya file yang ditunjukkan. Ikuti langkah yang sama untuk mengekstrak satu file dari arsip terkompresi dengan menambahkan tag yang sesuai. Misalnya, gunakan -z opsi untuk menarik dari file tar.gz.

10. Opsi Verbose

Opsi verbose menampilkan informasi tambahan setelah menjalankan perintah tar. Tambahkan -v atau --verbose ke operasi apa pun untuk melihat hasilnya.

Misalnya, buat file tar.gz dan tambahkan -v :

tar czfv files.tar.gz files

Outputnya menunjukkan setiap file saat ditambahkan ke arsip.

Beberapa perintah tar menampilkan informasi tambahan saat Anda menambahkan -v tandai dua kali. Misalnya, coba tambahkan file ke arsip dengan -vv :

tar czfvv files.tar.gz files

Output mencetak format daftar panjang dan terlihat mirip dengan menjalankan perintah ls -l.

11. Hapus dari Arsip

Untuk menghapus dari arsip, cari file yang ingin Anda hapus, misalnya:

tar tf files.tar | grep file100.txt

Kemudian, hapus file menggunakan --delete tag:

tar --delete -f files.tar files/file100.txt

Opsi hapus tidak berfungsi pada . yang dikompresi format file.

12. Tambahkan File ke Arsip

Tambahkan file ke arsip yang ada menggunakan -r menandai. Sintaksnya adalah:

tar rf <archive name>.tar <file(s) or location(s)>

Misalnya, tambahkan files.tar.gz yang dikompresi file ke files.tar arsip:

tar rf files.tar files.tar.gz

Arsip yang sudah dikompresi tidak dapat diperbarui, jadi sintaksnya hanya berfungsi untuk file tarball .

13. Gabungkan Arsip

Gunakan --concatenate atau -A pilihan untuk menggabungkan beberapa arsip. Sintaks dasarnya adalah:

tar Af <archive to extend> <archive to extend with>

Sebagai contoh, salin files.tar yang ada file menggunakan perintah cp:

cp files.tar files_copy.tar

Selanjutnya, gabungkan dua arsip:

tar Af files.tar files_copy.tar

Untuk mengonfirmasi bahwa penggabungan berhasil, periksa ukuran file.

14. Perbedaan Antara Arsip dan File

Untuk memeriksa perbedaan antara arsip dan file pada disk, gunakan -d tag:

tar df <archive name>

Perintah mencari konten yang sama dan membandingkannya dengan apa yang ada di arsip. Opsi ini hanya memeriksa file yang ada dan mengabaikan file yang baru ditambahkan.

Langkah-langkah di bawah ini menunjukkan cara menggunakan -d , --diff , atau --compare tag dengan tar :

1. Buat arsip tar:

tar cf files.tar files

2. Bandingkan arsip dengan direktori yang ada:

tar df files.tar

Outputnya tidak menampilkan apa-apa, artinya tidak ada perbedaan antara file yang ada.

3. Tambahkan teks ke file yang ada di file direktori:

echo 'Hello' >> files/file0.txt

4. Bandingkan lagi arsip dengan direktori yang ada:

tar df files.tar

Kali ini, output menunjukkan perbedaan waktu modifikasi dan ukuran untuk file tertentu. Membandingkan memberikan wawasan tentang setiap perubahan yang dibuat pada sistem setelah membuat arsip.

15. Perbarui File di Arsip

Perbarui file yang ada di arsip dengan versi yang lebih baru dari disk dengan -u pilihan:

tar uf <archive> <file(s) or location(s)>

Misalnya, perbarui files.tar arsipkan dengan file teks yang diubah:

tar uf files.tar files

Periksa konten tar untuk file yang diubah:

tar tfv files.tar | grep files0.txt

Perintah memperbarui arsip dengan file yang diubah tanpa menimpa apa pun.

16. Waktu yang Diubah

Tar menawarkan berbagai opsi untuk memodifikasi stempel waktu file. Tetapkan tanggal khusus saat membuat arsip dengan menambahkan --mtime pilihan dan memberikan tanggal:

tar cf <archive> <file(s) or location(s)> --mtime=YYYY-MM-DD

Misalnya, buat arsip dan atur tanggalnya menjadi 1 Januari 1999:

tar cf files.tar files --mtime=1999-01-01

Atau, ekstrak file dengan tanggal dan waktu saat ini:

tar xf files.tar -m

Fitur yang berguna saat bekerja dengan waktu adalah memfilter file yang dimodifikasi setelah tanggal tertentu. Misalnya, untuk mengekstrak file yang dibuat setelah tanggal, gunakan --newer-mtime pilihan dan tambahkan tanggal:

tar xf <archive> --newer-mtime=YYYY-MM-DD

17. Izin

Ada dua cara yang mungkin untuk mengontrol izin file dengan tar saat mengekstrak arsip:

1. Pertahankan izin asli:

tar xf <archive name> --preserve-permissions

Izin adalah sebagaimana dinyatakan dalam file sebelum pembuatan arsip.

2. Ubah hak akses ke nilai umask default:

tar xf <archive name> --no-same-permissions

File menggunakan izin default Linux.

18. Kepemilikan File

Tar memungkinkan konfigurasi kepemilikan file. Misalnya, untuk menyetel pemilik file saat membuat arsip, tambahkan --owner dan --group opsi dan memberikan nilai untuk masing-masing:

tar cf <archive> <file(s) or location(s)> --owner=<value> --group=<value>

Nilai pemilik mewakili UID (User ID) sedangkan nilai grup adalah GID (ID Grup). Untuk menemukan nilai ini bagi pengguna, jalankan:

id <username>

Misalnya, buat arsip dan setel kepemilikan ke root:

tar cf files.tar files --owner=0 --group=0

Tar memungkinkan pelestarian kepemilikan saat mengekstraksi dari arsip. Untuk melakukannya, tambahkan --same-owner pilihan di akhir:

tar xf <archive> --same-owner

19. Tulis ke Program Eksternal

--to-command option menginstruksikan tar untuk mengirim setiap file yang diekstrak ke output standar untuk program eksternal. Sintaks dasarnya adalah:

tar xf <archive> --to-command='<command>'

Misalnya, ekstrak files.tar isi dan pipa nama file sebagai direktori:

tar xf files.tar --to-command='mkdir $TAR_FILENAME'

Perintah membuat direktori yang dinamai sesuai dengan setiap file yang diekstraksi. Untuk informasi lebih lanjut dan variabel lingkungan Linux yang tersedia, kunjungi halaman manual.

20. Buat Cadangan Harian

Untuk mengotomatiskan pencadangan harian, buat skrip bash dan tambahkan baris berikut:

tar czf backup-$(date +%Y%m%d).tar.gz files
find backup* -mtime +1 -delete

Perintah tar membuat arsip terkompresi, sedangkan perintah find mencari file cadangan yang lebih lama dari satu hari. Ubah +1 parameter ke +7 untuk mingguan atau +31 untuk pencadangan bulanan.


Linux
  1. Perintah Tee Linux dengan Contoh

  2. Perintah kepala Linux dengan Contoh

  3. Perintah JQ di Linux dengan Contoh

  1. Perintah wc Linux dengan Contoh

  2. Perintah tar Linux

  3. Contoh Perintah tar di Linux

  1. Perintah sortir Linux dengan Contoh

  2. Perintah Echo di Linux (Dengan Contoh)

  3. Perintah man di Linux dengan Contoh