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
Общий синтаксис команд:
Основные аргументы:
-c
– создать архив.-f
– вывести имя или путь до архива.-t
– показать файлы в архиве (применяется к уже созданному архиву).-v
– показать обрабатываемые файлы.-a
– сжать или извлечь данные из архива с автоматическим выбором утилиты (gzip, bzip и т.д.), в зависимости от указанного расширения. Например, если файл называетсяfile.tar.gz
, то к архиву автоматически будет применено сжатие с помощью gzip.-x
– извлечь данные из архива.
Пример: создание архива .tar
Пример: извлечение архива .tar
в текущую директорию
Пример: извлечение архива .tar
в определённую директорию
Пример: создание архива .tar.gz
Пример: извлечение архива .tar.gz
в текущую директорию
Пример: извлечение архива .tar.gz
в определённую директорию
Пример: создание архива .tar.bz2
Пример: извлечение архива .tar.bz2
в текущую директорию
Пример: извлечение архива .tar.bz2
в определённую директорию
Работа с .zip-архивами
Для работы с данным типом архивов будут использоваться программы zip и unzip.
Учтите: на некоторых дистрибутивах данные утилиты отсутствуют, поэтому перед работой нужно выполнить инсталляцию соответствующих пакетов.
CentOS/AlmaLinux/RockyLinux
Debian/Ubuntu
Пример: создание архива .zip
Пример: извлечение данных из архива .zip
Если не указывать аргумент -d
, то файлы будут распакованы в директорию где находится архив, указанный в команде.
Пример: добавление файлов в существующий архив .zip
Пример: просмотр содержимого архива .zip
Пример: извлечение определенных файлов из архива .zip
Работа с .rar-архивами
Для работы с .rar
архивами потребуются утилиты rar и unrar.
Учтите: на некоторых дистрибутивах данная утилита отсутствует, поэтому перед работой нужно выполнить инсталляцию соответствующих пакетов.
CentOS/AlmaLinux/RockyLinux
Debian/Ubuntu
Пример: создание архива .rar
Чтобы заархивировать каталог полностью (со всеми вложенными папками и файлами), нужно добавить ключ -r
. Команда будет выглядеть так:
Пример: извлечение данных из архива .rar
Это не ошибка, Вам необходим именно аргумент x
для разархивации. Аргумент -x
позволяет указать исключения при выполнении команды.