Как быстро извлечь все виды архивных файлов из командной строки?
11
Много раз мне нужно извлекать различные виды архивных файлов с помощью запятой. Но не все время помню точную команду для любого типа файлового архива. Итак, я должен тратить время и искать снова. Как я могу избежать этого?
Смотрите также atool, с помощью которого вы можете извлечь / упаковать несколько форматов: посмотрите ответ, который я дал на этот вопрос: командная строка-архив-менеджер-экстрактор . Этот вопрос также является дубликатом этого вопроса, поэтому их, вероятно, следует объединить.
Ответы:
15
Команда dtrxтвой друг по этому вопросу.
Он распаковывает любой архивный файл, угадывая его тип. Это также гарантирует, что файлы, которые вы распаковываете, будут помещены в новый каталог; избегая путаницы текущего рабочего каталога с кучей файлов.
Вы можете использовать следующий скрипт оболочки (я назвал его extractи вставил ~/bin):
#! / Bin / Баш
если [$ # -lt 1], то
echo "Использование:` basename $ 0` FILES "
выход 1
фи
# Я нашел следующую функцию на https://unix.stackexchange.com/a/168/37944
#, которую я немного улучшил. Большое спасибо sydo за эту идею.
extract () {
для аргумента в $ @; делать
if [-f $ arg]; тогда
case $ arg in
* .tar.bz2) tar xjf $ arg ;;
* .tar.gz) tar xzf $ arg ;;
* .bz2) bunzip2 $ arg ;;
* .gz) gunzip $ arg ;;
* .tar) tar xf $ arg ;;
* .tbz2) tar xjf $ arg ;;
* .tgz) tar xzf $ arg ;;
* .zip) распаковать $ arg ;;
* .Z) распаковать $ arg ;;
* .rar) rar x $ arg ;; # 'rar' должен быть установлен
* .jar) jar -xvf $ arg ;; # 'jdk' должен быть установлен
*) echo "'$ arg' не может быть извлечено с помощью extract ()" ;;
ESAC
еще
echo "$ arg не является допустимым файлом"
фи
сделанный
}
извлечь $ @
Хороший. Я нахожу, что zip иногда извлекает в текущий каталог, когда я хочу, чтобы это был его собственный подкаталог. Использование unzip -d basename $argможет помочь.
atool
, с помощью которого вы можете извлечь / упаковать несколько форматов: посмотрите ответ, который я дал на этот вопрос: командная строка-архив-менеджер-экстрактор . Этот вопрос также является дубликатом этого вопроса, поэтому их, вероятно, следует объединить.Ответы:
Команда
dtrx
твой друг по этому вопросу.Он распаковывает любой архивный файл, угадывая его тип. Это также гарантирует, что файлы, которые вы распаковываете, будут помещены в новый каталог; избегая путаницы текущего рабочего каталога с кучей файлов.
устанавливать
Применение
источник
Вы можете использовать следующий скрипт оболочки (я назвал его
extract
и вставил~/bin
):Не забудьте сделать скрипт исполняемым:
Применение:
источник
basename $arg
может помочь.