Создание tar архива: Команда tar в Linux | Losst

Содержание

Команда tar в Linux | Losst

В качестве инструмента для архивации данных в Linux используются разные программы. Например архиватор Zip Linux, приобретший большую популярность из-за совместимости с ОС Windows. Но это не стандартная для системы программа. Поэтому хотелось бы осветить команду tar Linux — встроенный архиватор.

Изначально tar использовалась для архивации данных на ленточных устройствах. Но также она позволяет записывать вывод в файл, и этот способ стал широко применяться в Linux по своему назначению. Здесь будут рассмотрены самые распространенные варианты работы с  этой утилитой.

Содержание статьи:

Синтаксис команды tar

Синтаксис команд для создания и распаковки архива практически не отличается (в том числе с утилитами сжатия bzip2 или gzip). Так, чтобы создать новый архив, в терминале используется следующая конструкция:

tar опции архив.tar файлы_для_архивации

Для его распаковки:

tar опции архив.tar

Функции, которые может выполнять команда:

Функция Длинный
формат
Описание
-A —concatenate Присоединить существующий архив к другому
-c —create Создать новый архив
-d —diff
—delete
Проверить различие между архивами
Удалить из существующего архива файл
-r —append Присоединить файлы к концу архива
-t —list Сформировать список содержимого архива
-u —update Обновить архив более новыми файлами с тем же именем
-x —extract Извлечь файлы из архива

При определении каждой функции используются параметры, которые регламентируют выполнение конкретных операций с tar-архивом:

Параметр Длиннный
формат
Описание
-C dir —directory=DIR Сменить директорию перед выполнением операции на dir
-f file —file Вывести результат в файл (или на устройство) file
-j —bzip2 Перенаправить вывод в команду bzip2
-p —same-permissions Сохранить все права доступа к файлу
-v —verbose Выводить подробную информацию процесса
—totals Выводить итоговую информацию завершенного процесса
-z —gzip Перенаправить вывод в команду gzip

А дальше рассмотрим примеры того, как может применяться команда tar Linux.

Как пользоваться tar

1. Создание архива tar

С помощью следующей команды создается архив archive.tar с подробным выводом информации, включающий файлы

file1, file2 и file3:

tar --totals --create --verbose --file archive.tar file1 file2 file3

Но длинные опции и параметры можно заменить (при возможности) однобуквенными значениями:

tar --totals -cvf archive.tar file1 file2 file3

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

Следующая команда выводит содержимое архива, не распаковывая его:

tar -tf archive.tar

3. Распаковка архива tar Linux

Распаковывает архив test.tar с выводом файлов на экран:

tar -xvf archive.tar

Чтобы сделать это в другой каталог, можно воспользоваться параметром -C:

tar -C "Test" -xvf archive.tar

3. Работа со сжатыми архивами

Следует помнить, что tar только создаёт архив, но не сжимает. Для этого используются упомянутые компрессорные утилиты bzip2 и gzip. Файлы, сжатые с их помощью, имеют соответствующие расширения .tar.bz2 и .tar.gz. Чтобы создать сжатый архив с помощью bzip2, введите:

tar -cjvf archive.tar.bz2 file1 file2 file3

Синтаксис для gzip отличается одной буквой в параметрах, и меняется окончание расширения архива:

tar -czvf archive.tar.gz file1 file2 file3

При распаковке tar-архивов с таким расширением следует указывать соответствующую опцию:

tar -C "Test" -xjvf arhive.tar.bz2

или:

tar -xzvf archive.tar.gz

На заметку: архиватор tar — одна из немногих утилит в GNU/Linux, в которой перед использованием однобуквенных параметров, стоящих вместе, можно не ставить знак дефиса.

Выводы

В этой статье была рассмотрена команда tar Linux, которая используется для архивации файлов и поставляется по умолчанию во всех дистрибутивах. В её возможности входит создание и распаковка архива файлов без их сжатия. Для сжатия утилита применяется в связке с популярными компрессорами bzip2 и gzip.

Создание и извлечение архивов с помощью команды Tar в Linux

этой статье мы покажем вам, как использовать утилиту Tar для извлечения и создания tar-архивов с помощью практических примеров и подробных объяснений наиболее распространенных параметров Tar.

Команда 

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

Tar поддерживает широкий спектр программ сжатия , таких как gzipbzip2lziplzmalzopxzи compress. При создании сжатых tar-архивов принято считать добавление суффикса компрессора к имени файла архива. Например, если архив был сжат с помощью gzip, он должен быть назван archive.tar.gz.

Tar был первоначально разработан для создания архивов при хранения файлов на магнитной ленте, поэтому он имеет свое название « T ape AR chive».

Существуют две версии tar, BSD tar и GNU tar с некоторыми функциональными отличиями. Большинство систем Linux поставляются с предустановленной GNU tar по умолчанию. Если у вас не установлен tar, рекомендуем сначало установить его следую нашей статьи как установить tar.gz в CentOS.

Прежде чем перейти к использованию команды tar, давайте начнем с рассмотрения базового синтаксиса.

tar [OPERATION_AND_OPTIONS] [ARCHIVE_NAME] [FILE_NAME(s)]

 

  • OPERATION– Разрешается и требуется только один аргумент. Наиболее часто используемые операции:
    • --create-c) – Создание нового tar-архива.
    • --extract-x) – Извлечь весь архив или один или несколько файлов из архива.
    • --list-t) – отобразить список файлов, включенных в архив
  • OPTIONS – Наиболее часто используемые операции:
    • --verbose-v) – Показать файлы, обрабатываемые командой tar.
    • --file=archive=name-f archive-name) – Указывает имя файла архива.
  • ARCHIVE_NAME – Название архива.
  • FILE_NAME(s)– список имен файлов, разделенных пробелами, которые нужно извлечь. Если не предусмотрено, весь архив будет извлечен.

При выполнении команды tar вы можете использовать длинную или краткую форму операций и параметров tar. Длинные формы более читабельны, а короткие формы – быстрее. Опции длинной формы имеют префикс двойной тире ( --). Параметры короткой формы имеют префикс с одним тире ( -), который можно опустить.

Используйте оператор -c для создания архива tar. Например, чтобы создать архивный файл с именем 

archive.tarиз файлов с именем file1file2file3 выполните следующую команду:

tar -cf archive.tar file1 file2 file3

 

Вот эквивалентная команда, использующая параметры длинной формы:

tar --create --file=archive.tar file1 file2 file3

 

В следующем примере будет создан архив backup.tar из каталога /home/username:

tar -cf backup.tar /home/username

 

Вы можете создавать архивы из содержимого одного или нескольких каталогов или файлов. По умолчанию каталоги архивируются рекурсивно, если не указан параметр --no-recursion. Используйте параметр -v, если хотите просмотреть файлы, которые обрабатываются.

Gzip – самый популярный алгоритм сжатия tar-файлов. При сжатии архивов tar с gzip имя архива должно заканчиваться либо 

tar.gzили tgz.

Чтобы создать архив tar.gz из заданных файлов, вы можете использовать следующую команду:

tar -czf archive.tar.gz file1 file2

 

Опция  -zсообщает tar сжать архив, используя алгоритм  gzip.

Другим популярным алгоритмом сжатия tar-файлов является bzip2. При сжатии архивов tar с bzip2 имя архива должно заканчиваться либо tar.bz2 либо tbz.

Когда указана опция  -j , tar будет использовать алгоритм bzip2 сжатия архива.

Следующая команда создаст архив tar.bz2 из заданных файлов:

tar -cjf archive.tar.bz2 file1 file2

 

Чтобы перечислить содержимое tar-архива, используйте операцию 

--list-t).

tar -tf archive.tar

 

file1
file2
file3

 

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

tar -tvf archive.tar

 

-rw-r--r-- linuxize/users       0 2018-09-08 20:15 file1
-rw-r--r-- linuxize/users       0 2018-09-08 20:15 file2
-rw-r--r-- linuxize/users       0 2018-09-08 20:15 file3

 

Для извлечения tar-архива используйте оператор --extract-x) и укажите имя файла архива:

tar -xf archive.tar

 

Также обычно добавляется опция -v для печати имен извлеченных файлов.

tar -xvf archive.tar

 

По умолчанию tar будет извлекать содержимое архива в текущем рабочем каталоге. Используйте 

--directory-C) для извлечения архивных файлов в определенном каталоге:

Например, чтобы извлечь содержимое архива в каталог /opt/files, вы можете использовать:

tar -xf archive.tar -C /opt/files

 

При извлечении сжатых архивов, например, tar.gzили tar.bz2 вам не нужно указывать параметр декомпрессии. Команда такая же, как при извлечении архива tar:

tar -xf archive.tar.gz

 

tar -xf archive.tar.bz2

 

Чтобы извлечь определенные файлы из архива tar, добавьте список имен файлов, разделенных пробелами, которые будут извлечены после имени архива:

tar -xf archive.tar file1 file2

 

При извлечении файлов вы должны указать свои точные имена, включая путь, как напечатано 

--list-t).

Извлечение одной или нескольких каталогов из архива аналогично извлечению файлов:

tar -xf archive.tar dir1 dir2

 

Если вы попытаетесь извлечь файл, который не существует, появится сообщение об ошибке, подобное приведенному ниже:

tar -xf archive.tar README

 

tar: README: Not found in archive
tar: Exiting with failure status due to previous errors

 

Чтобы извлечь файлы из архива на основе шаблона подстановочных знаков, используйте переключатель --wildcards и укажите шаблон, чтобы предотвратить интерпретацию оболочки.

Например, чтобы извлечь файлы, имена которых заканчиваются на .js(файлы Javascript), вы можете использовать:

tar -xf archive.tar --wildcards '*.js'

 

Чтобы добавить файлы или каталоги в существующий архив tar, используйте операцию --append-r).

Например, чтобы добавить файл с именем newfile в archive.tar, вы можете использовать:

tar -rvf archive.tar newfile

 

Используйте операцию --delete для удаления файлов из архива.

Например, чтобы удалить файл с именем file1 из archive.tar, вы можете использовать:

tar --delete -f archive.tar file1

 

К настоящему времени у вас должно быть хорошее понимание того, как создавать и извлекать архивы tar.

Архиватор tar | Русскоязычная документация по Ubuntu

tar — наиболее распространенный архиватор, используемый в Linux-системах. Сам по себе tar не является архиватором в привычном понимании этого слова, т.к. он самостоятельно не использует сжатие. В то же время, многие архиваторы (например, Gzip или bzip2) не умеют сжимать несколько файлов, а работают только с одним файлом или входным потоком. Поэтому чаще всего эти программы используются вместе. tar создает несжатый архив, в который помещаются выбранные файлы и каталоги, при этом сохраняя некоторые их атрибуты (такие как права доступа). После этого полученный файл *.tar сжимается архиватором, например, gzip. Вот почему архивы обычно имеют расширение .tar.gz или .tar.bz2 (для архиваторов gzip и bzip2 соответственно)

Использование

tar запускается с обязательным указанием одного из основных действий, самые распространенные из которых — создание и распаковка архивов, далее задаются прочие параметры, зависящие от конкретной операции.

Создание архива

Для создания архива нужно указать tar соответствующее действие, что делается с помощью ключа -c. Кроме того, для упаковки содержимого в файл необходим ключ -f1). Далее укажем сначала имя будущего архива, а затем те файлы, которые хотим упаковать.

tar -cf txt.tar *.txt

Эта команда упакует все файлы с расширением txt в архив txt.tar. Так и создается простейший архив без сжатия. Для использования сжатия не нужно запускать что-либо еще, достаточно указать tar, каким архиватором следует сжать архив. Для двух самых популярных архиваторов gzip и bzip2 ключи будут -z и -j соответственно.

tar -cvzf files.tar.gz ~/files

упакует папку ~/files со всем содержимым в сжатый с помощью gzip архив.

tar -cvjf files.tar.bz2 ~/files

создаст аналогичный архив, используя для сжатия bzip2.

Ключ -v включает вывод списка упакованных файлов в процессе работы. К сожалению, более продвинутой индикации хода процесса (например, указания степени готовности в процентах) в tar не предусмотрено. Для этого используйте графические архиваторы (например, Xarchiver) или пользуйтесь средствами файл-менеджера.

Помимо gzip и bzip2 можно использовать, например, lzma (ключ –lzma) или xz (ключ -J), при этом соответствующий архиватор должен быть установлен в системе.

Распаковка архива

Действие «распаковка» задается с помощью ключа -x. И тут снова потребуется ключ -f для указания имени файла архива. Также добавим ключ -v для визуального отображения хода процесса.

tar -xvf /path/to/archive.tar.bz2

распакует содержимое архива в текущую папку. Альтернативное место для распаковки можно указать с помощью ключа -C:

tar -xvf archive.tar.bz2 -C /path/to/folder

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

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

tar -tf archive.tar.gz

Она выведет простой список файлов и каталогов в архиве. Если же добавить ключ -v, будет выведен подробный список с указанием размера, прав доступа и прочих параметров (так же, как по ls -l)

Прочие возможности

tar предоставляет множество полезных возможностей. Например, можно указать файлы и каталоги, которые не будут включены в архив, добавить файлы в существующий архив, взять список объектов для запаковки из текстового файла и много что ещё. Во всем многообразии опций как всегда поможет разобраться

man tar

или же

tar --help

Как архивировать файлы в Linux [tar]

В этой статье мы поговорим о том, как архивировать файлы и каталоги в Linux. Разве архивация и сжатие не одно и то же? Многие думают, что эти термины имеют одинаковое значение. Но они совершенно разные. Архивирование — это процесс объединения нескольких файлов и каталогов в один файл. А сжатие — это процесс уменьшения размера файлов или каталогов. Архивирование часто используется для резервного копирования системы или при перемещении данных. Надеюсь, теперь вы понимаете разницу между архивированием и сжатием. Давайте перейдем к теме.

Наиболее распространенные программы для архивирования файлов и каталогов:

Архивирование файлов и папок с помощью tar

Tar — это команда Unix, которая обозначает Tape Archive. Она используется для объединения или сжатия нескольких файлов в один файл. В утилите tar есть 4 основных режима работы.

  • c — Создать архив из файлов или каталогов.
  • x — Извлечь архив.
  • r — Добавить файлы в конец архива.
  • t — список содержимого архива.

Краткий список команд

Создание tar архивов:

  • Простой tar архив: tar -cf archive.tar file1 file2 file3
  • gzip tar архив: tar -czf archive.tgz file1 file2 file3
  • bzip tar архив: tar -cjf archive.tbz file1 file2 file3

Извлечение tar архивов:

  • Простой tar архив: tar -xf archive.tar
  • gzip tar архив: tar -xzf archive.tgz
  • bzip tar архив: tar -xjf archive.tbz

Создание нового архива

Для целей данной статьи я буду использовать папку с именем mordeniuss, которая содержит файлы трех разных типов.

ls mordeniuss/
file.odt image.png song.mp3

Теперь давайте создадим новый tar-архив каталога mordeniuss.

tar cf mordeniuss.tar mordeniuss/

Здесь флаг c обозначает создание нового архива, а f — имя файла.

Аналогично, чтобы создать архив из набора файлов в текущем рабочем каталоге, используйте эту команду:

tar cf archive.tar file1 file2 file3

Извлечение архива

Чтобы извлечь архив в текущем каталоге, просто выполните:

tar xf mordeniuss.tar

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

tar xf mordeniuss.tar -C Downloads/

Или перейдите в папку Downloads и распакуйте архив внутри нее, как показано ниже.

cd Downloads/
tar xf ../mordeniuss.tar

Также вы можете извлечь файлы только определенного типа. Например, следующая команда извлекает файлы типа «.png».

tar xf mordeniuss.tar --wildcards "*.png"

Создание архива в формате GZIP и BZIP

По умолчанию Tar создает архивный файл с расширением .tar. Кроме того, команда tar может использоваться в сочетании с утилитами сжатия gzip и bzip2. Файлы оканчиваются расширениями .tar, ссылаются на обычный архив tar, файлы оканчиваются на tar.gz или .tgz, обозначает архив gzip, а файлы tar заканчиваются на tar.bz2 или .tbz — архив bzip, соответственно.

Во-первых, давайте создадим сжатый архив:

tar czf mordeniuss.tar.gz mordeniuss/

или

tar czf mordeniuss.tgz mordeniuss/

Здесь мы используем флаг z для сжатия архива методом сжатия gzip.

Вы можете использовать флаг v для просмотра прогресса при создании архива.

tar czvf mordeniuss.tar.gz mordeniuss/
mordeniuss/
mordeniuss/file.odt
mordeniuss/image.png
mordeniuss/song.mp3

Чтобы создать сжатый архив из списка файлов:

tar czf archive.tgz file1 file2 file3

Чтобы распаковать архив в текущем каталоге, используйте:

tar xzf mordeniuss.tgz

Чтобы извлечь архив в другую папку, используйте флаг -C

tar xzf mordeniuss.tgz -C Downloads/

Давайте создадим архив bzip. Для этого используйте флаг j, как показано ниже.

tar cjf mordeniuss.tar.bz2 mordeniuss/

или

tar cjf mordeniuss.tbz mordeniuss/

Создание архива из списка файлов:

tar cjf archive.tar.bz2 file1 file2 file3

или

tar cjf archive.tbz file1 file2 file3

Распакуем архив в текущем каталоге. Для этого используем:

tar xjf mordeniuss.tar.bz2

Для извлечения в другой каталог:

tar xjf mordeniuss.tar.bz2 -C Downloads

Создание архива из нескольких каталогов или файлов одновременно

Это еще одна крутая особенность команды tar. Чтобы создать сжатый архив из нескольких каталогов или файлов одновременно, используйте эту команду:

tar czvf mordeniuss.tgz Downloads/ Documents/ mordeniuss/file.odt

Приведенная выше команда создаст архив из папок Downloads, Documents и файла file.odt в каталоге mordeniuss и сохранит архив в текущем рабочем каталоге.

Исключить каталоги или файлы при создании архива

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

Выглядит это так:

tar czvf mordeniuss.tgz /home/sk --exclude=/home/sk/Downloads --exclude=/home/sk/Documents --exclude=/home/sk/Pictures --exclude=/home/sk/Music

Приведенная выше команда создаст сжатый архив моего каталога $HOME, исключая папки Downloads, Documents, Pictures и Music. Чтобы создать архив bzip, замените z на j и используйте расширение .tbz в примере.

Список содержимого архива без извлечения

Чтобы просмотреть содержимое, используйте флаг t.

tar tf mordeniuss.tar 
mordeniuss/
mordeniuss/file.odt
mordeniuss/image.png
mordeniuss/song.mp3

Чтобы просмотреть подробный вывод, используйте флаг v.

tar tvf mordeniuss.tar 
drwxr-xr-x sk/users 0 2018-03-26 19:52 mordeniuss/
-rw-r--r-- sk/users 9941 2018-03-24 13:49 mordeniuss/file.odt
-rw-r--r-- sk/users 36014 2015-09-30 11:52 mordeniuss/image.png
-rw-r--r-- sk/users 112382 2018-02-22 14:35 mordeniuss/song.mp3

Добавление файлов в существующие архивы

Файлы или каталоги могут быть добавлены / обновлены в существующие архивы с помощью флага r. Посмотрите на следующую команду.

tar rf mordeniuss.tar mordeniuss/ sk/ example.txt

Приведенная выше команда добавит каталог sk и файл example.txt в архив mordeniuss.tar.

Вы можете проверить, добавлены ли файлы или нет, используя команду:

tar tvf mordeniuss.tar 
drwxr-xr-x sk/users 0 2018-03-26 19:52 mordeniuss/
-rw-r--r-- sk/users 9942 2018-03-24 13:49 mordeniuss/file.odt
-rw-r--r-- sk/users 36013 2015-09-30 11:52 mordeniuss/image.png
-rw-r--r-- sk/users 112383 2018-02-22 14:35 mordeniuss/song.mp3
drwxr-xr-x sk/users 0 2018-03-26 19:52 sk/
-rw-r--r-- sk/users 0 2018-03-26 19:39 sk/linux.txt
-rw-r--r-- sk/users 0 2018-03-26 19:56 example.txt

как запаковать и распаковать tar gz и tar bz2

Что такое Tar

Tar — это популярный файловый архиватор в Unix/Linux системах. Tar зачастую используется вместе с архиваторами GZip или BZip2, так как они отлично взаимодополняют друг друга: Tar не может сжимать файлы, только собирать их в одни архив, а GZip и BZip2 не могут сжимать несколько файлов одновременно, поэтому если вам нужно запаковать несколько файлов и директорий, сначала они собираются в один несжатый архив с помощью Tar, который сохранит их некоторые атрибуты, например такие, как права доступа, а затем этот архив сжимается с помощью GZip или BZip2. Весь процесс запускается одной консольной командой, про которые далее.

Как установить, создать архив Tar и распаковать его в Windows

Чтобы использовать Tar в Windows, нужно воспользоваться одним из следующих вариантов:

  1. Установить Far Manager.
    Инструкция по созданию и распаковке архива .tar с помощью Far Manager:
    • Теперь просто выделяете ПКМ (правой кнопкой мыши) или кнопкой клавиатуры Insert нужные вам файлы и папки и жмёте Shift + F1, затем выбираете нужный формат (в нашем случае, TAR) и создаёте архив:

      Создание архива в Far Manager

      При желании, в поле Добавить к архиву можно изменить название архива, а в поле Ключи можно ввести пароль от него.

    • Чтобы распаковать архив Tar, просто выделяете ПКМ или Insert нужный архив и жмёте Shift + F2

      Как распаковать Tar в Far Manager

      В поле Распаковать в вводится путь, куда распаковать архив. Если нужно распаковать в текущую папку, нужно оставить поле Распаковать архив пустым. Если архив запаролен, пароль вводится в поле Пароль.

  2. Также, можно обойтись без Far Manager, установив 7-Zip

    Скачать 7-zip архиватор

    Всё управление — создать архив и распаковать его — через ПКМ и Проводник Windows

Как запаковать архив tar.gz и tar.bz2 в Ubuntu, Debian, CentOS

tar cfvz archive.tar.gz *.php

где tar — команда, cfvz — ключи, archive.tar.gz — имя будущего архива, *.php — список файлов, которые нужно заархивировать.
Список можно заменить директорией, которую нужно запаковать целиком, для этого указываем путь до неё, абсолютный или относительный

tar cfvz archive.tar.gz /forpack

Теперь подробнее про ключи

  • — команда, которая означает «создать архив»
  • -f — команда на упаковку файлов и директорий в один файл архива
  • -v — включает визуальное отображение процесса архивации
  • -z — использовать для сжатия GZip

Команда tar и zip в Linux. Создание и извлечение архивов с помощью команды Tar в Linux

Аббревиатура tar предназначена для иллюстрации того, что отдельные файлы GZIP были сжаты настолько широко и максимально плотно, насколько это возможно. Упакованный файл может заканчиваться на .tar.gz и .tar.bz2. Иногда используется двойное окончание — .tar.gz. ZIP, который был разработан для слияния и сжатия, но оказался более мощным и поэтому в значительной степени подавляет файл .tar.

Как можно догадаться по двойному расширению формата, состоящему из двух файлов, это фактически два в одном. TAR объединяет несколько объектов данных в один пакет под систему Windows. Это полезно, если, например, необходимо отправить несколько документов, изображений или предложить их для загрузки.

Расширения в формате .tar в основном предназначены для операционной системы Linux. В мире Windows они довольно необычны и редко встречаются. По этой причине система не может открыть эти файлы без дополнительного программного обеспечения.

Синтаксис командной строки

Прежде чем перейти к использованию команды tar, давайте начнем с рассмотрения базового синтаксиса.

tar [OPERATION_AND_OPTIONS] [ARCHIVE_NAME] [FILE_NAME(s)]

  • OPERATION– Разрешается и требуется только один аргумент. Наиболее часто используемые операции:
    • —create( -c) – Создание нового tar-архива.
    • —extract( -x) – Извлечь весь архив или один или несколько файлов из архива.
    • —list( -t) – отобразить список файлов, включенных в архив
  • OPTIONS – Наиболее часто используемые операции:
    • —verbose( -v) – Показать файлы, обрабатываемые командой tar.
    • —file=archive=name( -f archive-name) – Указывает имя файла архива.
  • ARCHIVE_NAME – Название архива.
  • FILE_NAME(s)– список имен файлов, разделенных пробелами, которые нужно извлечь. Если не предусмотрено, весь архив будет извлечен.

При выполнении команды tar вы можете использовать длинную или краткую форму операций и параметров tar. Длинные формы более читабельны, а короткие формы – быстрее. Опции длинной формы имеют префикс двойной тире ( —). Параметры короткой формы имеют префикс с одним тире ( -), который можно опустить.

1. Создание архива tar

С помощью следующей команды создается архив archive.tar с подробным выводом информации, включающий файлы file1, file2 и file3:

tar —totals —create —verbose —file archive.tar file1 file2 file3

Но длинные опции и параметры можно заменить (при возможности) однобуквенными значениями:

tar —totals -cvf archive.tar file1 file2 file3

Создание архива Tar Gz

Gzip – самый популярный алгоритм сжатия tar-файлов. При сжатии архивов tar с gzip имя архива должно заканчиваться либо tar.gzили tgz.

Чтобы создать архив tar.gz из заданных файлов, вы можете использовать следующую команду:

tar -czf archive.tar.gz file1 file2

Опция  -zсообщает tar сжать архив, используя алгоритм  gzip.

Создание архива Tar Bz2

Другим популярным алгоритмом сжатия tar-файлов является bzip2. При сжатии архивов tar с bzip2 имя архива должно заканчиваться либо tar.bz2 либо tbz.

Когда указана опция  -j , tar будет использовать алгоритм bzip2 сжатия архива.

Следующая команда создаст архив tar.bz2 из заданных файлов:

tar -cjf archive.tar.bz2 file1 file2

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

Следующая команда выводит содержимое архива, не распаковывая его:

tar -tf archive.tar

Листинг архива Tar

Чтобы перечислить содержимое tar-архива, используйте операцию —list( -t).

tar -tf archive.tarfile1 file2 file3

Если вы укажете содержимое архива с помощью параметра —verbose( -v), tar будет печатать больше информации, например, владельца, размера файла, метки времени и т.д.:

tar -tvf archive.tar-rw-r—r— linuxize/users 0 2018-09-08 20:15 file1 -rw-r—r— linuxize/users 0 2018-09-08 20:15 file2 -rw-r—r— linuxize/users 0 2018-09-08 20:15 file3

Извлечение архивов Tar Gz и Tar Bz2

При извлечении сжатых архивов, например, tar.gzили tar.bz2 вам не нужно указывать параметр декомпрессии. Команда такая же, как при извлечении архива tar:

tar -xf archive.tar.gztar -xf archive.tar.bz2

Извлечение определенных файлов из tar-архива

Чтобы извлечь определенные файлы из архива tar, добавьте список имен файлов, разделенных пробелами, которые будут извлечены после имени архива:

tar -xf archive.tar file1 file2

При извлечении файлов вы должны указать свои точные имена, включая путь, как напечатано —list( -t).

Извлечение одной или нескольких каталогов из архива аналогично извлечению файлов:

tar -xf archive.tar dir1 dir2

Если вы попытаетесь извлечь файл, который не существует, появится сообщение об ошибке, подобное приведенному ниже:

tar -xf archive.tar READMEtar: README: Not found in archive tar: Exiting with failure status due to previous errors

Извлечение файлов из архива Tar с помощью подстановочного знака

Чтобы извлечь файлы из архива на основе шаблона подстановочных знаков, используйте переключатель —wildcards и укажите шаблон, чтобы предотвратить интерпретацию оболочки.

Например, чтобы извлечь файлы, имена которых заканчиваются на .js(файлы Javascript), вы можете использовать:

tar -xf archive.tar —wildcards ‘*.js’

Добавление файлов в существующий архив

Чтобы добавить файлы или каталоги в существующий архив tar, используйте операцию —append( -r).

Например, чтобы добавить файл с именем newfile в archive.tar, вы можете использовать:

tar -rvf archive.tar newfile

Удаление файлов из tar-архива

Используйте операцию —delete для удаления файлов из архива.

Например, чтобы удалить файл с именем file1 из archive.tar, вы можете использовать:

tar —delete -f archive.tar file1

Общая информация по работе с Tar

  1. tar —help — вызов справки по командам и параметрам
  2. man tar  — вызов расширенной документации
  3. официальная документация по команде tar — ссылка

Архивация Zip в Linux

Архиватор zip — это звезда в мире ПО (ну не считая rar) этот формат очень популярен для windows систем и он по умолчанию уже встроен в чистую сборку операционной системы, поэтому только установив виндовус вы уже можете разархивировать файлы в формате zip

но давайте перейдем к делу, в Linux и Unix системах дела обстоят по другому, это формат Tar идет по умолчанию, а вот для zip надо  поставить пакет unzip

Установка:

  1. sudo apt-get update && apt-get upgrade
  2. sudo apt-get install unzip

Создание ZIP архива

Для начала запомним шаблон или синтаксис команды для создания архива zip в linux:

zip [опции] <имя файла.zip=»»> [файлы или папки которые будем упаковывать]

Опции для создания архива tar:

  • r (recurse) — рекурсивное создание архива
  • s (size) — разбивка архива на определенный размер k (kB), m (MB), g (GB) или t (TB)
    пример: zip -s 300m <файл 1=»» гб=»»>
    на выходе получим:
    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

Творение tar-архива без сжатия в Linux

Для создания такого архива используется команда:

tar -cf filename.tar file1 file2 fileN

Метеопараметр —cf отвечает за создание архива filename.tar, в который войдут указанные файлы. Вместо файлов смогут быть указаны и директории.

Создание архива с использованием сжатия в Linux

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

Образчик сжатия Gzip:

tar -cvzf filename.tar.gz dir_name

В данном случае мы попытались запаковать папку dir_name в картотека filename.tar.gz. Из указанных параметров -z указывает на использование метода Gzip, а -v выводит результаты процесса творения архива с указанием упакованных файлов или папок.

Читайте также:  Настройка Iptables (примеры) Часть 2

Распаковать zip архив

рассмотрим синтаксис команды что бы распаковать или разархивировать tar архив :

unzip <имя файла.zip=»»>

Опции для создания архива tar:

  • d (directory) — указать директорию для разархивации
  • l — вывести список файлов в архиве
  • d — удалить определенный файл или каталог из уже сделанного архива
  • v — показывает детальную информацию по файлам в архиве  ()

unzip <имя файла.zip=»»> —  распаковываем архив в категорию в которой находимся
unzip <имя файла.zip=»»> -d /home/nibbl/desktop — распаковываем архив на рабочий стол

Общая информация по работе с Zip

  1. zip —help или unzip —help   —  вызов справки по командам и параметрам
  2. man zip или man unzip  — вызов расширенной документации
  3. официальная документация по команде zip — ссылка

 

Прочие возможности tar в Linux

tar предоставляет множество полезных возможностей. Например, возможно указать файлы и каталоги, которые не будут включены в архив, добавить файлы (именованная область данных на носителе информации) в имеющийся архив (1) учреждение или структурное подразделение организации, осуществляющее хранение, комплектование, учёт и использование архивных документов; 2) собрание письменных памятников (рукописей, писем и т), взять список объектов для запаковки из текстового файла и много что ещё. Во всем обилии опций как всегда поможет разобраться

man tar

или же

tar —help

Утилита командной строки tar используется для службы с архивами в операционных системах на базе UNIX. С ее помощью можно архивировать данные и улучшить использование дискового пространства.

Программа для открытия файлов TAR в системе Windows

Особенно популярным и удобным программным обеспечением для распаковки и открытия файлов .tar.gz и .tar.bz2 в Windows является WinRAR.

Winrar признана классикой среди упаковочного ПО и может быть загружена в тестовой версии с сайта производителя WindowsRAR.ru. С ней файлы в системах Windows могут сжиматься намного эффективнее, чем с форматами ZIP. Лучшая и самая важная функция WinRAR понятна и отлично выполняется упаковщиком: экономит место на диске, время передачи. В дополнение к основной задаче, программное обеспечение предлагает множество других инструментов при архивировании файлов.

Главное преимущество WinRaR заключается в том, что она распознает двойные файлы и распаковывает их непосредственно за один шаг. Даже если вы дважды откроете .tar.gz и .tar.bz2, вы сможете напрямую просмотреть отдельные папки, упакованные в него с помощью архиватора. Это особенно удобно и стоит запомнить, поскольку на самом деле в формате .bz есть только один файл .TAR. Только в нем находятся отдельные оригинальные файлы.

Программа для открытия TAR файлов используется в пробной версии бесплатно в течение 40 дней. Далее производитель предложит вам купить лицензию.

Как распаковать TAR файл?

Уже во время установки ПО можно задать параметры, чтобы файлы .tar распаковывались с помощью WinRAR.

Если на жестком диске есть папка в формате .tar.gz, вы можете просто распаковать ее, дважды щелкнув, как и любой другой архив, поддерживаемый WinRAR.

Если вы не отметили TAR во время установки, файлы этого формата все еще можно извлечь, используя WinRAR.

Если архиватор уже открыт, перейдите в «Файл», чтобы найти путь, по которому находится папка .tar, и два раза кликните по маркеру.

Теперь содержимое архива должно отображаться в программе для открытия TAR файлов.

Как открыть и разархивировать файл TAR?

Если вы часто работаете с архивами .TAR, WindowsRAR следует установить в качестве стандартной для распаковки форматов .tar.gz и .tar.bz2. Если формат папки еще не связан с другим ПО сжатия, два раза нажмите папку TAR. Во втором случае кликните правой клавишей по маркеру упакованного файла TAR, выберите параметр «Открыть с помощью». В новом окне теперь представлены программы, открывающие файлы в формате TAR.

Если WinRAR отсутствует в списке, выберите «Поиск» в нижней области. Теперь проследите путь, по которому расположен архиватор, и установите его как стандартную программу для открытия расширения TAR. Прежде чем подтвердить настройку нажатием «ОК», убедитесь, что в левой части флажок «Всегда открывать тип файла с выбранной программой».

Примеры

gz

Распаковка .gz файла:

tar -xvf archive.tar.gz 

* при возникновении ошибки This does not look like a tar archive, можно воспользоваться командой gzip -d archive.tar.gz.

bz2

tar -xvjf archive.tar.bz2

* ключ j отвечает за работу с bz2.

Если система ругается на bzip2, значит нужно его установить:

yum install bzip2

apt-get install bzip2

pkg install bzip2

* соответственно, для CentOS (RPM based), Ubuntu (deb based), FreeBSD (BSD based).

Если видим ошибку tar: Unrecognized archive format, воспользуемся следующей командой:

bzip2 -d archive.tar.bz2

gzip

tar -xvzf archive.tar.gzip

* ключ z отвечает за работу с gzip.

tgz

Распаковывается, как gzip:

tar -xvzf archive.tgz

Распаковать в определенную папку

tar -C /home/user -xvf archive.tar.gz

* ключ -C используется для указания папки, куда необходимо распаковать файлы из архива.

Распаковка без вложенной папки

Такой способ можно использовать для распаковки в заранее подготовленный каталог. Будет некий эффект переименовывания каталога или аналог «Распаковать здесь»:

tar -C /home/admin/mytar -xvf admin.tar.gz —strip-components 1

* каталог /home/admin/mytar заранее должен быть создан; —strip-components 1 пропустит одну вложенную папку внутри архива.

Исключение файлов по маске

Если необходимо пропустить некоторые файлы, вводим команду с ключом —exclude:

tar -czvf archive.tar.gz /wwwsite —exclude=’sess_*’

* в данном примере мы создадим архив archive.tar.gz, в котором не будет файлов, начинающихся на sess_.

[spoiler title=»Источники»]
  • https://windowsrar.ru/tar
  • https://andreyex.ru/operacionnaya-sistema-linux/sozdanie-i-izvlechenie-arhivov-s-pomoshhyu-komandy-tar-v-linux/
  • https://losst.ru/komanda-tar-v-linux
  • https://www.nibbl.ru/ubuntu/komanda-tar-i-zip-v-linux.html
  • https://www.linux16.ru/articles/kak-v-linux-raspakovat-tar-gz.html
  • https://www.dmosk.ru/miniinstruktions.php?mini=tar-unix
[/spoiler]

Команда tar в Linux — создание и распаковка архива

Многие владельцы персональных компьютеров предпочитают пользоваться операционной системой Linux. При возникновении необходимости архивации данных на ПК нередко устанавливаются различные сторонние программы. К примеру, специальный архиватор Zip Linux приобрел свое широкое распространение благодаря тому, что совместим с ОС Windows.

Нестандартные программы для Linux применяются весьма широко. Стоит отметить, что в этой операционной системе есть и встроенный архиватор, который отличается хорошей производительностью. Эта команда имеет название tar.

Утилита tar для ОС «Линукс» – это специальная команда, применяемая при архивации различных типов файлов. Она имеется по умолчанию в каждом дистрибутиве, дает возможность распаковывать и создавать файлы.

Синтаксис

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

Утилита, которая применяется для создания и извлечения различных типов файлов, ничем не отличается от классических архиваторов. Синтаксис команд весьма прост.

Рассмотрим синтаксис.

Создание архива:

tar [функция] [параметры] [название архива.tar] [файлы]

Распаковка:

tar (параметры) (файл.tar)

Утилита отличается хорошей производительностью и функциональностью. Существует определенный список опций, которые поддерживает эта команда:

  • «-А». Присоединение имеющегося архива к стороннему архиву.
  • «-с». Создание нового сжатого файла.
  • «-d». Определение отличий между двумя определенными архивами, удаление документов.
  • «-r». Присоединение файлов к архиву. Они располагаются в конце.
  • «-t». Формирование перечня содержимого в архиве.
  • «-u». Обновление архивных данных, дополнение данными с аналогичными именами.
  • «-х». Извлечение требуемых документов из архива.

После того, как определились с конкретной функцией, можно ввести дополнительные параметры. Они регламентируют осуществление определенной операции, касающейся данных:

  • «-С» (—directory=DIR). Изменение адреса каталога перед проведением мероприятий на dir.
  • «-f» (—file). Вывод результата в определённый файл или на конкретное устройство.
  • «-j» (—bzip2). Перенаправление вывода информации к bzip2.
  • «-p» (—same-permissions). Сохранение доступности относительно определенного документа.
  • «-v». (—verbose; —totals). Вывод подробных данных о совершаемых или уже завершенных процессах.
  • «-z». (—gzip). Перенаправление вывода на gzip.

Примеры

Все примеры можно разделить на три группы: создание; просмотр; распаковка.

Рекомендуется тщательно изучить примеры использования команды для ОС Линукс. Они позволят быстро справиться с поставленной задачей.

Создание

Для первого примера, создадим новый архив newarhiv.tar из одного документа /root/catalog/test.

С помощью команды cd зайдем в директорию /root/catalog.

cd /root/catalog/

Далее будем использовать функцию «-c» создание нового архива, параметр «-v» вывод подробной информации, «-f» результат записать в документ.

tar -cvf newarhiv.tar test

Здесь:

  • «-cvf» — функция и опции.
  • «newarhiv.tar» — название нового сжатого документа.
  • «test» — название файла, который нужно запаковать.

Если требуется запаковать несколько документов, то будет выглядеть так:

tar -cvf newarhiv.tar test test2 test3

tar/gz

tar.gz — это архив созданный утилитой tar, в последствии запакованный Gzip.

Запакуем tar.gz все файлы в каталоге «/root/catalog» . Для этого необходимо использовать аргумент «-z» (gzip).

tar -cvzf arhiv2.tar.gz /root/catalog/

tar/bz2

tar.bz2 — это архив созданный утилитой tar, в последствии запакованный Bzip 2.

Файлы в формате bz2 сжимаются лучше, чем gz, соответственно занимают меньше места.

Запакуем документ «newfile» в каталоге «/root/primercataloga» в формате bz2. Для этого будем использовать аргумент «-j»

tar cvfj dokument.tar.bz2 newfile

Просмотр

Откроем newarhiv.tar для просмотра. Для этого, необходимо использовать аргумент «-t».

tar -tvf /root/catalog/newarhiv.tar

 Просмотр tar.gz

Откроем oldfile.tar.gz для просмотра. Синтаксис команды тот же, что и при открытии простого «.tar».

tar -tvf oldfile.tar.gz

Просмотр bz2

Откроем документ oldfile.tar.bz2.

tar -tvf oldfile.tar.bz2

Распаковка

Для извлечения определенного файлового архива потребуется использование функции «х». Извлечем документ newarhiv.

tar -xvf newarhiv.tar

Разархивируем tar.gz

Для разархивации файла формата tar.gz потребуется также использование опции «х».

tar -xvf arhiv2.tar.gz

Разархивируем tar.bz2

Для разархивирования сжатого файла bz2, также применяется аргумент «х».

tar -xvf dokument.tar.bz2

Разархивируем единичный файл

Чтобы разархивировать единичный документ, нужно просто добавить его в конец команды.

Для примера, требуется распаковать файл test из архива arhiv.tar.

tar -xvf arhiv.tar test

Здесь:
  1. «x» — извлечение.
  2. «v» — подробный вывод информации.
  3. «f» — вывод результата.
Извлекаем отдельный документ tar.gz

Представим для примера, что требуется распаковать index.php из site.tar.bz2. Для этого стоит указать в командной строке:

tar -jxvf site.tar.bz2 index.php 

Как создать файл Tar GZip из командной строки

Вы, вероятно, знакомы с созданием собственных zip-файлов, если вам когда-либо приходилось переносить группу файлов или если вы управляете своими собственными резервными копиями вне Time Machine. Инструменты zip с графическим интерфейсом пользователя просты и удобны для пользователя, но если вам нужны более продвинутые параметры с лучшим сжатием, вы можете обратиться к командной строке, чтобы создать архив tar и gzip. Синтаксис в Mac OS X будет таким же, как и в Linux.

Создание пакета архива Tar GZip

В командной строке (/ Applications / Terminal /) используйте следующий синтаксис:

tar -cvzf tarballname.tar.gz itemtocompress

Например, чтобы сжать только файлы jpg в каталоге, введите:

tar -cvzf jpegarchive.tar.gz /path/to/images/*.jpg

* — здесь подстановочный знак, означающий, что все, что имеет расширение .jpg, будет сжато в файл jpegarchive.tar.gz и ничего больше.

Результирующий файл .tar.gz на самом деле является продуктом двух разных вещей, tar в основном просто упаковывает группу файлов в один пакет файлов, но не предлагает собственное сжатие, таким образом, чтобы сжать tar, который вы хотите добавить высокоэффективное сжатие gzip. Вы можете запустить их как две отдельные команды, если действительно хотите, но в этом нет особой необходимости, потому что команда tar предлагает флаг -z, который позволяет автоматически архивировать tar-файл.

Открытие.tar.gz Архив

Распаковку файлов gz и tar можно выполнить с помощью таких приложений, как Pacifist или Unarchiver (бесплатно), или вернувшись в командную строку с помощью:

gunzip filename.tar.gz

Следуют:

tar -xvf filename.tar

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

Связанные

.

Как мне создать архив tar или tar.gz полностью из объектов в памяти (без файлов) в Java

Переполнение стека
  1. Около
  2. Продукты
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
  5. Реклама Обратитесь к разработчикам и технологам со всего мира
  6. О компании
.

Как я могу программно создать tar-архив вложенных каталогов и файлов исключительно из строк Python и без временных файлов?

Переполнение стека
  1. Около
  2. Продукты
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
  5. Реклама Обратитесь к разработчикам и технологам со всего мира
  6. О компании

Загрузка…

.

gzip — Как создать плоский tar-архив

Переполнение стека
  1. Около
  2. Продукты
  3. Для команд
  1. Переполнение стека Общественные вопросы и ответы
  2. Переполнение стека для команд Где разработчики и технологи делятся частными знаниями с коллегами
  3. Вакансии Программирование и связанные с ним технические возможности карьерного роста
  4. Талант Нанимайте технических специалистов и создавайте свой бренд работодателя
  5. Реклама Обратитесь к разработчикам и технологам со всего мира
  6. О компании

Загрузка…

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Theme: Overlay by Kaira Extra Text
Cape Town, South Africa