Распаковка [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» завершена.