Команда tar и zip в Linux
Нет ничего лучше для запоминания информации, чем чтение, а потом написание этой информации в тетрадь, вот и я люблю прочитать и записать информацию в свою тетрадь nibbl.ru
Сегодня речь пойдет о такой вещи как архивация, а именно упаковка и распаковка таких форматов как: tar, gzip, zip и rar в в операционных системах Unix и Linux
нашу статью разобьем на разделы, что бы была удобная навигация.
Архивация в 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 — распаковываем архив на рабочий стол
Источник
Способы распаковки архивов формата ZIP в Linux
Хранить программы, директории и файлы иногда проще в виде архива, поскольку так они занимают меньше места на компьютере, а также могут свободно перемещаться через съемные носители на разные компьютеры. Одним из самых популярных форматов архивов считается ZIP. Сегодня мы бы хотели рассказать о том, как работать с таким типом данных в операционных системах на базе ядра Линукс, поскольку для той же распаковки или просмотра содержимого придется применять дополнительные утилиты.
Распаковываем архивы формата ZIP в Linux
Далее мы затронем две свободных популярных утилиты, управление которыми осуществляется через консоль, то есть пользователю придется вводить встроенные и дополнительные команды для управления всеми файлами и инструментами. Примером сегодня выступит дистрибутив Ubuntu, а для обладателей других сборок мы сделаем акценты на каких-либо несовпадениях.
Отдельно хочется отметить, если вы заинтересованы в дальнейшей установке программы из архива, сначала проверьте, нет ли ее в официальных хранилищах или отдельных пакетах под ваш дистрибутив, ведь осуществить такую инсталляцию гораздо проще.
Читайте также: Установка RPM-пакетов / DEB-пакетов в Ubuntu
Способ 1: Unzip
Хоть в Ubuntu Unzip и является встроенной утилитой, позволяющей управлять архивами необходимого нам типа, однако в других сборках Линукс этот полезный инструмент может отсутствовать, поэтому давайте начнем с его установки, а потом уже разберемся с взаимодействием.
- Для начала запустите «Терминал» любым удобным методом, например, через меню.
Укажите пароль для активации рут-доступа, поскольку мы используем команду sudo, выполняя все шаги от имени суперпользователя.
Теперь остается ждать, пока все файлы будут добавлены в операционную систему. В случае наличия Unzip на компьютере вы получите соответствующее уведомление.
Далее потребуется узнать расположение нужного архива, если вы этого еще не сделали заранее. Для этого откройте папку хранения объекта, нажмите на нем ПКМ и выберите пункт «Свойства».
Вернитесь в «Терминал» и перейдите в родительскую папку с помощью cd /home/user/folder , где user — имя пользователя, а folder — название папки, где хранится архив.
Чтобы запустить процесс распаковки, достаточно написать unzip folder , где folder — название архива, .zip при этом дописывать необязательно, утилита сама определит формат.
Дождитесь появления новой строки для ввода. Если не вылезло никаких ошибок, значит все прошло успешно и можно переходить в родительскую папку архива, чтобы найти там уже распакованный вариант.
Если же вы хотите поместить распакованные файлы в другую папку, придется применить дополнительный аргумент. Теперь вам требуется прописать unzip folder.zip -d /way , где /way — название папки, куда следует сохранить файлы.
Дождитесь завершения обработки всех объектов.
Просмотреть содержимое архива можно командой unzip -l folder.zip , находясь в родительской папке. Перед вами сразу отобразятся все найденные файлы.
Что касается дополнительных аргументов, применяемых в утилите Unzip, то здесь следует отметить несколько самых важных:
- -u — обновление существующих файлов в директории;
- -v — отображение всей доступной информации об объекте;
- -P — установка пароля для получения разрешения на распаковку архива (в случае наличия шифрования);
- -n — не перезаписывать уже существующие файлы в месте распаковки;
- -j — игнорирование структуры архива.
Как видите, ничего сложного в управлении утилитой под названием Unzip нет, но подходит она не всем пользователям, поэтому советуем ознакомиться со вторым методом, где будет применяться более распространенное решение.
Способ 2: 7z
Многофункциональная утилита 7z по работе с архивами предназначена не только для взаимодействия с одноименным типом файлов, но и поддерживает другие популярные форматы, в том числе и ZIP. Для операционных систем на Linux тоже есть версия этого инструмента, поэтому предлагаем с ней ознакомиться.
- Откройте консоль и загрузите последнюю версию 7z с официального репозитория, введя команду sudo apt install p7zip-full , а обладателям Red Hat и CentOS потребуется указать sudo yum install p7zip .
Подтвердите добавление новых файлов в систему, выбрав утвердительный вариант.
Переместитесь в папку, где хранится архив, как это было показано в предыдущем способе с использованием команды cd . Здесь просмотрите содержимое объекта перед распаковкой, написав в консоли 7z l folder.zip , где folder.zip — название необходимого архива.
Процесс распаковки в текущую папку осуществляется через 7z x folder.zip .
Если какие-то файлы с таким же названием там уже присутствуют, их предложат заменить или пропустить. Выбирайте вариант, исходя из собственных предпочтений.
Как и в случае с Unzip, в 7z есть ряд своих дополнительных аргументов, советуем тоже ознакомиться с основными из них:
- e — извлечение файлов с указанием пути (при использовании x путь сохраняется прежний);
- t — проверка архива на целостность;
- -p — указание пароля от архива;
- -x + перечень файлов — не распаковывать заданные объекты;
- -y — положительные ответы на все поставленные вопросы во время распаковки.
Вы получили инструкции по использованию двух популярных утилит для распаковки ZIP в Linux. Особое внимание обратите на дополнительные аргументы и не забывайте применять их в случае надобности.
Помимо этой статьи, на сайте еще 12315 инструкций.
Добавьте сайт Lumpics.ru в закладки (CTRL+D) и мы точно еще пригодимся вам.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Источник