Менеджер архива / экстрактор командной строки

Тестирование на Maverick предполагает, что это ошибка Natty, поэтому я сообщил об ошибке.

1
задан 29 August 2013 в 18:42

4 ответа

Чтобы добавить в ваш .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
} 
11
ответ дан 25 May 2018 в 19:14

То, что еще не упоминалось, это швейцарско-армейский нож из командной строки: atool; он доступен в репозиториях: нажмите atool или запустите sudo apt-get install atool.

atool на самом деле является atool , включающим различные функции, такие как aunpack, apack, als, acat, adiff и ispack. Вероятно, наиболее распространенное использование программы - извлечение архивов с помощью команды aunpack. Существует немало интересных и полезных опций, но основной способ извлечь большинство архивов - это просто запустить [, d5]

aunpack myarchive.tar

Поддержка tar, 7z, zip, jar, rar, ar , lha и многие другие форматы архивов и их варианты документируются путем ввода man atool в терминал или просмотра онлайн-страницы Ubuntu.

Итак, полезно то, что если у вас есть архив tar, zip и gz в той же папке, все, что вам нужно сделать, чтобы извлечь их все, нужно запустить

aunpack -e *
[d10 ], и все поддерживаемые архивы будут распакованы с сохранением их структуры папок. Если имя результирующей папки уже существует, оно не будет перезаписано, но ему будет присвоено уникальное имя, например unpack-5645.

Или если вы хотите выбрать только один тип архива и распаковать их все, вместо этого используйте

aunpack -e *.zip

. Если вам нужны файлы, распакованные непосредственно в определенном каталоге, (если он выходит), введите, например,

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

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

Как отмечает manpage, aunpack сначала извлекает файлы

в уникальный (временный) каталог, а затем mov [es ] его содержимое, если это возможно. Это также предотвращает перезапись локальных файлов по ошибке.

С помощью других инструментов возможны другие действия, о которых говорится в в онлайн-странице Ubuntu :

apack создает архивы из файлов или папки указывает или stdin als перечисляет файлы в пределах заданного архива acat позволяет извлекать архивные файлы в stdout adiff, позволяет сравнить два указанных архива. ispack позволяет конвертировать один формат архива в другой, поместив содержимое исходный архив во временной папке, а затем переупаковку новой.

Есть много полезных опций для всех утилит, но, вероятно, наиболее используемым будет aunpack, так как это позволяет легко извлекать несколько разных архивов. Это замечательно, что вы можете просто выпустить одну команду и иметь возможность извлекать несколько разных форматов архива без необходимости использовать различные команды для tar, zip и т. Д.

Для очень недавней статьи, описывающей, как интегрировать atool работает в пользовательских действиях вашего файлового менеджера, таких как Thunar, см. этот онлайн-журнал.

4
ответ дан 25 May 2018 в 19:14

Существует инструмент под названием dtrx - выполните правильное извлечение.

Установите его из репозиториев Ubuntu и запустите dtrx somefile.someext. Инструмент будет интерактивно запрашивать пользователя о вложенных архивах (zip zip-файлов).

dtrx - сложная версия экстракта frabjous.

3
ответ дан 25 May 2018 в 19:14

Какие форматы вам нужно иметь дело? Один из способов - написать скрипт оболочки, который проверяет расширения своего аргумента. Или, если все, с чем вы имеете дело, это варианты на .tar. *, Просто выполнение tar -xf будет касаться большинства из них автоматически. (Поэтому я помню только это и unzip, которые достаточно для всего, что я обычно встречаю.)

0
ответ дан 25 May 2018 в 19:14

Другие вопросы по тегам:

Похожие вопросы: