💾 Archived View for ychbn.flounder.online › posts › 2017-12-22-linux-archives.gmi captured on 2024-08-18 at 17:06:08. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2021-11-30)
-=-=-=-=-=-=-
date: 2017-12-22 01:00:40 +0300
Довольно часто возникает необходимость работы с архивами из терминала 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