Создание простого архива tar директории в Linux

Рейтинг: 5  / 5

Распространённые форматы архивов

  • TAR (.tar) – популярный формат архивирования файлов на Unix-системах и одноименная программа для работы с взаимосвязанными форматами архивов. Для сжатия использует внешние утилиты — gzip, bzip2, lzip и другие. В архив, при создании, может записываться дополнительная информация. Например, о владельце и структуре каталогов.
  • GZ ( / .tgz / ) – формат архива, выполняющий сжатие данных с помощью утилиты tar (для одного файла) и связки утилит gzip + tar (для нескольких файлов). Отличительная особенность — умение работать с непрерывным потоком данных. Поэтому GZ считается оптимальным инструментом для сжатия интернет-трафика.
  • BZIP2 ( / / .tbz2 / .tb2 / .tbz) – бесплатная утилита для компрессии данных с высоким качеством. В основном применяется на Unix платформах. По сравнению с GZ, работает медленнее и с большой нагрузкой на CPU, но эффективность сжатия выше.
  • ZIP (.zip) – распространённый тип архивов на Windows системах, позволяющий сжимать файлы и каталоги с использованием разных алгоритмов. Данный формат поддерживается почти всеми ОС, включая Windows, Mac OS X и Unix/Lin. Есть возможность создания самораспаковывающегося архива в виде исполняемого SFX-файла.
  • RAR (.rar) – популярный инструмент работы с архивацией на ОС семейства Windows. Аналог формата Zip. Многоформатный архиватор распространяется в виде программы WinRAR с графическим интерфейсом. Важные особенности — возможность восстановить часть данных, создание многотомных архивов.

ответа

ответа

Вы говорите, что Вы — новичок. Возможно, Вы получили события Windows. Если Вам еще не установили пакеты, Вам нужно к

sudo apt-get install zip gzip tar

первый (или графическим pkg-менеджером).

Затем для записи это был бы самый легкий способ использовать, архивируйте/разархивируйте:

zip -r my_ my_folder

, где-r означает «рекурсивный».

Для разархивации Вас просто используют

unzip my_

, Zip хранит относительные пути по умолчанию. Существует несколько опций параметра, доступных для zip. Для того чтения: руководство (zip человека). Для запуска этого сделает.

Чаще всего Вы будете видеть окончания в мире Linux. Это — продукт двух инструментов: TAR (лента archiver) и GZIP (Zip GNU). Tar имеет колл-опцион к автоматически gzip/gunzip файлы после «определения веса тары».

tar -cvzf may_ my_folder

, где

  • -c означает, «создают»
  • ,-v означает «подробный» (иногда надоедливый и замедляющийся…)
  • ,-z означает «использование (GNU) zip»
  • ,-f XYZ объявляет название выходного файла. (Вы должны, выбрал имя помощи как )

могут также быть окончания. Это — продукт-j параметра вместо-z параметра: Вы выберете сжатие с BZIP2 (-> человек bzip2).

Для извлечения Вас просто используют-x (трактат e X ) вместо-c (, C повторно поел):

tar -xvzf may_

Счастливое «архивирование»!

123 ответ дан Thorben Kaufmann 22 November 2019 в 23:11 поделиться

ответа

Я знаю несколько путей, но так как Вы являетесь новыми на Linux. Таким образом, я скажу Вам, как архивировать файл с помощью метода GUI (самый легкий путь).

  1. Создают новую папку и заполняют его чем-либо, что Вы хотите, например, многие из файла (В моем случае, я заполню его папкой темы):
  1. Щелчок правой кнопкой папка Вы хотите архивировать и выбрать опцию «Compress…»:

  2. можно выбрать, какой формат файла Вы хотите путем нажатия на поле комбинированного списка рядом с текстовым полем «Filename». Также можно установить папку, Вы хотите архивировать местоположение.

Читайте также:  Bash Scripting: руководство по созданию

Нажатие «Other options» приведет Вас к разделу пароля, в другом слове можно установить пароль для предпочтительного файла так кто-то (включайте Вас), должны ввести пароль, прежде чем разархивируют файл.

  1. Щелчок создают, если сделано

4 ответ дан Jim 22 November 2019 в 23:11 поделиться

ответа

Можно использовать zip и unzip утилиты командной строки. Они могут быть установлены путем выполнения

sudo apt-get install zip unzip

в терминале.

5 ответ дан abkpl 22 November 2019 в 23:11 поделиться

ответа

Архивирование с помощью Zip в Debian/Ubuntu/Linux

в 21:56 / blind-cobra

Категории: linux

Заметка по работе с архиватором zip в Linux.

Установка

Если архиватор не установлен, ставим:

apt-get install zip Использование Создаём архив

В примере ниже, мы заархивируем все файлы и папки в директории /var/log/ и директрию /var/spool/ :

zip -r -9 /var/log/* /var/spool/* -x «/var/log/apt/*»

-r — архивировать рекурсивно

-9 — степень сжатия от 1 до 9. 0 — без сжатия.

— имя архива

/var/log/ /var/spool/ — архивируемые директории через пробел

-x “/var/log/apt/*” — опция, позволяющая исключить указанную папку или файл из архива

-e — опция, позволяющая задать пароль на архив

Распаковываем архив

Распаковать архив в текущую директорию

unzip

Распаковать всё содержимого архива в директорию /home/

unzip -d /home/

Распаковка файла из архива в текущею директорию

unzip

Просмотр содержимого архива zip

unzip -l

Тэги: linux ubuntu zip архивация данных архивы работа с архивами в linux

  • Medoo — библиотека для работы с базами данных
  • PHP 7.1 — что нас ждёт

Свежие посты

  • PHP 7.1 — что нас ждёт
  • Архивирование с помощью Zip в Debian/Ubuntu/Linux
  • Medoo — библиотека для работы с базами данных
  • Динамические свойства при работе с iframe в Jquery
  • Когда следует использовать INNER, LEFT и RIGHT JOIN в MySQL?

Терминал

Классический вариант работы с архивами в Linux подразумевает использование командной строки.

По аналогии с графическим менеджером пользователь может просмотреть содержимое без распаковки. Запускаем терминал и набираем команду «tar -tf ». Нажимаем Enter и в области отмеченной двойкой получаем перечень упакованных файлов.

Для простого извлечения содержимого используем команду «tar -xf ». По нажатию клавиши ввода распаковка выполняется в ту же директорию, в которой находится архив.

С помощью командной строки содержимое архива можно извлечь в конкретную папку. Создаем директорию и указываем путь к ней в конце команды изменив ее следующим образом: «tar -xf -C “Image”». В показанном на скриншоте примере распаковка выполняется папку «Image» на рабочем столе.

Примеры использования утилиты tar для создания архива

На самом деле, всё можно выяснить экспериментальным путём, но надо же с чего-то начать. Заархивируем папку user в домашней директории пользователя root:

[email protected]:~# tar -zcvf ~/user tar: Removing leading `/’ from member names /root/user/ /root/user/ /root/user/ /root/user/user+ /root/user/user+ /root/user/user+

Читайте также:  Лекарство для GRUB. Редактирование загрузчика

Используем опции:

  • z для создания Gzip-архива,
  • c указываем, что создаём архив,
  • v чтобы видеть, что будет помещаться в архив,
  • f поместим результат работы архиватора в файл.

Примечательным в этом примере является то, что tar полностью копирует файловую структуру по указанному пути. Для того, чтобы нагляднее пояснить это, рассмотрим ещё пару примеров. Укажем относительный, (а не абсолютный, как в примере выше) путь до папки, которую помещаем в архив. Получаем вообще странную картину папок, попадающих в архив:

[email protected]:~# tar -zcvf ./user ./user/ ./user/ ./user/ ./user/user+ ./user/user+ ./user/user+

В общем, так можно, но лучше не делать. =)

Ну и рабочий вариант: просто указать имя папки, которую нужно поместить в архив, а сам архив поместим в папку var:

[email protected]:~# tar -zcvf /var/ user user/ user/ user/ user/user+ user/user+ user/user+

Архив действительно будет находиться в папке var и содержать именно то, что нужно — папку user со всем её содержимым.

Извлечь один файл

TAR позволяет извлекать одиночные файлы из архива, вы всего лишь должны указать в конце командной строки имя файла. Но тут есть одна странность, точнее то, что пользователи Windows не понимают. Имя файла — это не имя файла самого, а имя плюч весь путь от начала иерархии. Иными словами, если файл с именем «file_1» лежит прямо в корне иерархии, то проблем никаких, а вот если вообразить, что файл лежит в папке, скажем «test», то имя его «test/file_1». Это нужно, чтобы tar в момент распаковки смог правильно воссоздать структуру папок, ведь в архиве никаких папок нет, все файлы идут друг за другом — вспоминайте вывод hexdump. Приведем пример как, используя наш архив извлечь из него всего один файл file_1

$ tar -xvf file_1 file_1 $ file files_1 file_1: ASCII text

Теперь давайте создадим новый архив, но сначала положим наши два файла в папку

$ mkdir test $ mv file_1 file_2 ./test/ $ tar -cvf test/ test/ test/file_1 test/file_2

И попробуем извлечь файл file_1

$ tar -xvf file_1 tar: file_1: Not found in archive tar: Exiting with failure status due to previous errors

Мы получили явное предупреждение, что такого файла в архиве нет. Но так и должно быть, мы упаковали файл с путем и извлекать должны с путем

$ tar -xvf test/file_1 test/file_1

Предсказуемо tar создал папку test и распаковал наш файл в нее. Но что, если мы забыли правильный путь? Конечно, можно попросить tar показать нам список файлов

$ tar -tf test/ test/file_1 test/file_2

Ключ «-t» или «—list» при указании имени архива через ключ «-f» или «—file» заставляет tar вывести список файлов. А если этот список большой и не удобный? Как нам распаковать один файл просто зная его имя? Ключ «—no-anchored» приходит на помощь. Он выключает интерпретацию путей

$ tar —no-anchored -xvf file_1 test/file_1

Файлы также можно извлекать и по маске. Например мы хотим извлечь все файлы, имена которых начинаются с букв «file_». Ключ —wildcards позволяет включать в имена файлов звездочки

$ tar —wildcards —no-anchored -xvf file_* test/file_1 test/file_2

Читайте также:  Как редактировать PDF при помощи Google Документов

Ну и в завершение истории о распаковке представляем вам ключ «—strip» который позволяет отбросить родительские папки. Он может пригодиться, когда вы не хотите, чтобы tar воссоздавал иерархию папок

$ tar —strip=1 —wildcards —no-anchored -xvf file_*

tar примеры

Как уже упоминалось, для создания сжатых архивов сначала создаётся сам архив командой tar, а затем этот архив сжимается с помощью gzip. Но можно всё это сделать и одной командой tar:

$ tar -cvzf *

В результате будет создан сжатый архив gzip , сжатие которого будет выполнено с помощью gzip и благодаря опции z. Символ «*» указывает, что в архив попадёт всё, что находится в текущем каталоге. Здесь же будет создан и целевой архив Вместо опции z можно указывать и другие — Z, J, j, которые задают соответствующие алгоритмы сжатия — LZV, xz и bzip2.

На всякий случай, перед созданием резервных копий лучше перейти в корневой каталог «/» — утилита убирает начальный символ «/» из имён/путей файлов, из-за чего в последствии информация из архивов может быть восстановлена не совсем правильно.

В случае с резервным копированием (на ленточный носитель) можно использовать следующие команды:

$ cd / $ tar -cpf /dev/st0 —label=»Backup at `date ‘+%d-%B-%Y’`.» -C /home

Как видно, здесь в качестве имени архива используется /dev/st0 – ленточное устройство. Поэтому для идентификации архивов полезно воспользоваться опцией —label, задающей описание конкретного архива. В обратных кавычках подставляется маска для даты/времени создания архива. Опцией -C (или —directory) задаётся директория, подлежащая резервированию. Для выполнения добавочного архивирования, т. е. когда необходимо зарезервировать только изменившиеся с момента предыдущей архивации файлов, следует воспользоваться опцией -N:

$ cd / $ tar -cpNf /dev/st0 —label=»Backup at `date ‘+%d-%B-%Y’`.» -C /home

После создания резервной копии не лишним будет проверить с помощью опции -d, что архив цел:

$ cd / $ tar -dvf /dev/st0

Для резервирования всей системы можно использовать такую команду:

$ cd / $ tar -cpf /sysarchive/system-at-`date ‘+%d-%B-%Y’`.tar -C / —exclude=proc —exclude=mnt —exclude=archive —exclude=cache —exclude=*/lost+found .

Здесь с помощью опций —exclude указывается, какие каталоги необходимо исключить из процедуры архивирования, а символ точки «.» в конце команды говорит о том, что нужно обрабатывать все каталоги и файлы, находящиеся в директории, указанной опцией -C. Следует заметить, что в данном примере, в отличие от предыдущих, в качестве целевого архива задан непосредственно tar-файл, а не ленточное устройство.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Похожие посты:

  1. Настройка cron в linux
  2. Работа в командной оболочке Linux
  3. Firewalld, установка и настройка, зоны, NAT, проброс портов
  4. Установка и настройка сервера Cobbler для автоматической установки ОС по сети.

Просмотр содержимого архива без распаковки

Для этих целей используется следующая команда:

tar -tf

В результате выполнения команды выведется список файлов и папок, хранящихся в архиве. Если в перечень параметров добавить -v, то получится расширенный вывод информации о содержимом с указанием размера файлов, прав доступа, именами владельцев и их групп, и т.п.

Просмотреть полный список возможностей архиватора tar можно при помощи команд:

tar —help #вызов справки по командам и параметрам man tar #вызов расширенной документации