Эта статья предназначена для пользователей Linux-серверов и посвящена основам работы с архивами. Мы рассмотрим, как создавать архивы, упаковывать в них файлы и извлекать данные. В примерах используются виртуальные серверы.
Что такое Tar?
Tar (Tape Archive) — это формат архивации, предназначенный для объединения нескольких файлов и папок в один архивный файл.
Формат .tar имеет ряд преимуществ перед .zip для определённых задач. Основное отличие — в методе сжатия. Архив .zip сжимает каждый файл по отдельности, тогда как .tar сначала объединяет файлы в единый поток, а сжатие применяется ко всему архиву целиком. Таким образом, .zip — это набор сжатых файлов, а .tar — сжатый архив несжатых данных.
Архив .tar.gz — это файл в формате .tar, сжатый с помощью утилиты gzip. Именно поэтому к имени добавляется расширение .gz. Помимо gzip, могут использоваться и другие утилиты сжатия, что отражается в расширениях: .tar.bz2 (bzip2), .tar.xz (xz) и другие.
| Если у вас еще нет виртуального сервера, его можно арендовать у проверенных провайдеров из нашей подборки надежных VPS серверов. | Перейти |
Работа с архивами .tar.gz в Linux
Для создания и распаковки архивов .tar.gz в Linux используется утилита tar.
Как создать архив в Linux
Полная форма команды для создания архива:
tar --create --gzip --verbose --totals --file test.tar.gz video.mp4
Ключи команды:
--create(-c) — создание архива.--gzip(-z) — сжатие с помощью gzip.--verbose(-v) — подробный вывод процесса.--totals— вывод итоговой статистики.--file(-f) — указание имени архива (обязательный параметр).
Эту же операцию можно выполнить сокращённой командой:
tar -czvf test.tar.gz video.mp4
Для архивации нескольких папок:
tar -czvf archive.tar.gz folder1 folder2
Как распаковать архив в Linux
Для извлечения файлов используется ключ --extract (-x):
tar --extract --verbose --totals --file test.tar.gz
Или в краткой форме:
tar -xvf test.tar.gz
Чтобы распаковать архив в конкретную директорию, укажите ключ -C (--directory):
tar -xf test.tar.gz -C /path/to/target/directory/
Как посмотреть содержимое архива в Linux
Для вывода списка файлов в архиве без распаковки используйте:
tar -tf archive.tgz
Как исключить файлы при распаковке в Linux
Ключ --exclude позволяет пропустить определённые файлы или каталоги:
tar --exclude='unwanted_file.txt' -xvf archive.tar.gz
Для исключения нескольких элементов можно добавить несколько ключей --exclude.
Как распаковать архив из сети напрямую в Linux
Архив можно распаковать сразу после загрузки, объединив команды wget и tar:
wget -c http://example.com/file.tgz -O - | tar -xz
Пояснение:
wget -c— продолжение загрузки при разрыве соединения.-O -— вывод скачанного содержимого в стандартный поток.tar -xz— распаковка данных, поступающих из потока.
| Если у вас еще нет виртуального сервера, его можно арендовать у проверенных провайдеров из нашей подборки надежных VPS серверов. | Перейти |
Утилита GZIP
gzip — утилита для прямого сжатия файлов в Linux.
Сжатие файла:
gzip filename
Сжатие существующего .tar архива:
gzip -cv archive.tar > archive.tar.gz
-c— вывод результата в стандартный поток.-v— отображение процесса.
Распаковка:
gzip -d archive.tar.gz
Рекурсивное сжатие всех файлов в директории:
gzip -rv directory/
Рекурсивная распаковка всех архивов в директории:
gzip -drv directory/
| Если у вас еще нет виртуального сервера, его можно арендовать у проверенных провайдеров из нашей подборки надежных VPS серверов. | Перейти |
