Менеджер / екстрактор архіву командного рядка


15

Я постійно забуваю всі відповідні команди для кожного формату стиснення.

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

Я був би задоволений чимось на кшталт файлового ролика, але файл-ролик - це інструмент GUI.

Відповіді:


11

Пара пропозицій:

unp

unp (доступний у програмному центрі) - це невеликий Perl-модуль, який буде декомпресувати різноманітні архіви у поточну папку. Використовуйте unp -sдля архівів формати, які він підтримує

За замовчуванням він розкладає архіви у поточну папку.

файл-ролик

Сам файл-ролик можна запустити з командного рядка. Використовуйте file-roller -h <archive name>для розпакування архіву.


11

Від сюди , щоб покласти в .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
} 

Додайте приклад, як ним користуватися?
MiniGod

4
витяг file.zip
frabjous

4

Що ще не було згадано - це швейцарський армійський ніж утиліти командного рядка atool; він доступний у сховищах: натисніть atool Встановіть atool або запустіть sudo apt-get install atool.

atoolнасправді це сценарій, що включає різні функції, такі як aunpack, apack, als, acat, adiff і arepack. Мабуть, найпоширенішим використанням програми є витяг архівів за допомогою команди aunpack. Існує досить багато цікавих і корисних варіантів, але основний спосіб вилучення більшості архівів - це лише запуск, наприклад,

aunpack myarchive.tar

Підтримка tar, 7z, zip, jar, rar, ar, lha та багатьох інших форматів архівів та їх варіантів задокументовано, ввівши man atoolв термінал або переглянувши сторінку Ubuntu в Інтернеті .

Отже, корисне те, що якщо у вас є архів tar, zip та gz в одній папці, все, що потрібно зробити, щоб витягти їх, - це запустити

aunpack -e *

і всі підтримувані архіви будуть розпаковані зі збереженою структурою папок. Якщо назва отриманої папки вже існує, вона не буде перезаписана, але отримає унікальне ім’я, як unpack-5645.

Або якщо ви хочете вибрати лише один тип архіву і розпакуйте їх усі, замість цього використовуйте

aunpack -e *.zip

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

aunpack -e Scripts11.zip -X /home/mike/Videos

Якщо файл з тим самим іменем вже існує, вам буде запропоновано виконати дію або для перейменування, або для перезапису, якщо ви не вказали -fв команді параметр force ( ).

Як зазначається на сторінці сторінки, aunpack спочатку витягує

файли в унікальний (тимчасовий) каталог, а потім повернути [вміти] його вміст назад, якщо можливо. Це також запобігає помилковому запису локальних файлів.


З іншими інструментами можливі й інші дії, про що йдеться у розділі man :

  • apack створює архіви з специфікованих файлів або папок або stdin
  • als перераховує файли в специфікованому архіві
  • acat дозволяє витягувати архівні файли в stdout
  • adiff дозволяє порівнювати два зазначені архіви
  • arepack дає змогу перетворити один формат архіву в інший, помістивши вміст оригінального архіву у тимчасову папку, а потім перепакувавши новий.

Існує ще багато корисних варіантів для всіх утиліт, але, ймовірно, найбільш використовуваним буде aunpack, оскільки це дозволяє легко витягувати декілька різних архівів. Це чудово, що можна просто випустити одну команду і мати можливість витягувати декілька різних архівних форматів, не використовуючи різні команди для tar, zip тощо.

Зовсім недавню статтю, що описує, як інтегрувати функції atool у спеціальні дії вашого файлового менеджера, наприклад Thunar, дивіться у цьому інтернет-журналі .


3

Є інструмент під назвою dtrx - роби правильний видобуток.

Встановіть його з сховищ Ubuntu і запустіть dtrx somefile.someext . Інструмент буде інтерактивно запитувати користувача про вкладені архіви (zip zip файлів).

dtrx - це витончена версія екстракту frabjous .


0

З якими форматами вам потрібно мати справу? Один із способів - написати сценарій оболонки, який перевіряє розширення аргументу. Або якщо все, з чим ви маєте справу, - це зміни на .tar. *, Просто tar -xfробота з більшості з них автоматично відбувається. (Тому я пам’ятаю лише те, unzipчого вистачає на все, що зазвичай трапляється.)

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