Создание 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, отображать список файлов, включенных в архив, добавлять дополнительные файлы в существующий архив, а также различные другие виды операций.
Tar поддерживает широкий спектр программ сжатия , таких как gzip
, bzip2
, lzip
, lzma
, lzop
, xz
и 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. Длинные формы более читабельны, а короткие формы – быстрее. Опции длинной формы имеют префикс двойной тире ( --
). Параметры короткой формы имеют префикс с одним тире ( -
), который можно опустить.
Создание Tar Archive
Используйте оператор -c
для создания архива tar. Например, чтобы создать архивный файл с именем archive.tar
из файлов с именем file1
, file2
, file3
выполните следующую команду:
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
, если хотите просмотреть файлы, которые обрабатываются.
Создание архива 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
Листинг архива Tar
Чтобы перечислить содержимое 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.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
Удаление файлов из tar-архива
Используйте операцию --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
. Кроме того, для упаковки содержимого в файл необходим ключ -f
1). Далее укажем сначала имя будущего архива, а затем те файлы, которые хотим упаковать.
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, нужно воспользоваться одним из следующих вариантов:
- Установить Far Manager.
Инструкция по созданию и распаковке архива.tar
с помощью Far Manager:- Теперь просто выделяете ПКМ (правой кнопкой мыши) или кнопкой клавиатуры Insert нужные вам файлы и папки и жмёте
Shift + F1
, затем выбираете нужный формат (в нашем случае, TAR) и создаёте архив:Создание архива в Far Manager
При желании, в поле Добавить к архиву можно изменить название архива, а в поле Ключи можно ввести пароль от него.
- Чтобы распаковать архив Tar, просто выделяете ПКМ или Insert нужный архив и жмёте
Shift + F2
Как распаковать Tar в Far Manager
В поле Распаковать в вводится путь, куда распаковать архив. Если нужно распаковать в текущую папку, нужно оставить поле
Распаковать архив
пустым. Если архив запаролен, пароль вводится в поле Пароль.
- Теперь просто выделяете ПКМ (правой кнопкой мыши) или кнопкой клавиатуры Insert нужные вам файлы и папки и жмёте
- Также, можно обойтись без 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
- 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 [опции] <имя файла.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
- zip —help или unzip —help — вызов справки по командам и параметрам
- man zip или man unzip — вызов расширенной документации
- официальная документация по команде 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
Здесь:
- «x» — извлечение.
- «v» — подробный вывод информации.
- «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
Переполнение стека
- Около
Продукты
- Для команд
Переполнение стека
Общественные вопросы и ответыПереполнение стека для команд
Где разработчики и технологи делятся частными знаниями с коллегамиВакансии
Программирование и связанные с ним технические возможности карьерного ростаТалант
Нанимайте технических специалистов и создавайте свой бренд работодателяРеклама
Обратитесь к разработчикам и технологам со всего мира- О компании
.
Как я могу программно создать tar-архив вложенных каталогов и файлов исключительно из строк Python и без временных файлов?
Переполнение стека
- Около
Продукты
- Для команд
Переполнение стека
Общественные вопросы и ответыПереполнение стека для команд
Где разработчики и технологи делятся частными знаниями с коллегамиВакансии
Программирование и связанные с ним технические возможности карьерного ростаТалант
Нанимайте технических специалистов и создавайте свой бренд работодателяРеклама
Обратитесь к разработчикам и технологам со всего мира- О компании
Загрузка…
.
gzip — Как создать плоский tar-архив
Переполнение стека
- Около
Продукты
- Для команд
Переполнение стека
Общественные вопросы и ответыПереполнение стека для команд
Где разработчики и технологи делятся частными знаниями с коллегамиВакансии
Программирование и связанные с ним технические возможности карьерного ростаТалант
Нанимайте технических специалистов и создавайте свой бренд работодателяРеклама
Обратитесь к разработчикам и технологам со всего мира- О компании
Загрузка…
.