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