TAR - архивирование данных в Windows 10.


Начиная с Windows 10 build 17063 утилита командной строки tar.exeявляется штатным средством архивирования данных. Утилита tarмногие годы являлась основным средством архивирования в ОС семейства Linux и первоначально использовалась для создания архивов на магнитной ленте ( отсюда ее название tar - tape archive ). В настоящее время позволяет создавать архивы на любых носителях и практически, является основным средством хранения файлов и каталогов в одном файле специального формата для ОС семейства Linux/BSD. Главным достоинством формата tar является то, что архив содержит не только сами данные архивируемых файлов, но и информацию о структуре каталогов, владельце, и отметки времени ( время создания, модификации, доступа ). Архиватор tar не выполняет сжатие архивируемых данных, он всего лишь упаковывает множество файлов в один файл, размер которого приблизительно равен суммарному размеру упакованных файлов ( немного больше за счет добавления собственных служебных заголовков ). В Linux для сжатия используются внешние программы (gzip/bzip2/xz/lzma ), в Windows – дополнительные параметры командной строки. Используемая в Windows 10 утилита tar.exe базируется на bsdtar

Общий формат командной строки:

tar < параметры архивирования > < общие параметры > -f < архив > < источник для архива >

Как это принято в *nix системах, строчные и заглавные буквы в параметрах командной строки различаются. Сначала необходимо задать параметры архивирования:

-c - создать архив.

-r - добавить/заменить файлы в существующем архиве.

-t - отобразить список файлов в архиве. 

-u - обновить содержимое архива. В существующем архиве будут заменены только устаревшие файлы. 

-x - извлечь файлы из архива. 

Общие параметры: 

-b # - использовать #-байтные записи для блоков ввода/вывода. # может принимать значения от 1 до 8192. По умолчанию используются записи длиной 512 байт. 

-f < filename > - путь и имя файла архива. По умолчанию – магнитная лента (\\.\tape0)

-v - подробный режим вывода информации на экран. 

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

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



Формат командной строки:

tar -c [параметры] [< file > | < dir > | @< archive > | -C < dir > 

-z, -j, -J, --lzma - параметры сжатия архива - gzip/bzip2/xz/lzma

--format {ustar|pax|cpio|shar} - формат архива.

--exclude < pattern > - исключить из архивирования файлы соответствующие шаблону pattern

< file >, < dir > - файлы и каталоги, добавляемые в архив. 

@< archive > - добавить в архив записи из уже существующего архива archive

-C < dir > - сделать текущим каталогом каталог dir.

tar -c -f D:\Stordiag.tar D:\StorDiag\*.* - создать архив D:\Stordiag.tar из всех файлов каталога D:\StorDiag\

tar -cvf D:\Stordiag.tar D:\StorDiag\*.* - то же, что и в предыдущем примере, но параметры объединены ( -c –v –f можно использовать как –cvf) и добавлен подробный режим вывода ( -v ). 

tar -cvzf D:\123.tar.gz D:\StorDiag\*.* @D:\StorDiag.zip - то же, что и в предыдущем примере, но выполняется сжатие архива методом gzip и к файлам создаваемого архива добавляется содержимое уже существующего архива D:\StorDiag.zip

tar -cvzf D:\123.tar.gz D:\StorDiag\*.reg @D:\StorDiag.zip - то же, что и в предыдущем примере, но для архивирования отбираются файлы с расширением .reg. Действие шаблона поиска файлов не распространяется на содержимое архива @D:\StorDiag.zip 
 

Отображение содержимого архива



Формат командной строки:

tar -t [параметры] [< шаблон >]

шаблон - шаблон для выводимого списка файлов. Если не задан – выводится список всего содержимого архива. 

tar -tf D:\StorDiag.tar.gz - отобразить содержимое архива D:\StorDiag.tar.gz
 

Извлечение файлов из архива.



tar -x [параметры] [< шаблон >]

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

-k - не перезаписывать существующие файлы. 

-m - не восстанавливать отметку времени модификации файлов. 

-O - записывать содержимое в stdout (выводить на экран), т.е. не восстанавливать на диск. 

-p - восстанавливать разрешения, включая списки доступа (ACLs), владельца (owner), атрибуты файлов.

tar -xvzf D:\StorDiag.tar.gz - извлечь содержимое архива StorDiag.tar.gz в текущий каталог.

tar -xvzf D:\StorDiag.tar.gz *.reg - извлечь только файлы с расширением .reg

tar -xvzOf D:\123.tar.gz *.reg - то же, что и в предыдущем примере, но с выдачей информации на экран.

Обратите внимание, что извлечение файлов из архива всегда выполняется в текущий каталог. Поэтому для извлечения файлов в нужный каталог, не являющийся текущим можно воспользоваться параметром -C < dir > меняющий текущий каталог на dir перед извлечением файлов из архива.

Краткую справку по использованию TAR можно получить по команде:

tar /?

Usage:
List: tar -tf 
Extract: tar -xf 
Create: tar -cf [filenames...] 
Help: tar --help


И соответственно, более полную справку можно получить по команде tar –help или tar –h