Распаковка Архивов [tar|gz|bz2|rar|zip|7z|tbz2|tgz|Z]

Небольшая заметка о том, как распаковывать и разархивировать самые популярные типы архивов из командной строки в Linux.

Распаковка [tar|tar.gz|tgz|tar.bz2|tbz2] Файлов в Linux

Используйте следующие команды для извлечения TAR архивов, сжатых с помощью GZIP и BZIP2:

$ tar xvf file.tar
$ tar xvzf file.tar.gz
$ tar xvzf file.tar.tgz
$ tar xvjf file.tar.bz2
$ tar xvjf file.tar.tbz2

Разархивирование [zip|rar|bz2|gz|Z|7z] Файлов в Linux

Используйте следующие команды для разархивирования файлов и папок, сжатых с помощью программ ZIP, GUNZIP, RAR, BUNZIP2, COMPRESS и 7Z:

$ unzip file.zip
$ gunzip file.gz
$ unrar x file.rar
$ bunzip2 file.bz2
$ uncompress file.Z
$ 7z x file.7z

Извлечение Архивов с помощью Shell Функции

Вы можете создать следующую баш функцию (добавьте в Ваш ~/.bashrc):

function extract {
 if [ -z "$1" ]; then
    # display usage if no parameters given
    echo "Usage: extract ."
 else
if [ -f $1 ] ; then
        # NAME=${1%.*}
        # mkdir $NAME && cd $NAME
        case $1 in
          *.tar.bz2) tar xvjf ../$1 ;;
          *.tar.gz) tar xvzf ../$1 ;;
          *.tar.xz) tar xvJf ../$1 ;;
          *.lzma) unlzma ../$1 ;;
          *.bz2) bunzip2 ../$1 ;;
          *.rar) unrar x -ad ../$1 ;;
          *.gz) gunzip ../$1 ;;
          *.tar) tar xvf ../$1 ;;
          *.tbz2) tar xvjf ../$1 ;;
          *.tgz) tar xvzf ../$1 ;;
          *.zip) unzip ../$1 ;;
          *.Z) uncompress ../$1 ;;
          *.7z) 7z x ../$1 ;;
          *.xz) unxz ../$1 ;;
          *.exe) cabextract ../$1 ;;
          *) echo "extract: '$1' - unknown archive method" ;;
        esac
else
echo "$1 - file does not exist"
    fi
fi
}

Источник: https://github.com/xvoland/Extract

Перезагрузите .bashrc:

$ . ~/.bashrc

Теперь используйте команду extract для распаковки и разархивирования самых популярных типов архивов:

$ extract file.rar
$ extract file.tar.gz2
$ extract file.7z