6.4.3 Как архивировать и распаковывать архивы по SSH. Работа с архивами по SSH
Архивы представляют собой неотъемлемую часть современной работы с данными, обеспечивая эффективное сжатие информации и экономию места на файловой системе. Однако, их значение не ограничивается лишь компактностью – архивы также служат удобным и надежным способом хранения информации. В этой статье мы рассмотрим ключевые консольные инструменты для работы с архивами посредством SSH, подключение к которому необходимо для выполнения любых дальнейших действий.
Популярные форматы архивов:
- TAR (
.tar
) – широко используется для архивации файлов на Unix-системах. Программа с тем же названием позволяет работать с различными форматами архивов. Для сжатия применяются внешние утилиты, такие как gzip, bzip2, lzip, и другие. При создании архива может быть записана дополнительная информация, такая как информация о владельце и структуре каталогов. - GZ (
.tar.gz
,.tgz
,.tar.gzip
) – выполняет сжатие данных при помощи утилиты tar (для одного файла) или связки утилит gzip + tar (для нескольких файлов). Его особенность заключается в возможности работы с непрерывным потоком данных, делая GZ оптимальным инструментом для сжатия интернет-трафика. - BZIP2 (
.tar.bz2
,.tar.bzip2
,.tbz2
,.tb2
,.tbz
) – бесплатная утилита, обеспечивающая высококачественную компрессию данных, в основном используемая на Unix-платформах. По сравнению с GZ, она работает медленнее и требует больше вычислительных ресурсов, но обеспечивает более эффективное сжатие. - ZIP (
.zip
) – применяется на операционных системах Windows и позволяет сжимать файлы и каталоги с использованием различных алгоритмов. ZIP поддерживается практически всеми операционными системами, включая Windows, Mac OS X и Unix/Linux. Также возможно создание самораспаковывающегося архива в виде исполняемого SFX-файла. - RAR (
.rar
) – используется для работы с архивацией на операционных системах семейства Windows. Аналогично формату ZIP, RAR поддерживается многими ОС.
Работа с архивами TAR, GZ, BZIP2
Общий синтаксис команд:
tar -аргумент имя_или_путь_к_архиву целевой_файл_или_каталог
Основные аргументы:
-c
– создать архив.-f
– вывести имя или путь до архива.-t
– показать файлы в архиве (применяется к уже созданному архиву).-v
– показать обрабатываемые файлы.-a
– сжать или извлечь данные из архива с автоматическим выбором утилиты (gzip, bzip и т.д.), в зависимости от указанного расширения. Например, если файл называетсяfile.tar.gz
, то к архиву автоматически будет применено сжатие с помощью gzip.-x
– извлечь данные из архива.
Пример: создание архива .tar
tar -cfv /var/www/example.tar /var/www/examplesite
Пример: извлечение архива .tar
в текущую директорию
tar -xfv /var/www/example.tar
Пример: извлечение архива .tar
в определённую директорию
tar -xfv /var/www/example.tar -С /var/www/examplesite
Пример: создание архива .tar.gz
tar -cfva /var/www/example.tar.gz /var/www/examplesite
Пример: извлечение архива .tar.gz
в текущую директорию
tar -xfva /var/www/example.tar.gz
Пример: извлечение архива .tar.gz
в определённую директорию
tar -xfva /var/www/example.tar.gz -C /var/www/examplesite
Пример: создание архива .tar.bz2
tar -cfva /var/www/example.tar.bz2 /var/www/examplesite
Пример: извлечение архива .tar.bz2
в текущую директорию
tar -xfva /var/www/example.tar.bz2
Пример: извлечение архива .tar.bz2
в определённую директорию
tar -xfva /var/www/example.tar.bz2 -C /var/www/examplesite
Работа с .zip-архивами
Для работы с данным типом архивов будут использоваться программы zip и unzip.
Учтите: на некоторых дистрибутивах данные утилиты отсутствуют, поэтому перед работой нужно выполнить инсталляцию соответствующих пакетов.
CentOS/AlmaLinux/RockyLinux
sudo yum insatall zip unzip -y
Debian/Ubuntu
sudo apt-get install zip unzip -y
Пример: создание архива .zip
zip /var/www/example.zip /var/www/examplesite
Пример: извлечение данных из архива .zip
unzip /var/www/example.zip -d /var/www/examplesite
Если не указывать аргумент -d
, то файлы будут распакованы в директорию где находится архив, указанный в команде.
Пример: добавление файлов в существующий архив .zip
zip /var/www/example.zip /var/www/newfile1.txt /var/www/newfile2.txt
Пример: просмотр содержимого архива .zip
unzip -l /var/www/example.zip
Пример: извлечение определенных файлов из архива .zip
unzip /var/www/example.zip file1.txt file2.txt -d /var/www/examplesite
Работа с .rar-архивами
Для работы с .rar
архивами потребуются утилиты rar и unrar.
Учтите: на некоторых дистрибутивах данная утилита отсутствует, поэтому перед работой нужно выполнить инсталляцию соответствующих пакетов.
CentOS/AlmaLinux/RockyLinux
sudo yum install unrar rar -y
Debian/Ubuntu
sudo apt-get install unrar rar -y
Пример: создание архива .rar
Чтобы заархивировать каталог полностью (со всеми вложенными папками и файлами), нужно добавить ключ -r
. Команда будет выглядеть так:
rar -r /var/www/example.rar /var/www/examplesite
Пример: извлечение данных из архива .rar
unrar x /var/www/example.rar /var/www/examplesite
Это не ошибка, Вам необходим именно аргумент x
для разархивации. Аргумент -x
позволяет указать исключения при выполнении команды.
Пример: добавление файлов в существующий архив .rar
rar a /var/www/example.rar /var/www/newfile1.txt /var/www/newfile2.txt
Пример: просмотр содержимого архива .rar
unrar l /var/www/example.rar
Пример: извлечение определенных файлов из архива .rar
unrar e /var/www/example.rar file1.txt file2.txt /var/www/examplesite