GNU/Linux >> Belajar Linux >  >> Linux

Tutorial Perintah Tar Ultimate dengan 10 Contoh Praktis

Pada platform Unix, perintah tar adalah utilitas pengarsipan utama. Memahami berbagai opsi perintah tar akan membantu Anda menguasai manipulasi file arsip.

Dalam artikel ini, mari kita tinjau berbagai contoh tar termasuk cara membuat arsip tar (dengan kompresi gzip dan bzip), mengekstrak satu file atau direktori, melihat konten arsip tar, memvalidasi integritas arsip tar, mengetahui perbedaan antara arsip tar dan sistem file, memperkirakan ukuran tar arsipkan sebelum membuatnya, dll.,

1. Membuat arsip menggunakan perintah tar

Membuat arsip tar yang tidak terkompresi menggunakan opsi cvf

Ini adalah perintah dasar untuk membuat arsip tar.

$ tar cvf archive_name.tar dirname/

Pada perintah di atas:

  • c – membuat arsip baru
  • v – daftar file yang diproses secara verbose.
  • f – berikut adalah nama file arsip

Membuat arsip tar gzip menggunakan opsi cvzf

Opsi tar cvf di atas, tidak menyediakan kompresi apa pun. Untuk menggunakan kompresi gzip pada arsip tar, gunakan opsi z seperti yang ditunjukkan di bawah ini.

$ tar cvzf archive_name.tar.gz dirname/
  • z – memfilter arsip melalui gzip

Catatan: .tgz sama dengan .tar.gz

Catatan: Saya ingin menjaga opsi 'cvf' (atau tvf, atau xvf) tidak berubah untuk semua pembuatan arsip (atau melihat, atau mengekstrak) dan menambahkan opsi tambahan di bagian akhir, yang lebih mudah diingat. yaitu cvf untuk pembuatan arsip, cvfz untuk pembuatan arsip gzip terkompresi, cvfj untuk pembuatan arsip bzip2 terkompresi, dll., Agar metode ini berfungsi dengan baik, jangan berikan – di depan opsi.

Membuat arsip tar bzip menggunakan opsi cvjf

Buat arsip tar bzip2 seperti yang ditunjukkan di bawah ini:

$ tar cvfj archive_name.tar.bz2 dirname/
  • j – memfilter arsip melalui bzip2

gzip vs bzip2 :bzip2 membutuhkan lebih banyak waktu untuk mengompres dan mendekompresi daripada gzip. ukuran arsip bzip2 kurang dari gzip.

Catatan: .tbz dan .tb2 sama dengan .tar.bz2

2. Mengekstrak (membuka tar) arsip menggunakan perintah tar

Ekstrak file *.tar menggunakan opsi xvf

Ekstrak file tar menggunakan opsi x seperti yang ditunjukkan di bawah ini:

$ tar xvf archive_name.tar
  • x – mengekstrak file dari arsip

Ekstrak arsip tar yang di-gzip ( *.tar.gz ) menggunakan opsi xvzf

Gunakan opsi z untuk membuka kompresi arsip tar gzip.

$ tar xvfz archive_name.tar.gz

Mengekstrak arsip tar bzip ( *.tar.bz2 ) menggunakan opsi xvjf

Gunakan opsi j untuk membuka kompresi arsip tar bzip2.

$ tar xvfj archive_name.tar.bz2

Catatan: Dalam semua perintah di atas v adalah opsional, yang mencantumkan file yang sedang diproses.

3. Membuat daftar arsip menggunakan perintah tar

Melihat konten file arsip tar tanpa mengekstrak menggunakan opsi tvf

Anda dapat melihat konten file *.tar sebelum mengekstrak seperti yang ditunjukkan di bawah ini.

$ tar tvf archive_name.tar

Melihat konten file *.tar.gz tanpa mengekstrak menggunakan opsi tvzf

Anda dapat melihat konten file *.tar.gz sebelum mengekstrak seperti yang ditunjukkan di bawah ini.

$ tar tvfz archive_name.tar.gz

Melihat konten file *.tar.bz2 tanpa mengekstrak menggunakan opsi tvjf

Anda dapat melihat konten file *.tar.bz2 sebelum mengekstrak seperti yang ditunjukkan di bawah ini.

$ tar tvfj archive_name.tar.bz2

4. Mencantumkan konten file tar dengan perintah lebih sedikit

Ketika jumlah file dalam arsip lebih banyak, Anda dapat menyalurkan output tar menjadi lebih sedikit. Namun, Anda juga dapat menggunakan perintah less secara langsung untuk melihat keluaran arsip tar, seperti yang dijelaskan di salah satu artikel kami sebelumnya Buka &Lihat 10 Jenis File Berbeda dengan Linux Less Command — Kekuatan Utama dari Less.

5. Ekstrak satu file dari file tar, tar.gz, tar.bz2

Untuk mengekstrak file tertentu dari arsip tar, tentukan nama file di akhir perintah tar xvf seperti yang ditunjukkan di bawah ini. Perintah berikut hanya mengekstrak file tertentu dari file tar besar.

$ tar xvf archive_file.tar /path/to/file

Gunakan opsi yang relevan z atau j sesuai dengan metode kompresi gzip atau bzip2 masing-masing seperti yang ditunjukkan di bawah ini.

$ tar xvfz archive_file.tar.gz /path/to/file

$ tar xvfj archive_file.tar.bz2 /path/to/file

6. Ekstrak satu direktori dari file tar, tar.gz, tar.bz2

Untuk mengekstrak satu direktori (bersama dengan subdirektori dan filenya) dari arsip tar, tentukan nama direktori di akhir perintah tar xvf seperti yang ditunjukkan di bawah ini. Berikut ini hanya mengekstrak direktori tertentu dari file tar besar.

$ tar xvf archive_file.tar /path/to/dir/

Untuk mengekstrak beberapa direktori dari arsip tar, tentukan nama direktori individual tersebut di akhir perintah tar xvf seperti yang ditunjukkan di bawah ini.

$ tar xvf archive_file.tar /path/to/dir1/ /path/to/dir2/

Gunakan opsi yang relevan z atau j sesuai dengan metode kompresi gzip atau bzip2 masing-masing seperti yang ditunjukkan di bawah ini.

$ tar xvfz archive_file.tar.gz /path/to/dir/

$ tar xvfj archive_file.tar.bz2 /path/to/dir/

7. Ekstrak grup file dari arsip tar, tar.gz, tar.bz2 menggunakan ekspresi reguler

Anda dapat menentukan regex, untuk mengekstrak file yang cocok dengan pola yang ditentukan. Misalnya, perintah tar berikut mengekstrak semua file dengan ekstensi pl.

$ tar xvf archive_file.tar --wildcards '*.pl'

Penjelasan opsi:

  • –wildcards *.pl – file dengan ekstensi pl

8. Menambahkan file atau direktori ke arsip yang ada menggunakan opsi -r

Anda dapat menambahkan file tambahan ke arsip tar yang ada seperti yang ditunjukkan di bawah ini. Misalnya, untuk menambahkan file ke file *.tar lakukan hal berikut:

$ tar rvf archive_name.tar newfile

File baru ini akan ditambahkan ke archive_name.tar yang ada. Menambahkan direktori ke tar juga serupa,

$ tar rvf archive_name.tar newdir/

Catatan: Anda tidak dapat menambahkan file atau direktori ke arsip terkompresi. Jika Anda mencoba melakukannya, Anda akan mendapatkan kesalahan “tar:Cannot update compressed archives” seperti yang ditunjukkan di bawah ini.

$ tar rvfz archive_name.tgz newfile
tar: Cannot update compressed archives
Try `tar --help' or `tar --usage' for more information.

9. Verifikasi file yang tersedia di tar menggunakan opsi -W

Sebagai bagian dari pembuatan file tar, Anda dapat memverifikasi file arsip yang dibuat menggunakan opsi W seperti yang ditunjukkan di bawah ini.

$ tar cvfW file_name.tar dir/

Jika Anda berencana untuk menghapus direktori/file dari file arsip atau dari sistem file, Anda mungkin ingin memverifikasi file arsip sebelum melakukannya seperti yang ditunjukkan di bawah ini.

$ tar tvfW file_name.tar
Verify 1/file1
1/file1: Mod time differs
1/file1: Size differs
Verify 1/file2
Verify 1/file3

Jika baris output dimulai dengan Verify, dan tidak ada baris yang berbeda maka file/direktori tersebut OK. Jika tidak, Anda harus menyelidiki masalahnya.

Catatan: untuk file arsip terkompresi ( *.tar.gz, *.tar.bz2 ) Anda tidak dapat melakukan verifikasi.

Menemukan perbedaan antara arsip dan sistem file dapat dilakukan bahkan untuk arsip terkompresi. Ini juga menunjukkan output yang sama seperti di atas tidak termasuk baris dengan Verify.

Menemukan perbedaan antara file arsip gzip dan sistem file

$ tar dfz file_name.tgz

Menemukan perbedaan antara file arsip bzip2 dan sistem file

$ tar dfj file_name.tar.bz2

10. Perkirakan ukuran arsip tar

Perintah berikut, memperkirakan ukuran file tar ( dalam KB ) sebelum Anda membuat file tar.

$ tar -cf - /directory/to/archive/ | wc -c
20480

Perintah berikut, memperkirakan ukuran file tar terkompresi ( dalam KB ) sebelum Anda membuat file tar.gz, tar.bz2.

$ tar -czf - /directory/to/archive/ | wc -c
508

$ tar -cjf - /directory/to/archive/ | wc -c
428

Linux
  1. Tutorial Perintah Numfmt Dengan Contoh Untuk Pemula

  2. Tutorial Perintah Mengetik Dengan Contoh Untuk Pemula

  3. Tutorial Perintah Shuf Dengan Contoh Untuk Pemula

  1. 5 Contoh Praktis Perintah dd di Linux

  2. Tutorial Status Keluar Bash Shell dengan Contoh Praktis

  3. Perintah Gema dengan Contoh Praktis

  1. Tutorial Bash HereDoc Dengan Contoh

  2. Perintah tar di Linux Dengan Contoh

  3. Tutorial Bash Array Terbaik dengan 15 Contoh