Perintah bunzip2 Linux: dekompresi dan simpan berkas .bz2

Perintah bunzip2 mendekompresi berkas .bz2 dan biasanya mengganti berkas terkompresi dengan hasil dekompresi. Gunakan -k untuk mempertahankan .bz2 atau -c untuk membaca hasil melalui keluaran standar.

bunzip2 menjalankan fungsi yang sama dengan bzip2 -d. Nama sample.txt.bz2 biasanya menjadi sample.txt. Untuk .tar.bz2, hasilnya masih berupa arsip .tar; anggota di dalamnya perlu diekstrak dengan tar.

Sintaks dan kondisi awal contoh

bunzip2 [opsi] berkas.bz2 [berkas.bz2 ...]

opsi dan berkas.bz2 adalah penanda. Periksa man bunzip2 untuk perilaku versi yang terpasang. Siapkan berkas terkompresi yang dapat dibaca, ruang penyimpanan untuk hasilnya, dan direktori tujuan yang dapat ditulis. Ukuran .bz2 yang kecil tidak berarti hasil dekompresinya juga kecil.

Contoh berikut memakai data.csv.bz2. Anda dapat menyiapkannya dari berkas teks CSV (nilai yang dipisahkan koma) untuk percobaan melalui bzip2 untuk mengompresi sambil mempertahankan sumber. Jalankan setiap contoh pada salinan percobaan terpisah dengan data.csv belum ada: contoh pertama menghapus .bz2 setelah berhasil, sehingga contoh berikutnya memerlukan salinan .bz2 yang masih tersedia.

Mendekompresi dengan perilaku bawaan

bunzip2 data.csv.bz2

Jika berhasil dalam kondisi contoh, data.csv dibuat dan data.csv.bz2 dihapus. bunzip2 biasanya tidak mencetak pesan sukses. Periksa status keluar serta pesan galat, lalu pastikan data.csv dapat dibaca dan isinya sesuai.

Jika data.csv sudah ada, bunzip2 menolak menimpanya secara bawaan. Penolakan ini berbeda dari kegagalan format kompresi. Jangan menambahkan -f secara otomatis; gunakan direktori kosong atau pilih keluaran terpisah jika kedua versi perlu dipertahankan.

Mempertahankan berkas .bz2

bunzip2 -k data.csv.bz2

-k mempertahankan data.csv.bz2 setelah menghasilkan data.csv. Hasil yang diharapkan adalah kedua berkas tersedia. Opsi ini tidak menghapus konflik nama: jika data.csv sudah ada akibat percobaan sebelumnya, siapkan ulang direktori percobaan sebelum menjalankannya.

Untuk memeriksa aliran tanpa menyimpan hasil dekompresi, gunakan bunzip2 -t data.csv.bz2. Pengujian integritas bukan bukti asal pengirim atau kecocokan dengan dokumen yang Anda butuhkan. Data penting tetap memerlukan pembandingan isi atau checksum, yaitu nilai ringkas isi berkas, dengan pembanding yang benar dan cadangan terpisah.

Melihat awal berkas lewat keluaran standar

bunzip2 -c data.csv.bz2 | head

-c mengirim hasil dekompresi ke keluaran standar dan mempertahankan data.csv.bz2. Pada contoh teks ini, head menampilkan sepuluh baris pertama secara bawaan, atau semua baris jika jumlahnya kurang dari sepuluh. Cara ini membantu melihat CSV tanpa membuat data.csv, tetapi tidak cocok untuk menampilkan data biner langsung pada terminal.

Untuk masukan besar, head dapat berhenti membaca sebelum bunzip2 selesai dan menyebabkan galat pipa terputus pada proses hulu. Keberhasilan melihat beberapa baris bukan bukti bahwa seluruh berkas lolos dekompresi. Pada Bash, status pipeline secara bawaan mengikuti perintah terakhir, sehingga gunakan pengujian -t terpisah untuk memeriksa seluruh aliran.

Jika ingin menyimpan ke nama baru, gunakan bunzip2 -c data.csv.bz2 > restored-data.csv dan pastikan restored-data.csv belum ada. Shell dapat mengosongkan tujuan sebelum bunzip2 berjalan, sehingga perlindungan penimpaan bawaan alat tidak melindungi berkas tujuan pengalihan. Jangan mengarahkan hasil ke data.csv.bz2 sendiri; kegagalan juga dapat meninggalkan keluaran parsial.

Memeriksa hasil dan benturan nama

Siapkan note.txt.bz2 di direktori terpisah tanpa note.txt yang sudah ada. Jika masukan dibuat dari teks hello dan satu baris baru, isi tersebut yang semestinya pulih:

bunzip2 note.txt.bz2
ls -l note.txt

Perintah pertama biasanya diam saat berhasil, sedangkan ls -l menampilkan informasi note.txt. Izin, waktu, dan ukuran mengikuti berkas serta lingkungan; keberadaan namanya saja tidak membuktikan isi benar. Dalam contoh bawaan ini note.txt.bz2 sudah tidak ada setelah operasi berhasil.

Periksa status bunzip2 segera setelah baris pertama, sebelum ls mengganti status terakhir. Pada Bash gunakan echo $?: 0 berarti selesai normal, 1 masalah lingkungan seperti berkas tidak ditemukan atau benturan keluaran, 2 data terkompresi rusak, dan 3 galat konsistensi internal.

Buka hasil dengan alat yang sesuai, lalu bandingkan isi atau nilai checksum jika tersedia pembanding tepercaya. Bila .bz2 perlu disimpan untuk pemeriksaan ulang, gunakan -k sejak awal. Menjalankan bunzip2 -c note.txt.bz2 sesudah contoh bawaan memerlukan salinan .bz2 yang disiapkan ulang.

Opsi utama

Opsi Fungsi dan batasnya
-k Mempertahankan berkas terkompresi masukan.
-c Mengirim data hasil dekompresi ke keluaran standar.
-f Memaksa penimpaan keluaran tertentu. Periksa nama dan salinan yang perlu disimpan sebelum memakainya.
-v Menampilkan informasi pemrosesan lebih rinci.
-s Menggunakan metode dekompresi dengan kebutuhan memori lebih rendah, dengan konsekuensi kecepatan lebih rendah.

-s tidak menjamin semua kegagalan akan teratasi: ruang disk, izin, dan kerusakan data tetap perlu diperiksa. Variabel lingkungan BZIP2 dan BZIP dapat memuat opsi bawaan. Jika perilaku tidak sesuai perintah, periksa opsi lingkungan serta versi alat.

Perbedaan dekompresi dan ekstraksi tar

bunzip2 bukan alat untuk membuka format ZIP. Pada bunzip2 backup.tar.bz2, lapisan bzip2 dilepas sehingga biasanya tersisa backup.tar dan masukan .bz2 diganti. Anggota arsip belum menjadi berkas terpisah.

Untuk melihat nama anggota sebelum ekstraksi, gunakan tar -tjf backup.tar.bz2. Siapkan direktori restore/ yang kosong lalu gunakan tar -xjf backup.tar.bz2 -C restore/ untuk mengekstrak arsip terkompresi. Jika yang tersisa sudah backup.tar, gunakan tar tanpa -j. Periksa jalur anggota dan kemungkinan penimpaan tujuan seperti dijelaskan dalam panduan tar untuk daftar anggota dan ekstraksi.

FAQ

Apa yang tersisa setelah bunzip2 membuka .tar.bz2?

Biasanya tersisa arsip .tar. Gunakan tar untuk mengekstrak anggotanya; melepas kompresi belum sama dengan mengekstrak arsip.

Mengapa contoh -k gagal setelah contoh bawaan berhasil?

Contoh bawaan dapat menghapus masukan .bz2 dan meninggalkan berkas hasil yang berbenturan. Siapkan salinan .bz2 serta tujuan yang belum ada sebelum mencoba -k.

Dokumentasi resmi

Rincian opsi, status keluar, dan kebutuhan memori tersedia pada manual resmi bzip2 dan bunzip2.