Універсальний інструмент для сканування командного рядка на Mac


17

Чи є якийсь інструмент командного рядка, який дозволяє витягувати файли з найбільш відомих типів архіву ? Щось на зразок StuffIt Expander, але без gui.

Відповіді:


15

Починаючи з версії 2.5 відповідно до веб-сайту, Unarchiver має дві утиліти командного рядка:

Підтримувані формати файлів включають Zip, Tar-GZip, Tar-BZip2, RAR, 7-zip, LhA, StuffIt та багато інших більш і менш незрозумілих форматів. [..] Якщо у вас є стислий файл, який Unarchiver не відкриває, будь ласка, опублікуйте помилку на трекері помилок та включіть відповідний файл, і я розберемось, чи можна додати підтримку до нього!

[..]

Є тепер дві утиліти командного рядка доступні, unarі lsar, які можуть бути використані для розпакування і список архівів, відповідно. Вони все ще знаходяться на стадії розробки і не є повноцінними, але вони повинні працювати. Вони доступні у вигляді попередньо складених бінарних файлів для ОС X і Windows на сторінці завантаження , а також можуть бути побудовані на Linux.

Щоб завантажити інструменти командного рядка (не включені до звичайної завантаження Unarchiver!), Перейдіть на сторінку завантаження коду google проекту та виберіть unar0.2.zip(працює з 20 вересня 2010 р.).


Приємно! І він підтримує безліч форматів, як і запитували.
Ар’ян

1
Я не можу знайти CLI там.
тиг

1
tig: Ти маєш на увазі, що ти не зміг натиснути на "сторінку завантаження" у другому абзаці, добре цитованому Арханом вище та на "unar0.2.zip"? Тому що це чудово працює для мене.
Даніель Бек

@tig, перейшовши за посиланням, на яке посилається Даніель, див. утиліти командного рядка unar0.2.zip, unar та lsar для Mac OS X 0.2 (бета-версія) ". Так, як не дивно, що творець unzip-програмного забезпечення поширює власне програмне забезпечення у zip-форматі. ;-) Після розпакування можна трохи допомогти в застосуванні ./unar --helpі./lsar --help
Арджан,

додав інформацію про завантаження у відповідь
Даніель Бек

4

Спробуйте 7-Zip . Окрім власного власного формату (.7z), він може працювати з такими розширеннями: ZIP, gzip, bzip2, tar та, у бета-версіях для версії 9, xz. Він також може декомпресувати (лише) у таких форматах: ARJ, CAB, CHM, cpio, DEB, DMG, HFS, ISO, LZH, LZMA, MSI, NSIS, RAR, RPM, UDF, WIM, XAR та Z.

7za.exeВключена версія командного рядка Windows . Для інших платформ версія POSIX з назвою p7zipдоступна в проекті P7ZIP SourceForge , а деякі з цих портів також пов'язані зі сторінки завантаження 7-Zip . На жаль, посилання на Mac здається розірваним, тому для OS X або будуйте його самостійно, або використовуйте MacPorts .

РЕДАКТУВАННЯ. Для версій, які не є Windows, перейдіть на сторінку завантажень. Там ви можете знайти джерело, а також попередньо складені бінарні файли.


Тільки Windows, наскільки я знаю. Питання задає інструменти командного рядка для Mac.
Ар'ян

4
@Arjan: знайдено версію POSIX p7zip і для неї є макспорт
tig

@tig, я з’єднав твій коментар у відповідь Джо. Однак я НЕ знаю, чи p7zipпідтримує всі формати, які робить 7-Zip. Якщо хтось знає про двійкове посилання для завантаження, то повідомте нам про це.
Ар'ян

На жаль, p7zip не повністю обробляє архіви, створені на mac (зі спеціально названими файлами, що зберігають вилки та інші додаткові речі)
tig

4

Якщо ви випадково використовуєте Homebrew , ви можете встановити atoolта витягти безліч типів архіву, як-от так:

brew install atool
atool -x archive.anything

Припустимо, що відповідні зовнішні програми доступні у вашій системі, вона може обробляти:

.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 це сценарій для управління файлами різних типів (tar, tar + gzip, zip тощо).

Основна команда - aunpackце витяг файлів з архіву. Ви коли-небудь витягували файли з архіву, не перевіряючи, чи вони розташовані у підкаталозі чи у верхньому каталозі архіву, внаслідок чого файли розкидані по всьому місцю? aunpackдолає цю проблему, спочатку витягуючи в новий каталог. Якщо в архіві був лише один файл, цей файл переміщується до вихідного каталогу. aunpackтакож не дозволяє помилково перезаписати локальні файли.

Інші надані команди: apack(створити архіви), als(перерахувати файли в архівах) та acat(витягнути файли для стандартного виходу). Оскільки atoolдля обробки архівів викликаються зовнішні програми, не всі команди можуть підтримуватися для певного типу архівів.

atoolідентифікує архіви за їх розширенням. Іноді це неможливо - наприклад, архіви rar зазвичай мають різні числові розширення файлів. У тих випадках, коли atoolне вдається визначити формат, fileвикористовується замість цього. ( atoolможе бути налаштовано не використовувати файл.)


1
Він також доступний через макпорти не тільки через домашню мову, а також можна створити з джерела
тигр

MacPorts:sudo port install atool
ab77

4

Ви можете використовувати brew install unarабо, brew install atoolа потім:

unar archive.gz
# or
atool -x archive.gz

"Ви не можете голосувати за свою посаду": D
Доріан

2

Для типів стиснення та архівації, які Mac OS X знає споконвічно, ви можете просто використовувати open, і він буде викликати "Архів утиліти" (раніше BOMArchiveHelper), як і двічі клацнути по ньому з Finder. Це працює для [pk] zip, gzip, bzip, bzip2, tar, pax, cpio, компрес (.Z) тощо тощо.

Якщо у вас встановлені додатки, які вміють скасовувати інші формати, і вони зареєстрували для цих розширень файлів або magic(5)значень, тоді openкоманда запустить ці програми для обробки цих типів. Звичайно, ви, ймовірно, опинитесь у графічних інтерфейсах цих додатків.


1
Це те, що я зараз використовую, але у нього є деякі недоліки: я не можу вказати такі параметри, як витяг до певної папки, вікно програми вискакує (навіть якщо я запускаю його -g, воно все ще знаходиться під переднім вікном)
tig
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.