cara mengembang DAN mengekstrak .tar.bz2 menggunakan alat baris perintah 7-zip

7

Saya memiliki file .tar.bz2 yang ingin saya dekompresi dan diekstraksi melalui alat commandline 7-zip.

Jadi pada dasarnya saya mencari yang setara

tar -xjf foo.tar.bz2

dengan 7-zip hanya ada opsi "x" untuk mengekstrak, begitu juga

7z x foo.tar.bz2

memberi saya file foo.tar meningkat bukannya membongkar semua direktori di dalam tar. Apa opsi yang sesuai untuk 7z?

Philipp
sumber
Bisakah Anda menambahkan alasan mengapa Anda ingin melakukannya melalui 7-zip ketika tar dapat menanganinya dengan lebih elegan.
bagavadhar

Jawaban:

3

Dengan 7zip, Anda harus menjalankan perintah dua kali, sekali untuk mendekompresi dan kembali untuk mengekstrak. Format file tar hanyalah "gumpalan" dari semua yang macet ujung ke ujung. Kemudian seluruh file tar dikompres menggunakan berbagai algoritma kompresi, dalam contoh Anda bzip. Pada dasarnya file yang dihasilkan memiliki dua lapisan. Ketika Anda "mengekstrak" lapisan bzip Anda mendapatkan file tar, maka ketika Anda mengekstrak file tar Anda mendapatkan banyak file individu.

7zip tidak menangani banyak lapisan sekaligus, meskipun ia mampu menangani kedua lapisan:

7z x foo.tar.bz2
7z x foo.tar

Sebenarnya alat unix standar bekerja dengan cara yang sama:

bunzip2 foo.tar.bz2
tar xf foo.tar

Namun tarperintah unix memiliki fitur kenyamanan yang memanggil langkah-langkah kompresi dan dekompresi sekunder menggunakan program lain sebelum / setelah menangani bagian tar. Pada dasarnya -jargumen memanggil bzip2/ bunzip2, Anda tidak melihat langkah kedua. Demikian juga -zakan memanggil gzip/ gunzip, dll.

Caleb
sumber
3

Meskipun Anda tidak dapat melakukan ini dalam satu perintah, Anda dapat menggunakan pipa shell untuk menghubungkan dua perintah 7z menjadi satu baris perintah seperti ini:

7z e -so .\Downloads\enron_mongo.tar.bz2 | 7z e -si -ttar
Justin Dearing
sumber
2

Bagaimana dengan versi yang lebih pendek dari kombinasi 7z dan tar menggunakan standar keluar dan pipa?

# 7z x -so my-compressed-tarball.tar.bz2| tar xf -
slashdot
sumber
1
7z x -so foo.tar.bz2 | 7z x -si -ttar
gray1mg
sumber