Singkat cerita: alat GNU tar tidak menyalurkan melalui zip / unzip karena tidak ada yang peduli.
Cerita panjang, ukuran asli:
tar
awalnya tidak dimaksudkan untuk mengompresi dan mengompresi file, tetapi untuk pengarsipan beberapa file dalam satu file besar. Karena orang tidak hanya ingin mengarsipkan file mereka, tetapi juga, kompres mereka, sehingga mereka hanya menyalurkan tar
output melalui kompresor yang menerima input aliran data dan menjatuhkan hasilnya ke file. Keuntungan!
Sekarang, untuk membuat tugas seperti itu tidak sesakit mungkin, tar
memutuskan untuk menyalurkan secara internal file yang dihasilkan ke alat kompresi, seperti gzip, lzma, dll., Yang diaktifkan oleh flag khusus untuk setiap format saat menjalankan tar
. Itu sebabnya ketika Anda mencoba untuk mengekstrak file yang rusak melalui tar
Anda ditampilkan kesalahan alat yang mendasarinya, bukan dari tar
:
$ tar zxf damaged.tar.gz
gzip: damaged.tar.gz: unexpected end of file
Jadi, bukan itu yang tar
tidak mengompres file zip, hanya tar
saja tidak memiliki kemampuan untuk memipipnya melalui alat yang benar, karena tidak ada yang benar-benar repot untuk mengimplementasikannya, dan zip sudah menyelesaikan fungsi arsip file dari file tar Format ada alasan kurang untuk tar untuk mendukungnya.
Sekarang, ada alat all-in-one yang kompres / uncompress semua yang Anda lemparkan ke mereka, sekali lagi, Anda harus memiliki alat yang benar untuk benar-benar mendukungnya. Jika Anda tidak memilikinya, alat itu akan gagal.
bsdtar
dapat mengekstrak.zip
arsip: P