ychbn

Main | About | Contact | Archive

Легкая работа с архивами из консоли в linux

Распаковка архивов

Довольно часто возникает необходимость работы с архивами из терминала linux. Так как постоянно вводить нудные команды для их распаковки лень, на просторах интернета был найден следующий код, который позволяет распаковывать одной короткой командой большое количество разных архивов.

x(){
    if [ -f $1 ] ; then
            case $1 in
                    *.tar.bz2)   tar xvjf $1    ;;
                    *.tar.gz)    tar xvzf $1    ;;
                    *.bz2)       bunzip2 $1     ;;
                    *.rar)       unrar x $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        ;;
                    *)           echo "Unable to extract '$1'" ;;
            esac
    else
            echo "'$1' is not a valid file"
    fi
}

Этот код можно добавить в файл .bashrc.

Для того, чтобы новой командой можно было пользоваться без повторного входа в систему, можно выполнить следующую команду:

source ~/.bashrc

Теперь распаковывать архивы можно так:

x somearchive.tar.gz

Очень удобно.

Создание архива

Чаще всего у меня есть необходимость создавать tar.gz архивы, поэтому для удобства использую следующий код:

tgz(){
        tar -czf "$1.tar.gz" $1
}

И создавать архивы из директории или файла можно так:

tgz directory_to_compress
comments powered byDisqus

Build with Jekyll and true minimal theme