Распаковка [tar|gz|tgz|bz2|tbz2|zip|gz|rar|Z|7z] архивов в Unix/Linux
Набиваю сайт полезными статьями. Некоторые люди забывают как можно распаковать тот или иной архив. Я расскажу как можно использовать различные инструменты для распаковки tar|gz|tgz|bz2|tbz2|zip|gz|rar|Z|7z архивов в Unix/Linux.
Распаковка [tar|gz|tgz|bz2|tbz2|zip|gz|rar|Z|7z] архивов в в Unix/Linux
Если архив был сжат с помощью GZIP или BZIP2, то следующие команды помогут вам при распаковки.
Распаковка tar архивов в Unix/Linux
$ tar xvf my_archive.tar
Можно просмотреть архив и узнать содержимое:
$ tar -tvf my_archive.tar
Так же, можно извлечь указанный файл, предположим что необходимо достать some_my_archive.txt:
$ tar -xvf my_archive.tar some_my_archive.txt
Вы можете указывать путь к любому файлу в любой папке:
$ tar -xvf my_archive.tar some_folder/some_my_archive.txt
С легкостью можно достать указанную папку из вашего архива, предположим что нужно достать «my_folder»:
$ tar -xvf my_archive.tar my_folder
Распаковка gz архивов в Unix/Linux
Чтобы распаковать, используйте:
$ tar xvzf my_archive.tar.gz
Можно просмотреть архив (сжатый с помощью GZIP) и узнать содержимое:
$ tar -ztvf my_archive.tar.gz
Так же, можно извлечь указанный файл, предположим что необходимо достать some_my_archive.txt:
$ tar -xzvf my_archive.tar.gz some_my_archive.txt
Вы можете указывать путь к любому файлу в любой папке:
$ tar -xzvf my_archive.tar.gz docs/some_my_archive.txt
С легкостью можно достать указанную папку из вашего архива, предположим что нужно достать «my_folder»:
$ tar -xzvf my_archive.tar.gz my_folder
Распаковка tgz архивов в Unix/Linux
Чтобы распаковать, используйте:
$ tar xvzf my_archive.tar.tgz
Распаковка bz2 архивов в Unix/Linux
Чтобы распаковать, используйте:
$ tar xvjf my_archive.tar.bz2
Можно просмотреть архив (сжатый с помощью BZIP2) и узнать содержимое:
$ tar -jtvf tar.bz2
Так же, можно извлечь указанный файл, предположим что необходимо достать some_my_archive.txt:
$ tar -xjvf my_archive.tar.bz2 some_my_archive.txt
Вы можете указывать путь к любому файлу в любой папке:
$ tar -xjvf my_archive.tar.bz2 docs/some_my_archive.txt
С легкостью можно достать указанную папку из вашего архива, предположим что нужно достать «my_folder»:
$ tar -xjvf my_archive.tar.bz2 my_folder
Распаковка tbz2 архивов в Unix/Linux
Чтобы распаковать, используйте:
$ tar xvjf my_archive.tar.tbz2
Если архив был сжат с помощью ZIP, GUNZIP, RAR, BUNZIP2, COMPRESS или 7Z, то следующие команды помогут вам при распаковки.
Распаковка zip архивов в Unix/Linux
Чтобы распаковать, используйте:
$ unzip my_archive.zip
Распаковка gz архивов в Unix/Linux
Чтобы распаковать, используйте:
$ gunzip my_archive.gz
Распаковка rar архивов в Unix/Linux
Чтобы распаковать, используйте:
$ unrar x my_archive.rar
Распаковка bz2 архивов в Unix/Linux
Чтобы распаковать, используйте:
$ bunzip2 my_archive.bz2
Распаковка Z архивов в Unix/Linux
Чтобы распаковать, используйте:
$ uncompress my_archive.Z
Распаковка 7z архивов в Unix/Linux
Чтобы распаковать, используйте:
$ 7z x my_archive.7z
Извлечение Архивов с помощью Shell Функции
Чтобы не запоминать какой ключ использовать при распаковки архивов, можно добавить функцию для этого. Открываем .bashrc или .zshrc на вашей ОС:
$ vim ~/.bashrc
Или
$ vim ~/.zshrc
И в самый конец, прописываем:
# extract archives
extract () {
if [ -f $1 ] ; then
# display usage if no parameters given
echo "Usage: extract <path/file_name>.<zip|rar|bz2|gz|tar|tbz2|tgz|Z|7z|xz|ex|tar.bz2|tar.gz|tar.xz>"
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) rar x "$1" ;;
*.gz) gunzip "$1" ;;
*.tar) tar xvf "$1" ;;
*.tbz2) tar xvjf "$1" ;;
*.tgz) tar xvzf "$1" ;;
*.zip) unzip "$1" ;;
*.xz) unxz "$1" ;;
*.Z) uncompress "$1" ;;
*.7z) 7z x "$1" ;;
*) echo "don't know how to extract '$1'..." ;;
esac
else
echo "'$1' is not a valid file!"
fi
}
Перезагружаем оболочку bashrc :
$ . ~/.bashrc
Или:
$ source ~/.bashrc
PS: Если используете zsh, то чтобы перезапустить ее. Закройте и откройте ваш терминал.
Использование довольно простое, например:
$ extract my_archive.rar
Или
$ extract my_archive.tar.gz2
Или
$ extract my_archive.7z
Запаковать архив с помощью Shell Функции
Открываем .bashrc или .zshrc на вашей ОС:
$ vim ~/.bashrc
Или
$ vim ~/.zshrc
И в самый конец, прописываем:
# pack directories
function pack() {
target=${2%/}
case $1 in
gz)
tar czvf ${target}.tar.gz $target ;;
bz)
tar cjvf ${target}.tar.bz2 $target ;;
xz)
tar cJvf ${target}.tar.xz $target ;;
7z)
7zr a ${target}.7z $target ;;
rar)
rar a ${target}.rar $target ;;
zip)
zip -r ${target}.zip $target ;;
*)
echo "Usage: pack [gzip|bzip2|xz|7z|rar|zip] [target]" ;;
esac
}
Перезагружаем оболочку bashrc :
$ . ~/.bashrc
Или:
$ source ~/.bashrc
PS: Если используете zsh, то чтобы перезапустить ее. Закройте и откройте ваш терминал.
Использование довольно простое, например:
$ pack gz /some_dir
А у меня все, тема «Распаковка [tar|gz|tgz|bz2|tbz2|zip|gz|rar|Z|7z] архивов в Unix/Linux» завершена.