Alat unarchiving baris perintah universal pada Mac

17

Apakah ada beberapa alat baris perintah yang memungkinkan mengekstraksi file dari tipe arsip yang paling dikenal ? Sesuatu seperti StuffIt Expander, tetapi tanpa gui.

cekcok
sumber

Jawaban:

15

Unarchiver memiliki dua utilitas baris perintah sejak versi 2.5 menurut situs web:

Format file yang didukung termasuk Zip, Tar-GZip, Tar-BZip2, RAR, 7-zip, LhA, StuffIt dan banyak lagi format lainnya yang semakin tidak jelas. [..] Jika Anda memiliki file terkompresi yang tidak dibuka Unarchiver, silakan kirim bug pada pelacak bug , dan sertakan file yang dimaksud, dan saya akan melihat apakah mungkin untuk menambahkan dukungan untuk itu!

[..]

Sekarang ada dua utilitas baris perintah yang tersedia, unardan lsar, yang dapat digunakan untuk membongkar dan mendaftarkan arsip, masing-masing. Mereka masih dalam pengembangan dan tidak benar-benar fitur lengkap, tetapi mereka harus bekerja. Ini tersedia sebagai binari yang dikompilasi untuk OS X dan Windows pada halaman unduhan , dan juga dapat dibangun di Linux.

Untuk mengunduh alat baris perintah (tidak termasuk dalam unduhan The Unarchiver!) Reguler, buka halaman unduhan kode google proyek dan pilih unar0.2.zip(berfungsi pada 20 September 2010).

Daniel Beck
sumber
Bagus! Dan itu mendukung banyak format, seperti yang diminta.
Arjan
1
Saya tidak dapat menemukan CLI di sana.
tig
1
tig: Maksud Anda, Anda tidak dapat mengeklik "unduh halaman" pada paragraf kedua yang dikutip dengan baik oleh Arjan di atas dan pada "unar0.2.zip" di sana? Karena itu berfungsi dengan baik untuk saya.
Daniel Beck
@tig, mengikuti tautan yang dirujuk Daniel, lihat "unar0.2.zip, unar, dan utilitas baris perintah lsar untuk Mac OS X 0.2 (versi beta)". Ya, aneh bahwa pembuat perangkat lunak unzip mendistribusikan perangkat lunaknya sendiri dalam format zip. ;-) Setelah membuka ritsleting, ada sedikit bantuan menggunakan ./unar --helpdan./lsar --help
Arjan
menambahkan informasi unduhan ke balasan
Daniel Beck
4

Coba 7-Zip . Selain format aslinya (.7z), ia dapat menangani ekstensi berikut: ZIP, gzip, bzip2, tar dan, dalam beta untuk versi 9, xz. Itu juga dapat mendekompres (hanya) dalam format berikut: ARJ, CAB, CHM, cpio, DEB, DMG, HFS, ISO, LZH, LZMA, MSI, NSIS, RAR, RPM, UDF, WIM, XAR, dan Z.

Versi baris perintah Windows 7za.exedisertakan. Untuk platform lain, versi POSIX yang bernama p7ziptersedia dari proyek P7ZIP SourceForge , dan beberapa port tersebut juga ditautkan dari halaman pengunduhan 7-Zip . Sayangnya, tautan Mac tampaknya rusak, jadi untuk OS X, buat sendiri atau gunakan MacPorts .

EDIT: Untuk versi yang bukan Windows, buka halaman Unduhan. Di sana Anda dapat menemukan sumber serta binari yang dikompilasi sebelumnya.

Joe Casadonte
sumber
Hanya Windows, sejauh yang saya tahu. Pertanyaannya menanyakan alat baris perintah untuk Mac.
Arjan
4
@Arjan: menemukan p7zip versi POSIX dan ada macport untuk itu
tig
@tig, saya menggabungkan komentar Anda ke dalam jawaban Joe. Namun, saya TIDAK tahu apakah p7zipmendukung semua format yang 7-Zip lakukan. Jika ada yang mengetahui tautan unduhan biner, beri tahu kami.
Arjan
Sayangnya, p7zip tidak sepenuhnya menangani arsip yang dibuat di mac (dengan file yang bernama khusus menyimpan garpu dan barang-barang ekstra lainnya)
tig
4

Jika Anda menggunakan Homebrew , Anda dapat menginstal atooldan mengekstrak banyak tipe arsip seperti:

brew install atool
atool -x archive.anything

Dengan asumsi program eksternal yang sesuai tersedia di sistem Anda, ia dapat menangani:

.tar.gz, .tgz, .tar.bz, .tbz, .tar.bz2, .tbz2, .tar.Z, .tZ, .tar.lzo, .tzo, .tar.lz, .tlz, .tar.xz, .txz, .tar.7z, .t7z, .tar, .zip, .jar, .war, .rar, .lha, .lzh, .7z, .alz, .ace, .a, .arj, .arc, .rpm, .deb, .cab, .gz, .bz, .bz2, .gz, .bz, .bz2, .Z, .lzma, .lzo, .lz, .xz, .rz, .lrz, .7z,.cpio

atool adalah skrip untuk mengelola arsip file dari berbagai jenis (tar, tar + gzip, zip dll).

Perintah utama adalah aunpackyang mengekstrak file dari arsip. Apakah Anda pernah mengekstrak file dari arsip, tidak memeriksa apakah file tersebut berada di subdirektori atau di direktori teratas arsip, mengakibatkan file tersebar di semua tempat? aunpackmengatasi masalah ini dengan terlebih dahulu mengekstraksi ke direktori baru. Jika hanya ada satu file dalam arsip, file itu dipindahkan ke direktori asli. aunpackjuga mencegah file lokal ditimpa karena kesalahan.

Perintah lain yang disediakan adalah apack(untuk membuat arsip), als(untuk membuat daftar file dalam arsip), dan acat(untuk mengekstrak file ke standar keluar). Ketika atoolmemanggil program eksternal untuk menangani arsip, tidak semua perintah dapat didukung untuk jenis arsip tertentu.

atoolmengidentifikasi arsip dengan ekstensi file mereka. Terkadang ini tidak mungkin - misalnya arsip rar biasanya memiliki ekstensi file numerik yang bervariasi. Dalam kasus-kasus ketika atooltidak dapat mengidentifikasi format, filedigunakan sebagai gantinya. ( atooldapat dikonfigurasi untuk tidak menggunakan file.)

Deizel
sumber
1
Ini juga tersedia melalui macport tidak hanya melalui homebrew dan juga dimungkinkan untuk membangun dari sumber
tig
MacPorts:sudo port install atool
ab77
4

Anda dapat menggunakan brew install unaratau brew install atoolkemudian:

unar archive.gz
# or
atool -x archive.gz
Dorian
sumber
"Anda tidak dapat memilih posting Anda sendiri": D
Dorian
2

Untuk jenis kompresi dan pengarsipan yang diketahui oleh Mac OS X, Anda dapat menggunakannya open, dan itu akan memanggil "Archive Utility" (sebelumnya BOMArchiveHelper), seperti halnya mengklik dua kali dari Finder. Ini berfungsi untuk [pk] zip, gzip, bzip, bzip2, tar, pax, cpio, kompres (.Z), dll.

Jika Anda memiliki aplikasi yang diinstal yang tahu cara menghapus arsip format lain, dan mereka telah mendaftar untuk ekstensi atau magic(5)nilai file tersebut , maka openperintah akan meluncurkan aplikasi tersebut untuk menangani jenis-jenis itu. Tentu saja Anda mungkin akan berakhir di GUI aplikasi tersebut.

Spiff
sumber
1
Itulah yang saya gunakan sekarang, tetapi memiliki beberapa kelemahan: Saya tidak dapat menentukan opsi seperti mengekstraksi ke folder tertentu, jendela aplikasi bermunculan (bahkan jika saya menjalankannya -g, itu masih di bawah jendela paling depan)
tig