Cara Mengekstrak File Dari File .tar.gz atau .tar.bz2 di Linux
Diterbitkan: 2022-01-29File tar adalah arsip terkompresi. Anda akan sering menemukannya saat menggunakan distribusi Linux seperti Ubuntu atau bahkan saat menggunakan terminal di macOS. Berikut ini cara mengekstrak—atau membuka tar—isi file tar, juga dikenal sebagai tarball.
Apa Arti .tar.gz dan .tar.bz2?
File yang memiliki ekstensi .tar.gz
atau .tar.bz2
adalah file arsip terkompresi. File dengan hanya ekstensi .tar
tidak dikompresi, tetapi itu akan sangat jarang.
Bagian .tar
dari ekstensi file adalah singkatan dari t ape ar chive, dan merupakan alasan mengapa kedua jenis file ini disebut file tar. File tar berasal dari tahun 1979 ketika perintah tar
dibuat untuk memungkinkan administrator sistem mengarsipkan file ke 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 selotip.
Akhiran ekstensi .gz
atau .bz2
menunjukkan bahwa arsip telah dikompresi, menggunakan algoritme kompresi gzip
atau bzip2
. Perintah tar
akan bekerja dengan baik dengan kedua jenis file, jadi tidak masalah metode kompresi mana yang digunakan—dan itu harus tersedia di mana pun Anda memiliki shell Bash. Anda hanya perlu menggunakan opsi baris perintah tar
yang sesuai.
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 Downloads.
Mari kita 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 : Extract, ambil file dari file tar.
- -v : Verbose, daftar file yang sedang diekstrak.
- -z : Gzip, gunakan gzip untuk mendekompresi file tar.
- -f : File, nama file tar yang ingin kita
tar
. Opsi ini harus diikuti dengan nama file tar.
Daftar file dalam direktori dengan ls
dan Anda akan melihat bahwa direktori telah dibuat bernama Lagu Ukulele. File yang diekstraksi ada di direktori itu. Dari mana direktori ini berasal? Itu terkandung dalam file tar
, dan diekstraksi bersama dengan file.
Sekarang mari kita ekstrak lagu-lagu gitar. Untuk melakukan ini, kita akan menggunakan perintah yang hampir sama persis seperti sebelumnya tetapi dengan satu perbedaan penting. Akhiran ekstensi .bz2
memberi tahu kita bahwa itu telah dikompresi menggunakan perintah bzip2. Alih-alih menggunakan opsi -z
(gzip), kita akan menggunakan opsi -j
(bzip2).
tar -xvjf guitar_songs.tar.bz2
Sekali lagi, file terdaftar ke terminal saat diekstraksi. Agar jelas, opsi baris perintah yang kami gunakan dengan tar
untuk file .tar.bz2
adalah:
- -x : Ekstrak, ambil file dari file tar.
- -v : Verbose, daftar file yang sedang diekstrak.
- -j : Bzip2, gunakan bzip2 untuk mendekompresi file tar.
- -f : File, nama file tar yang ingin kita tar.
Jika kita daftar file di direktori Download kita akan melihat bahwa direktori lain yang disebut Guitar Songs telah dibuat.
Memilih Tempat Mengekstrak File
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/
Melihat di direktori Documents/Songs kami, kami 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 memiliki tar
mengekstrak file ke dalamnya semua 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
(parents) menyebabkan mkdir
membuat direktori induk yang diperlukan, memastikan direktori target dibuat.
Melihat ke 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 file tar
sebelum mengekstraknya dengan menggunakan opsi -t
(daftar). Biasanya lebih mudah untuk menyalurkan output melalui perintah less
.
tar -tf ukulele_songs.tar.gz | lebih sedikit
Perhatikan bahwa kita tidak perlu menggunakan opsi -z
untuk membuat daftar file. Kita hanya perlu menambahkan opsi -z
saat mengekstrak file dari file .tar.gz
. Demikian juga, kita tidak memerlukan opsi -j
untuk membuat daftar file dalam file tar.bz2
.
Menggulir melalui output kita dapat melihat bahwa semua yang ada di file tar disimpan dalam direktori yang disebut Lagu Ukulele, dan di dalam direktori itu, ada 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 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, di mana *
mewakili string karakter apa pun dan ?
mewakili setiap karakter tunggal. Menggunakan wildcard membutuhkan penggunaan opsi --wildcards
.
tar -xvz --wildcards -f ukulele_songs.tar.gz "Lagu Ukulele/Kemungkinan/B*"
Mengekstrak File Tanpa Mengekstrak Direktori
Jika Anda tidak ingin struktur direktori dalam file tar dibuat ulang di hard drive Anda, gunakan opsi --strip-components
. Opsi --strip-components
memerlukan parameter numerik. Angka tersebut menunjukkan berapa banyak tingkat direktori yang harus diabaikan. File dari direktori yang diabaikan masih diekstraksi, tetapi struktur direktori tidak direplikasi di hard drive Anda.
Jika kita menentukan --strip-components=1
dengan contoh file tar kita, direktori teratas Lagu Ukulele dalam file tar tidak dibuat di hard drive. File dan direktori yang akan diekstraksi ke direktori itu diekstraksi di direktori target.
tar -xvzf ukulele_songs.tar.gz --strip-components=1
Hanya ada dua tingkat direktori yang bersarang di dalam file tar contoh kami. 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=2
Jika Anda melihat halaman manual Linux, Anda akan melihat bahwa tar
harus menjadi kandidat yang baik untuk judul "perintah yang memiliki opsi baris perintah paling banyak." 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.
Perintah Linux | ||
File | tar · pv · cat · tac · chmod · grep · diff · sed · ar · man · pushd · popd · fsck · testdisk · seq · fd · pandoc · cd · $PATH · awk · join · jq · fold · uniq · journalctl · tail · stat · ls · fstab · echo · less · chgrp · chown · rev · look · strings · ketik · ganti nama · zip · unzip · mount · umount · install · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · du · ln · patch · konversi · rclone · rusak · srm | |
Proses | alias · layar · atas · bagus · renice · kemajuan · strace · systemd · tmux · chsh · sejarah · di · batch · gratis · yang · dmesg · chfn · usermod · ps · chroot · xargs · tty · pinky · lsof · vmstat · batas waktu · dinding · ya · bunuh · tidur · sudo · su · waktu · groupadd · usermod · grup · lshw · shutdown · reboot · hentikan · matikan · passwd · lscpu · crontab · tanggal · bg · fg | |
Jaringan | netstat · ping · traceroute · ip · ss · whois · fail2ban · bmon · dig · finger · nmap · ftp · curl · wget · who · whoami · w · iptables · ssh-keygen · ufw |
TERKAIT: Laptop Linux Terbaik untuk Pengembang dan Penggemar