Dengan semakin banyak format file arsip / kompresi, apakah ada alat baris perintah gratis / sumber terbuka untuk mengatur semuanya? Mungkin sesuatu dengan set bendera yang konsisten / terpadu? (perhatikan referensi implisit ramah saya untuk tar )
Saya pernah mengalami serangkaian alias yang dimaksudkan untuk menyederhanakan tugas mengompresi / menghapus kompresi file dengan binding ke tar
dan utilitas lain, tetapi saya tidak dapat menemukan ini lagi.
Pembaruan:
Bagaimana saya bisa mengonfigurasi sesuatu yang atool
tidak digunakan unzip
untuk mengekstrak file zip (yang tampaknya tidak dapat menangani file yang lebih besar dari 4GB) dan gunzip
sebagai gantinya digunakan ?
$ aunpack large_file.zip
error: Zip file too big (greater than 4294959102 bytes)
Archive: large_file.zip
warning [large_file.zip]: 1491344848 extra bytes at beginning or within zipfile
(attempting to process anyway)
error [large_file.zip]: start of central directory not found;
zipfile corrupt.
(please check that you have transferred or created the zipfile in the
appropriate BINARY mode and that you have compiled UnZip properly)
aunpack: unzip ...: non-zero return-code
tar
utilities
compression
Amelio Vazquez-Reina
sumber
sumber
unpack
perbedaanatool
?7z
.Jawaban:
Saya menggunakan atool . Itu berhasil. Ini berfungsi dengan banyak, meskipun tidak semua format:
tar, gzip, bzip2, bzip, lzip, lzop, lzma, zip, rar, lha, arj, arc, p7zip dll.
Alat kompresi ini masih diperlukan, meskipun karena atool hanyalah ujung depan untuk mereka.
Saya terutama menyukai
als
perintah yang disediakannya yang berisi daftar isi format arsip apa pun yang didukung.atool
Perintah utama menggunakan flagnya sendiri untuk mengekstraksi arsip (meneruskan flag yang sesuai ke alat ekstraksi yang mendasarinya).Oh, dan itu ada di beberapa repositori distribusi (Fedora dalam kasus saya, meskipun seingat saya, ketika saya menggunakan Ubuntu, itu tidak ada dalam repo mereka, dan saya menginstal dari tarball.).
Pembaruan pada Repositori : atool ada dalam repositori distribusi berikut (hanya rilis terkini yang diperiksa):
Saya yakin ada yang lain ... masuk akal, sebagian besar distribusi modern.
Jawaban untuk Pertanyaan yang Diperbarui "Bagaimana saya bisa mengkonfigurasi sesuatu seperti atool untuk tidak menggunakan unzip untuk mengekstrak file zip ... dan menggunakan gunzip sebagai gantinya" :
Edit file konfigurasi atool
~/.atoolrc
dan tambahkan baris:dengan jalur yang benar ke program gunzip Anda.
Lihat halaman manual untuk daftar lengkap dari variabel-variabel yang mungkin Anda dapat letakkan di file konfigurasi ini, yang jumlahnya banyak . Jika opsi baris perintah yang diperlukan untuk gunzip berbeda dari unzip, Anda mungkin harus memodifikasi sumber atool (perl) itu sendiri.
sumber
Inilah fungsi shell kecil yang menangani beberapa jenis arsip.
Saya menemukan versi asli dari fungsi ini di suatu tempat online dan memodifikasinya sedikit untuk mengekstrak
ar
arsip dantar
arsip terkompresi xz .sumber
bash
danzsh
, tetapi harus bekerja dengansh
baik.Sistem file AVFS menyajikan tampilan sistem file tempat setiap file arsip (mis.
/path/to/foo.zip
) Dapat diakses sebagai direktori (~/.avfs/path/to/foo/zip#
untuk contoh ini). AVFS menyediakan akses hanya baca ke sebagian besar format file arsip.Avfs menggunakan bantuan eksternal yang dapat dengan mudah dikonfigurasikan dengan mengedit file di
/usr
(sayangnya tidak ada cara avfs 1.0 untuk menggunakan file di/usr/local
atau di direktori home Anda, Anda perlu mengedit file di dalam/usr
atau mengkompilasi ulang)./usr/share/avfs/extfs/ext-uzip
adalah skrip untuk menangani.zip
file, ubah jika Anda tidak ingin menggunakannya/usr/bin/unzip
. Anda mungkin bisa menggunakan 7z sebagai gantinya: coba edit/usr/share/avfs/extfs/extfs.ini
dan ubah barisext-uzip
keu7z .zip
.sumber