Cara Mengekstrak File Dari File .tar.gz atau .tar.bz2 di Linux
File tar adalah arsip terkompresi. Anda akan sering menemukannya saat menggunakan distribusi Linux seperti Ubuntu atau bahkan saat menggunakan terminal di macOS. Berikut cara mengekstrak — atau mengurai — konten file tar, yang juga dikenal sebagai tarball.
Apa Arti .tar.gz dan .tar.bz2?
File yang memiliki .tar.gz
atau .tar.bz2
ekstensi adalah file arsip terkompresi. File dengan .tar
ekstensi saja tidak terkompresi, tetapi itu akan sangat jarang.
The .tar
porsi ekstensi file singkatan t kera ar lokio, dan merupakan alasan bahwa kedua jenis file ini disebut file tar. File tar tertanggal kembali ke tahun 1979 ketika tar
perintah dibuat untuk memungkinkan administrator sistem mengarsipkan file ke tape. Empat puluh tahun kemudian kami masih menggunakan tar
perintah untuk mengekstrak file tar ke hard drive kami. Seseorang di suatu tempat mungkin masih menggunakan tar
selotip.
The .gz
atau .bz2
ekstensi akhiran menunjukkan bahwa arsip telah dikompresi, baik menggunakan gzip
atau bzip2
algoritma kompresi. The tar
perintah akan bekerja dengan gembira dengan kedua jenis file, sehingga tidak masalah metode yang kompresi digunakan-dan itu harus tersedia di mana-mana Anda memiliki Bash shell. Anda hanya perlu menggunakan tar
opsi baris perintah yang sesuai.
Mengekstrak File dari File Tar
Katakanlah Anda telah mengunduh dua file lembaran musik. Satu file disebut ukulele_songs.tar.gz
, yang lainnya disebut guitar_songs.tar.bz2
. File-file ini ada di direktori Download.
Ayo ekstrak lagu ukulele:
tar -xvzf ukulele_songs.tar.gz
Saat file diekstraksi, mereka terdaftar di jendela terminal.
Opsi baris perintah yang kami gunakan adalah:
- -x : Ekstrak, ambil file dari file tar.
- -v : Verbose, daftarkan file saat diekstrak.
- -z : Gzip, gunakan gzip untuk mendekompresi file tar.
- -f : File, nama file tar yang ingin kita gunakan
tar
. Opsi ini harus diikuti dengan nama file tar.
Buat daftar file di direktori dengan ls
dan Anda akan melihat bahwa direktori telah dibuat bernama Lagu Ukulele. File yang diekstrak ada di direktori itu. Dari mana asal direktori ini? Itu ada di dalam tar
file, dan diekstraksi bersama dengan file.
Sekarang mari kita ekstrak lagu gitarnya. Untuk melakukan ini kita akan menggunakan perintah yang hampir persis sama seperti sebelumnya tetapi dengan satu perbedaan penting. The .bz2
ekstensi akhiran memberitahu kita telah dikompresi dengan menggunakan perintah bzip2. Alih-alih menggunakan opsi -z
(gzip), kami akan menggunakan opsi -j
(bzip2).
tar -xvjf guitar_songs.tar.bz2
Sekali lagi, file-file tersebut terdaftar ke terminal saat mereka diekstraksi. Agar jelas, opsi baris perintah yang kami gunakan tar
untuk .tar.bz2
file tersebut adalah:
- -x : Ekstrak, ambil file dari file tar.
- -v : Verbose, daftarkan file saat diekstrak.
- -j : Bzip2, gunakan bzip2 untuk mendekompresi file tar.
- -f : File, nama file tar yang ingin kita gunakan untuk tar.
Jika kita membuat daftar file di direktori Download kita akan melihat bahwa direktori lain yang disebut Guitar Songs telah dibuat.
Memilih Tempat Ekstrak File Ke
Jika kita ingin mengekstrak file ke lokasi selain direktori saat ini, kita dapat menentukan direktori target menggunakan opsi -C
(direktori yang ditentukan).
tar -xvjf guitar_songs.tar.gz -C ~ / Documents / Songs /
Mencari di direktori Documents / Songs kita, kita akan melihat direktori Guitar Songs telah dibuat.
Perhatikan bahwa direktori target harus sudah ada, tar
tidak akan membuatnya jika tidak ada. Jika Anda perlu membuat direktori dan tar
mengekstrak file ke dalamnya dalam satu perintah, Anda dapat melakukannya sebagai berikut:
mkdir -p ~ / Documents / Songs / Downloaded && tar -xvjf guitar_songs.tar.gz -C ~ / Documents / Songs / Downloaded /
Opsi -p
(orang tua) menyebabkan mkdir
untuk membuat direktori induk yang diperlukan, memastikan direktori target dibuat.
Mencari Di Dalam File Tar Sebelum Mengekstraknya
Sejauh ini kami baru saja mengambil lompatan keyakinan dan mengekstrak file yang tidak terlihat. Anda mungkin ingin melihat sebelum melompat. Anda dapat meninjau konten tar
file sebelum Anda mengekstraknya dengan menggunakan opsi -t
(daftar). Biasanya lebih mudah untuk menyalurkan output melalui less
perintah.
tar -tf ukulele_songs.tar.gz | kurang
Perhatikan bahwa kita tidak perlu menggunakan -z
opsi untuk mendaftar file. Kami hanya perlu menambahkan -z
opsi saat kami mengekstrak file dari .tar.gz
file. Demikian pula, kami tidak memerlukan -j
opsi untuk mencantumkan file dalam tar.bz2
file.
Menggulir keluaran kita dapat melihat bahwa semua yang ada di file tar disimpan dalam direktori bernama Lagu Ukulele, dan di dalam direktori itu, ada file dan direktori lainnya.
Kita dapat melihat bahwa direktori Lagu Ukulele berisi direktori yang disebut Random Songs, Ramones dan Possibles.
Untuk mengekstrak semua file dari direktori dalam file tar, gunakan perintah berikut. Perhatikan bahwa jalur dibungkus dengan tanda kutip karena ada spasi di jalur tersebut.
tar -xvzf ukulele_songs.tar.gz "Lagu Ukulele / Ramones /"
Untuk mengekstrak satu file, berikan jalur dan nama file.
tar -xvzf ukulele_songs.tar.gz "Ukulele Songs / 023 - My Babe.odt"
Anda dapat mengekstrak pilihan file dengan menggunakan wildcard, yang *
mewakili string karakter ?
apa pun dan mewakili karakter tunggal apa pun. Menggunakan wildcard membutuhkan penggunaan --wildcards
opsi.
tar -xvz --wildcards -f ukulele_songs.tar.gz "Lagu Ukulele / Kemungkinan / B *"
Mengekstrak File Tanpa Mengekstrak Direktori
Jika Anda tidak ingin struktur direktori di file tar dibuat ulang di hard drive Anda, gunakan --strip-components
opsi. The --strip-components
opsi membutuhkan parameter numerik. Angka tersebut mewakili berapa banyak tingkat direktori yang akan diabaikan. File dari direktori yang diabaikan masih diekstraksi, tetapi struktur direktori tidak direplikasi di hard drive Anda.
Jika kami menentukan --strip-components=1
dengan contoh file tar kami, direktori Lagu Ukulele paling atas dalam file tar tidak dibuat pada hard drive. File dan direktori yang akan diekstrak ke direktori itu diekstraksi di direktori target.
tar -xvzf ukulele_songs.tar.gz --strip-components = 1
Hanya ada dua tingkat direktori bersarang dalam contoh file tar kita. Jadi jika kita menggunakan --strip-components=2
, semua file diekstrak di direktori target, dan tidak ada direktori lain yang dibuat.
tar -xvzf ukulele_songs.tar.gz --strip-components = 2
Jika Anda melihat halaman manual Linux, Anda akan melihat bahwa tar
itu harus menjadi kandidat yang baik untuk judul "perintah yang memiliki opsi baris perintah paling banyak." Untungnya, untuk memungkinkan kami mengekstrak file dari .tar.gz
dan tar.bz2
file dengan tingkat kontrol granular yang baik, kami hanya perlu mengingat beberapa opsi ini.