Чи є яка-небудь програма для забезпечення послідовного інтерфейсу для кількох типів архіву?


13

На даний момент, якщо я завантажую стислий файл, це може бути будь-який з архівів .tar.gz, архіву tar.bz2, архіву .zip або архіву .gz. І кожного разу, коли я роблю це, я повинен пам'ятати, що таке параметри командного рядка для цієї програми.

Чи є програма CLI, куди я можу просто зайти:

скасування компресії деякого файлу. ??

і дозвольте розібратися, у якому форматі знаходиться архів? (занадто довге ім’я, яке використовується для уникнення конфлікту з будь-якою реальною програмою)


Я не зміг знайти або створити будь-які теги, наприклад archive, compressionтощо. Чи може хтось інший додати правильний?
Macha

@Tshepang: виправлено.
Мача

Відповіді:


11

Можна використовувати p7zip . Він автоматично визначає тип архіву та розпаковує його.

p7zip - версія командного рядка 7-Zip для Unix / Linux, виготовлена ​​незалежним розробником.

7z e <file_name>


5

Нещодавно я знайшов цей маленький фрагмент і з цього часу використовую його. Я просто маю це у своєму .bashrc файлі

extract () {
if [ -f $1 ] ; then
    case $1 in
        *.tar.bz2)  tar xjf $1      ;;
        *.tar.gz)   tar xzf $1      ;;
        *.bz2)      bunzip2 $1      ;;
        *.rar)      rar x $1        ;;
        *.gz)       gunzip $1       ;;
        *.tar)      tar xf $1       ;;
        *.tbz2)     tar xjf $1      ;;
        *.tgz)      tar xzf $1      ;;
        *.zip)      unzip $1        ;;
        *.Z)        uncompress $1   ;;
        *)          echo "'$1' cannot be extracted via extract()" ;;
    esac
else
    echo "'$1' is not a valid file"
fi
}

1
Це більш ефективно, ніж прийнята відповідь, оскільки 7z e foo.tar.gzпросто залишає вас з foo.tarфайлом.
Вільфред Х'юз

2

У Debian / Ubuntu є unpпакет, що представляє собою скрипт Perl, який виступає як фронтенд для багатьох утиліт архівації.


2

З іншого питання : atool , який також обробляє різні типи архівів і є більш потужним, ніж unpтому, що він також обробляє перелік вмісту, знаходить відмінності між архівами тощо.


1

Гугл GNU (та зірка) має принаймні деякі можливості автоматичного виявлення стиснення:

tar xf foo.tar.gz
tar xf foo.tar.bz

просто робота.


Це залежить від версії tar, які формати можуть автоматично виявляти, окрім того, що він добре працює ... IIRC starнасправді є більш стандартизованим способом, де дьоготь GNU - це нестандартне розширення.
ксенотеррацид

Остання версія GNU tar може розпаковувати всі стиснуті архіви, які створені за допомогою будь-якого з перемикачів фільтру стиснення (z, j, J, --lzma), він виявить стиснення автоматично.
полемон

@xenoterracide: Ну, автор зірки критикував GNU tar дуже у своєму звичному стилі - ці твори можуть бути упередженими (ігноруючи погані моменти про зірку та добрі моменти щодо гудрону GNU), містять, ймовірно, певний FUD і, ймовірно, застаріли.
maxschlepzig

1

Я думаю, arkщо інструмент архівації KDE можна запустити без GUI. З arkсторінки керівництва

ark --batch archive.tar.bz2

Витягне archive.tar.bz2 у поточний каталог, не показуючи GUI.

Підтримка Arks різних форматів архівів залежить від того, які додатки ви встановили (наприклад, для rar це залежить від unrar), але я не знаю, які формати він не може обробити.



0

Unarchiver підтримує вилучення близько 50 різних форматів з послідовним інтерфейсом.

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

Перегляньте його manсторінку .

Версія командного рядка підтримує Linux і доступна тут .

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.