Apa Arti .tar.gz dan .tar.bz2?
File yang memiliki ekstensi .tar.gz atau .tar.bz2 adalah file arsip terkompresi. File dengan ekstensi .tar saja tidak terkompresi, tetapi akan sangat jarang. Bagian .tar dari ekstensi file adalah singkatan dari tape archive, dan merupakan alasan mengapa kedua jenis file ini disebut file tar. File tar sudah ada sejak tahun 1979 ketika perintah tar dibuat untuk memungkinkan administrator sistem mengarsipkan file ke dalam tape. Empat puluh tahun kemudian kami masih menggunakan perintah tar untuk mengekstrak file tar ke hard drive kami. Seseorang di suatu tempat mungkin masih menggunakan tar dengan tape. Akhiran ekstensi .gz atau .bz2 menunjukkan bahwa arsip telah dikompresi, menggunakan algoritma kompresi gzip atau bzip2. Perintah tar akan bekerja dengan baik pada kedua jenis file, jadi tidak masalah metode kompresi mana yang digunakan — dan perintah tersebut harus tersedia di mana pun Anda memiliki shell Bash. Anda hanya perlu menggunakan opsi baris perintah tar yang sesuai. Perlu dicatat bahwa semua yang ada di artikel ini juga berfungsi pada Subsistem Windows untuk Linux, yang memungkinkan Anda menginstal Bash shell di dalam Windows 10 atau Windows 11, meskipun ada cara lain untuk membuka file tar.gz di Windows juga.Mengekstrak File dari File Tar
Katakanlah Anda telah mengunduh dua file lembaran musik. Satu file disebut ukulele_songs.tar.gz , yang lain disebut Guitar_songs.tar.bz2 . File-file ini ada di direktori Unduhan. Mari kita ekstrak (juga kadang-kadang disebut "untar" alih-alih mengekstrak) lagu ukulele:tar -xvzf ukulele_songs.tar.gzSaat file diekstraksi, file tersebut terdaftar di jendela terminal. Opsi baris perintah yang kami gunakan adalah:
- -x: Ekstrak, ambil file dari file tar.
- -v: Verbose, daftarkan file yang sedang diekstraksi.
- -z: Gzip, gunakan gzip untuk mendekompresi file tar.
- -f: File, nama file tar yang ingin kita gunakan untuk tar. Pilihan ini harus diikuti dengan nama file tar.
tar -xvjf Guitar_songs.tar.bz2Sekali lagi, file akan dicantumkan ke terminal saat diekstraksi. Untuk lebih jelasnya, opsi baris perintah yang kami gunakan dengan tar untuk file .tar.bz2 adalah:
- -x: Ekstrak, ambil file dari file tar.
- -v: Verbose, daftarkan file yang sedang diekstraksi.
- -j: Bzip2, gunakan bzip2 untuk mendekompresi file tar.
- -f: File, nama file tar yang ingin kita gunakan untuk tar.
Memilih Tempat Mengekstrak File Ke
Jika kita ingin mengekstrak file ke lokasi selain direktori saat ini, kita dapat menentukan target direktori menggunakan opsi -C (direktori tertentu).tar -xvjf Guitar_songs.tar.gz -C ~/Documents/Songs/Melihat di direktori Dokumen/Lagu kami, kami akan melihat direktori Lagu Gitar telah dibuat. Perhatikan bahwa target direktori harus sudah ada, tar tidak akan membuatnya jika tidak ada. Jika Anda perlu membuat direktori dan meminta tar mengekstrak semua file ke dalamnya dalam satu perintah, Anda dapat melakukannya sebagai berikut:
mkdir -p ~/Documents/Songs/Downloaded && tar -xvjf Guitar_songs.tar.gz -C ~/ Dokumen/Lagu/Diunduh/Opsi -p (orang tua) menyebabkan mkdir membuat direktori induk apa pun yang diperlukan, memastikan direktori target dibuat.
Mencari Di Dalam File Tar Sebelum Mengekstraknya
Sejauh ini kami baru saja melakukan lompatan keyakinan dan mengekstrak file terlihat tak terlihat. Anda mungkin ingin melihat sebelum melompat. Anda dapat meninjau konten file tar sebelum mengekstraknya dengan menggunakan opsi -t (daftar). Biasanya lebih mudah untuk menyalurkan output melalui perintah less.tar -tf ukulele_songs.tar.gz | lessPerhatikan bahwa kita tidak perlu menggunakan opsi -z untuk membuat daftar file. Kita hanya perlu menambahkan opsi -z saat kita mengekstrak file dari file .tar.gz. Demikian pula, kita tidak memerlukan opsi -j untuk membuat daftar file dalam file tar.bz2. Menggulir output kita dapat melihat bahwa semua yang ada di file tar disimpan dalam direktori bernama Lagu Ukulele, dan di dalam direktori itu, ada adalah file dan direktori lainnya. Kita dapat melihat bahwa direktori Lagu Ukulele berisi direktori yang disebut Lagu Acak, Ramones, dan Kemungkinan. Untuk mengekstrak semua file dari direktori dalam file tar gunakan perintah berikut. Perhatikan bahwa path dibungkus dengan tanda kutip karena ada spasi di path.
tar -xvzf ukulele_songs.tar.gz "Ukulele Songs/Ramones/"Untuk mengekstrak satu file, berikan path dan nama file.
tar - xvzf ukulele_songs.tar.gz "Lagu Ukulele/023 - My Babe.odt"Anda dapat mengekstrak file pilihan dengan menggunakan wildcard, di mana * mewakili string karakter apa pun dan ? mewakili karakter tunggal apa pun. Menggunakan wildcard memerlukan penggunaan opsi --wildcards.
tar -xvz --wildcards -f ukulele_songs.tar.gz "Ukulele Songs/Possibles/B*"
Mengekstrak File Tanpa Mengekstrak Direktori
Jika Anda tidak ingin struktur direktori di tar file yang akan dibuat ulang di hard drive Anda, gunakan opsi --strip-components. Opsi --strip-components memerlukan parameter numerik. Angka tersebut menunjukkan berapa banyak level direktori yang harus diabaikan. File dari direktori yang diabaikan masih diekstraksi, tetapi struktur direktori tidak direplikasi pada hard drive Anda. Jika kami menentukan --strip-components=1 dengan contoh file tar kami, direktori paling atas Lagu Ukulele dalam file tar tidak dibuat pada harddisk. File dan direktori yang akan diekstraksi ke direktori tersebut diekstraksi di direktori target.tar -xvzf ukulele_songs.tar.gz --strip-components=1Hanya ada dua tingkat direktori yang bersarang dalam file tar contoh kita. Jadi jika kita menggunakan --strip-components=2, semua file diekstraksi di direktori target, dan tidak ada direktori lain yang dibuat.
tar -xvzf ukulele_songs.tar.gz --strip-components=2Jika Anda melihat orang Linux halaman Anda akan melihat bahwa tar harus menjadi kandidat yang baik untuk judul "perintah yang memiliki opsi baris perintah terbanyak." Untungnya, untuk memungkinkan kita mengekstrak file dari file .tar.gz dan tar.bz2 dengan tingkat kontrol granular yang baik, kita hanya perlu mengingat beberapa opsi ini.Artikel Diperbarui pada: September 22, 2023
Kontributor: Syauqi Wiryahasana
Model: Haifa Manik Intani