Команда tar и zip в Linux
Нет ничего лучше для запоминания информации, чем чтение, а потом написание этой информации в тетрадь, вот и я люблю прочитать и записать информацию в свою тетрадь nibbl.ru
Сегодня речь пойдет о такой вещи как архивация, а именно упаковка и распаковка таких форматов как: tar, gzip, zip и rar в в операционных системах Unix и Linux
нашу статью разобьем на разделы, что бы была удобная навигация.
Архивация в Linux

Хоть Linux и имеет графическую оболочку и даже уже можно скачать графические пакеты для работы с самыми популярными расширениями архиваторов, мы будем рассматривать работу с архивами на уровне консоли (но если кому надо сделаем обзор пакетов для работы не через консоль)
Архивация Tar в Linux
Tar — или как мы его называли архиватором таковым не является, причина тому, логика работы данного инструмента! это всего лишь упаковщик, а если быть точнее то задача tar создать контейнер в формате tar в который она помещает выбранные вами файлы (без сжатия). Но если Вам нужно эти данные ужать или сжать для уменьшения размера архива, тогда применяются дополнительные инструменты такие как Gzip или bzip2 (вы должны были обращать внимания, что скачивая пакеты или файлы они имели странный формат name-file.tar.gz ) Все дело в том, что принцип работы инструмента по сжатию данных, работает только в однопотоковом режиме, поэтому, что бы заархивировать много файлов и их сжать нам необходимо было их упаковать в TAR (один файл), а только потом прогнать через сжатие Gzip или bzip2 поэтому эти инструменты работают как Бонни и Клайд)
Создание архива TAR
Для начала начнем с запаковки архива Tar в Linux/ubuntu, и для этого надо запомнить шаблон или синтаксис команды:
tar [опции] [файлы или папки которые будем упаковывать]
Опции для создания архива tar:
- c (create) — создать архив
- f (file) — указать имя архива
- j (bzip2) — cжать/распаковать архив дополнительно при помощи bzip2
- z (gzip) — сжать/распаковать архив дополнительно при помощи gzip
- v (verbose) — выводит список прогресса
Для создания архива tar нам необходимы только две опции c и f, но если вы хотите видеть процесс упаковки файлов, то можете добавить ключ v и тогда вы увидите на экране бегущий список файлов (так сказать «аналог» виндовому прогрессу в виде процентов)
tar -cvf newfile.tar /foto
в данной команде мы указали создать архив newfile.tar и запаковать всю папку foto
В списке опций вы заметили два ключа j и z эти ключи используются как для сжатия в архив gzip или bzip2 если вам нужно сделать архивацию с сжатием то применяем следующую команду:
tar -cvjf newfile.tar /foto — создаст архив + сжатие newfile.tar.bz2
tar -cvzf newfile.tar /foto — создаст архив + сжатие newfile.tar.gz
Распаковать архив TAR
рассмотрим синтаксис команды что бы распаковать или разархивировать tar архив в linux/ubunta :
tar [опции] [файлы или папки которые будем распаковывать]
Опции для создания архива tar:
- x (extract) — извлечь файлы из архива
- f (file) — указать имя архива
- j (bzip2) — cжать/распаковать архив дополнительно при помощи bzip2
- z (gzip) — сжать/распаковать архив дополнительно при помощи gzip
- v (verbose) — выводит список прогресса
- С (в верхнем регистре) — указываем альтернативное место для разархивирования файлов
tar -xvjf newfile.tar.bz2 — распаковываем архив в категорию в которой находимся
tar -xvzf newfile.tar.gz -C /home/nibbl/desktop — распаковываем архив на рабочий стол
Общая информация по работе с Tar
- tar —help — вызов справки по командам и параметрам
- man tar — вызов расширенной документации
- официальная документация по команде tar — ссылка
Архивация Zip в Linux
Архиватор zip — это звезда в мире ПО (ну не считая rar) этот формат очень популярен для windows систем и он по умолчанию уже встроен в чистую сборку операционной системы, поэтому только установив виндовус вы уже можете разархивировать файлы в формате zip
но давайте перейдем к делу, в Linux и Unix системах дела обстоят по другому, это формат Tar идет по умолчанию, а вот для zip надо поставить пакет unzip
- sudo apt-get update && apt-get upgrade
- sudo apt-get install unzip
Создание ZIP архива
Для начала запомним шаблон или синтаксис команды для создания архива zip в linux:
zip [опции] [файлы или папки которые будем упаковывать]
Опции для создания архива tar:
- r (recurse) — рекурсивное создание архива
- s (size) — разбивка архива на определенный размер k (kB), m (MB), g (GB) или t (TB)
пример: zip -s 300m
на выходе получим:
file.zip (300 mb, master file)
file.001.zip (300 mb)
file.002.zip (300 mb)
file.003.zip (100 mb) - P (password) — запаролировать архив (можно использовать ключ e тогда пароль будете вводить в отдельной строке со звездочками )
пример: zip -P мойпароль -r file.zip ./home/nibbl/foto
пример2: zip -er file.zip ./home/nibbl/foto - x — исключаем файлы или каталоги из архива
- 1-9 — степень сжатия (где 1 без сжатия, а 9 лучшее сжатие)
zip –r -9 -P 123 — archive.zip /home/nibbl/desktop/myfile
— данной командой мы заархивировали с сжатием папку myfile создали архив с именем archive.zip и установили пароль на архив 123
Распаковать zip архив
рассмотрим синтаксис команды что бы распаковать или разархивировать tar архив :
Опции для создания архива tar:
- d (directory) — указать директорию для разархивации
- l — вывести список файлов в архиве
- d — удалить определенный файл или каталог из уже сделанного архива
- v — показывает детальную информацию по файлам в архиве ()
unzip — распаковываем архив в категорию в которой находимся
unzip -d /home/nibbl/desktop — распаковываем архив на рабочий стол
Блог системного администратора Windows/Linux/FreeBSD
Архивирование с помощью zip в Debian/Ubuntu/Linux. Архиватор zip.

Формат zip был создан в 1989 году, .zip — это формат файла архивов, который поддерживает сжатие данных без потерь. Zip — это утилита для сжатия и упаковки файлов для Unix, VMS, MSDOS, OS/2, Windows, Macintosh и др. Сопутствующая программа unzip распаковывает zip-архивы.
Unzip не всегда установлена по умолчанию в Linux, поэтому есть вероятность того, что вам придётся доустанавливать её самостоятельно из официальных репозиториев, это не трудно. Когда вы установите unzip, все утилиты для работы с архивами смогут без проблем распаковать архив zip.
Если архиватор Zip не установлен в вашей системе, установим:
Чтобы создать ваш первый архив в формате zip используйте команду zip — первый аргумент это название архива, второй это файл или файлы через пробел, которые будут добавлены в архив:
Как добавить в архив zip папку с файлами:
Установить пароль на архив можно с помощью ключа -P, а ключ -e скроет пароль при вводе :
Для распаковки архивов Zip используйте команду unzip, можно использовать её без каких-либо опций, распаковка в таком случае будет произведена в текущую директорию:
Используйте ключ -d для указания директории, куда нужно распаковать архив:
Посмотреть файлы в архиве без распаковки можно с ключом -l :
Как распаковать определённые файлы из архива? Перечислите их через пробел:
Пример создания архива. Заархивируем все файлы и папки в директории /var/log/ и директорию /var/spool/:
Похожие записи:
Архивирование с помощью zip в Debian/Ubuntu/Linux. Архиватор zip. : 6 комментариев
Как сделать, чтобы созданный командой zip архив, содержащий кириллические имена файлов, читался в windows?
але архив то где ))))) Блять найти не могу )))) Думаю пока дождусь вашего отета лучше другой статьей воспользуюсь , вы что для опытных пользователей это писали , так им это нахуй не нужно ! Попадробнее надо , нет архива че он там завернул !
все нашел в домашнию деректорию он его кинул ))) блять поменьше бы такого хлама в интернете ! Писать надо понятнее , для нубов все таки пишите !
Не знание принципов работы в терминала не освобождает от последствий при работе с ним.
Уважаемый, пожалуйста обратите внимание Что архив будет создан в той директории в которой вы находились при выполнении данной команды.
То есть, если ты сначала выполнишь команду
cd /home/zashel/kuda_nibud/dir
А потом вызовешь команду
zip archive.zip -r /var/log/
А почему сначала имя создаваемого архива, а потом перечисление файлов, а в мануале наоборот? Научитесь излагать мысли (при наличии таковых)
Учитесь базовым принципам работы с компьютером. Наплодилось бездарей никчемных, которые кроме понрхаба через VPN ничего не могут.


