GNU/Linux >> Belajar Linux >  >> Linux

Perintah 15 Tar di Linux digunakan dengan contoh

Ter adalah utilitas hebat yang digunakan untuk mengumpulkan banyak file dalam satu arsip. File ini sering disebut ‘tarball.’ Hari ini, kami akan memberi tahu Anda tentang berbagai hal yang dapat Anda lakukan dengan tarball menggunakan tar perintah, dengan contoh praktis.

Tar sebagian besar digunakan untuk aplikasi pengemasan dan binari mereka untuk instalasi mentah yang akan bekerja pada sistem apa pun, daripada format khusus dasar seperti paket DEB, RPM atau AUR. Selain itu, tar juga merupakan format yang cukup efisien untuk membuat cadangan.

CATATAN: Semua -f tag yang digunakan di mana saja diperlukan setiap kali berinteraksi dengan 'file' apa pun, yang hampir setiap kasus.

Menggunakan perintah Tar di Linux

1. –daftar

Bendera ini digunakan untuk membuat daftar file di dalam tarball. Argumen yang diperlukan hanyalah nama tarball dan (seperti yang disebutkan), -f bendera. Sintaks standar terlihat seperti:

tar --list -f <Tarball name>

Dalam bentuk yang lebih pendek:

tar tf <Tarball name>

2. –buat

Bendera –create digunakan untuk membuat tarball baru. Argumen yang diperlukan adalah nama tarball (masa depan) dan file yang akan disertakan. Nama-nama direktori juga dapat diterima sebagai argumen. Format standarnya adalah:

tar --create -f <Required tarball name> <File names>

Ini dapat digunakan dalam bentuk singkat dengan cara berikut:

tar cf <Required tarball name> <File names>

Membuat format arsip lain

Ada berbagai format pengarsipan yang disertakan dalam tar, yang digunakan untuk kompresi. Format yang akan kita tampilkan adalah .tar.xz dan .tar.gz format.

Membuat XZ (.tar.xz ) arsip

tar cfJ <Required tarball name> <File names>

Membuat GZip (.tar.gz ) arsip

tar cfz <Required tarball name> <File names>

Membuat arsip bzip2 (.tar.bz2)

tar cfj <Required tarball name> <File names>

3. –tambahkan

Bendera –append digunakan untuk menambahkan file ke tarball yang sudah ada. Sintaksnya cukup sederhana, yaitu:

tar --append -f <Tarball name> <Names of files to be added>

Lebih pendek:

tar rf <Tarball name> <Names of files to be added>

4. –hapus

Ini digunakan untuk menghapus file dari tarball. Sintaksnya memerlukan nama tarball dan nama file dengan urutan sebagai berikut:

tar --delete -f <Name of tarball> <Names of files>

5. –diff

–perbedaan flag menemukan perbedaan antara tarball dan file tertentu yang harus ditentukan pengguna. Misalnya, seperti yang disebutkan sebelumnya, tar banyak digunakan untuk membuat cadangan. Jadi jika ada tarball yang ada, dan Anda ingin memeriksa apakah ada perbedaan antara status file saat ini, dibandingkan dengan yang sudah ada di tarball, Anda dapat menggunakan –diff .

Contoh:

Dalam situasi ini, file test di tarball test.tar kosong, tetapi yang di luar tarball memiliki isi seperti yang ditunjukkan. Perhatikan perbedaan yang ditunjukkan oleh tar .

Seperti yang Anda lihat di sini, kesalahan yang ditampilkan di antara pengujian yang kosong dan tes yang tidak kosong adalah ‘Ukuran berbeda,’ tapi walaupun ukurannya sama, ada error yang muncul:

Secara meyakinkan, sintaks umum dapat ditampilkan sebagai:

tar --diff -f <Name of tarball> <Names of files to be compared>

6. –perbarui

Bendera ini dapat digunakan untuk memperbarui file tertentu di dalam tarball. Jika file dengan nama yang sama ditempatkan dalam perintah ini, file dengan konten baru akan ditambahkan ke akhir file, bukan yang lama diganti dengan versi terbaru. Tangkapan layar di bawah menjelaskan hal ini:

Sekali lagi, ini dapat digunakan dalam hal membuat cadangan. Sintaks umumnya menjadi:

tar --update -f <Tarball name> <Names of files to be updated>

Format lebih pendek:

tar uf <Tarball name> <Names of files to be updated>

7. –ekstrak

Ini mungkin flag perintah tar yang paling sering digunakan. Ini digunakan untuk mengekstrak file dari tarball, dan karena begitu sering digunakan, ia juga memiliki banyak konfigurasi. Untuk perubahan, argumen kecuali nama tarball bersifat opsional. Jika tidak ditentukan, tar akan mengekstrak semua file di dalam tarball. Jadi, sintaks untuk mengekstrak file tertentu:

tar --extract -f <Tarball name> <File names>

Untuk mengekstrak semua file:

tar --extract -f <Tarball name>

Atau format yang lebih pendek:

tar xf <Tarball name> <Optional file names>

Mengekstrak GZip (.tar.gz ) arsip

tar zxf <Tarball name> <Optional file names>

Mengekstrak XZ (.tar.xz ) arsip tar

tar xf <Tarball name> <Optional file names>

Mengekstrak arsip bzip2 (.tar.bz2)

tar xjf <Tarball name> <Optional file names>

Sekarang, setelah menangani dasar-dasarnya, kita dapat masuk ke beberapa fitur tar yang lebih dalam .

8. Timpa kontrol

Mungkin saja nama dari satu atau lebih file yang diekstrak dari tarball sama dengan nama file yang sudah ada di direktori kerja. Beberapa tindakan dapat diambil untuk melakukan apa yang Anda inginkan ketika itu terjadi. Berbagai skenario:

Untuk menimpa file

Kasus pertama adalah Anda ingin mengganti file yang ada di direktori. Untuk memastikan hal ini terjadi, jalankan perintah dengan cara berikut:

tar --extract -f <Tarball name> <Optional file names> --overwrite

Untuk tidak menimpa file

Ini tidak akan menimpa file, mengatakan bahwa file sudah ada. Perintah dapat dikeluarkan dengan cara berikut:

tar --extract -f <Tarball name> <Optional file names> -keep-old-files

Hanya menimpa file lama

Ini sangat berguna, karena hanya melindungi file-file yang lebih baru dibandingkan dengan file dalam arsip. Misalnya, di sini, test2 di dalam arsip memiliki konten yang telah dimodifikasi dibandingkan dengan test2 di direktori:

Seperti yang Anda lihat, dikatakan '... lebih baru atau seumuran ' untuk sisa file, tetapi bukan test2 , yang berarti test2 telah diganti. Oleh karena itu, struktur perintahnya adalah:

tar --extract -f <Tarball Name> <Optional file names> --keep-newer-files

9. –hapus-file

Bendera ini dapat digunakan sebagai jalan pintas untuk menghapus file dari direktori secara langsung setelah diarsipkan. Perintahnya cukup sederhana, sintaksnya sebagai berikut:

tar --create -f < Required tarball name> <File names> --remove-files

10. –kecuali

Bendera –exclude dapat digunakan untuk mengecualikan file tertentu agar tidak diarsipkan. Pola harus ditentukan sebelum yang lain, dan dalam koma terbalik, seperti yang digunakan dalam perintah di bawah ini:

tar --exclude='PATTERN' --create -f <Tarball name required> <File names>

Contoh penggunaan:

11. –to-command='COMMAND'

Perintah tar memiliki fitur untuk menggunakan output sebagai input untuk perintah lain, yaitu –to-command bendera. Misalnya, saya ingin menggunakan nama file dari test2.tar dan membuat direktori dengan nama yang sama dengan nama file di dalam arsip. Ini dapat dilakukan sebagai:

tar xf test2.tar --to-command='mkdir $TAR_REALNAME'

Ini cukup maju. ‘$ ' diperlukan untuk merujuk ke variabel sistem apa pun saat menggunakan Bash. Nama ‘TAR_REALNAME ' adalah variabel yang digunakan untuk merujuk ke satu nama file saat menggunakan –untuk-perintah bendera di tar . Ada beberapa variabel seperti itu, yang dapat ditemukan di man halaman tar , serta di halaman web ini.

12. Kepemilikan file

Kepemilikan file dalam arsip dapat dikonfigurasi dengan berbagai cara. Pertama-tama, untuk membuat arsip di mana file disetel ke pemilik tertentu, tandai –pemilik dapat digunakan. Contoh penggunaan:

Seperti yang terlihat, pengguna 0, dan grup 0 sesuai dengan pengguna root . Akar (seperti yang mungkin Anda ketahui) adalah kaisar penguasa sistem. Anda dapat menemukan UID (User ID) dan GID (Group ID) pengguna lain menggunakan perintah id dengan cara berikut:

id <username>

Sekarang untuk mengekstrak file sambil mempertahankan pemilik file:

tar xf <Tarball name> --same-owner

13. Solusi pencadangan lengkap

Seperti yang sudah saya sebutkan beberapa kali, tar adalah program cadangan yang cukup bagus. Saya akan memberi tahu Anda tentang beberapa flag lagi yang membuatnya lebih baik. Pertama-tama, ada hal-hal yang ingin kita sertakan/kecualikan saat membuat cadangan. Sertakan file yang ditautkan (tautan simbolik). Kecualikan file cadangan sebelumnya dan direktori VCS (kebanyakan hanya berguna untuk pemrogram). Penting juga untuk menghindari direktori tempat Anda membuat cadangan.

Misalnya, Anda berada di /rumah direktori, dan Anda ingin membuat cadangan pengguna, testuser. Perintahnya akan terlihat seperti:

sudo tar --exclude-backups --exclude-vcs --dereference --create -f backup.tar ./testuser
  • 'sudo' karena dua alasan:Pertama, Anda melakukan sesuatu di direktori / home, yang memerlukan hak istimewa. Kedua, jika ada symlink yang mengarah ke file di luar hak istimewa pengguna, itu akan menyebabkan kesalahan.
  • –kecualikan cadangan dan –kecuali-vcs mengecualikan file cadangan dan VCS masing-masing.
  • –referensi membuat tar ikuti symlink ke data yang dituju.

14. Waktu yang diubah

Ada banyak hal yang dapat dilakukan dengan waktu modifikasi file. Pertama-tama, untuk mengubah tanggal modifikasi saat file diarsipkan, kita dapat menggunakan –mtime bendera. Sintaks dasar:

tar --create -f <Required tarball name> <File names> --mtime=YYYY-MM-DD

Sebagai penangkalnya, tanda -m dapat digunakan untuk mendapatkan tanggal yang tidak diubah dan dimodifikasi. Untuk menggunakan ini:

tar xf <Tarball name> -m

Hanya bertindak pada file yang dimodifikasi setelah tanggal tertentu

Bentuk perintah ini dapat digunakan untuk bertindak atas file yang telah dimodifikasi setelah tanggal tertentu. Perintahnya terlihat seperti:

tar xf <Tarball name> --newer-mtime=YYYY-MM-DD

Contoh penggunaan ditunjukkan di bawah ini.

15. Izin

Terakhir, izin dapat dikonfigurasi dengan cukup baik dalam kasus tar file. Ada dua variasi signifikan:

Mempertahankan izin asli

Ini dapat digunakan untuk mempertahankan izin untuk file, seperti yang disebutkan dalam arsip setelah diekstraksi. Ini dicapai melalui perintah seperti ini:

tar xf <Tarball name> --preserve-permissions

Memodifikasi izin sebagai nilai default

Kedua, izin dapat diubah sebagai default umask nilai-nilai. Nilai default bervariasi menurut sistem. Untuk melakukannya, masukkan perintah berikut:

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

Kesimpulan

Perintah tar jauh lebih dari yang terlihat. Ini memiliki spektrum kegunaan yang luas, mulai dari mengemas aplikasi, membuat cadangan, hingga menyimpan bahkan seluruh OS. Kami harap tutorial ini membantu Anda dalam mempelajari sesuatu yang baru dan menarik tentang tar . Untuk pertanyaan apa pun, silakan gunakan bagian komentar.


Linux
  1. Perintah Tee Linux dengan Contoh

  2. Perintah JQ di Linux dengan Contoh

  3. Contoh Perintah tar di Linux

  1. Perintah wc Linux dengan Contoh

  2. Perintah sortir Linux dengan Contoh

  3. Perintah kepala Linux dengan Contoh

  1. Perintah Echo di Linux (Dengan Contoh)

  2. Perintah man di Linux dengan Contoh

  3. Perintah tar di Linux Dengan Contoh