Начиная с 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.

1. Описание команды TAR.

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

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

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

  • -c — создать архив.
  • -r — добавить/заменить файлы в существующем архиве.
  • -t — отобразить список файлов в архиве.
  • -u — обновить содержимое архива. В существующем архиве будут заменены только устаревшие файлы.
  • -x — извлечь файлы из архива.

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

  • -b # — использовать #-байтные записи для блоков ввода/вывода. # может принимать значения от 1 до 8192. По умолчанию используются записи длиной 512 байт.
  • -f < filename > — путь и имя файла архива. По умолчанию – магнитная лента (\\.\tape0)
  • -v — подробный режим вывода информации на экран.
  • -w — интерактивный режим, когда утилита выдает запрос на добавление файлов к архиву.

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

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

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

2.2. Параметры:

  • -z, -j, -J, —lzma — параметры сжатия архива — gzip/bzip2/xz/lzma
  • —format {ustar|pax|cpio|shar} — формат архива.
  • —exclude < pattern > — исключить из архивирования файлы соответствующие шаблону pattern
  • < file >, < dir > — файлы и каталоги, добавляемые в архив.
  • @< archive > — добавить в архив записи из уже существующего архива archive
  • -C < dir > — сделать текущим каталогом каталог dir.

2.3. Примеры:

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

C:\ tar -c -f D:\Stordiag.tar D:\StorDiag\*.*

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

C:\ tar -cvf D:\Stordiag.tar D:\StorDiag\*.*

2.3.3. То же, что и в предыдущем примере, но выполняется сжатие архива методом gzip и к файлам создаваемого архива добавляется содержимое уже существующего архива D:\StorDiag.zip:

C:\ tar -cvzf D:\123.tar.gz D:\StorDiag\*.* @D:\StorDiag.zip

2.3.4. То же, что и в предыдущем примере, но для архивирования отбираются файлы с расширением .reg:

C:\ tar -cvzf D:\123.tar.gz D:\StorDiag\*.reg @D:\StorDiag.zip

Действие шаблона поиска файлов не распространяется на содержимое архива @D:\StorDiag.zip

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

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

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

3.2. Параметры:

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

3.3. Примеры:

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

C:\ tar -tf D:\StorDiag.tar.gz

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

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

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

4.2. Параметры:

  • шаблон определяет перечень извлекаемых из архива файлов. Если не задан, то извлекаются все.
  • -k — не перезаписывать существующие файлы.
  • -m — не восстанавливать отметку времени модификации файлов.
  • -O — записывать содержимое в stdout (выводить на экран), т.е. не восстанавливать на диск.
  • -p — восстанавливать разрешения, включая списки доступа (ACLs), владельца (owner), атрибуты файлов.

4.3. Примеры.

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

C:\ tar -xvzf D:\StorDiag.tar.gz

4.3.2. Извлечь только файлы с расширением .reg:

C:\ tar -xvzf D:\StorDiag.tar.gz *.reg

4.3.3. То же, что и в предыдущем примере, но с выдачей информации на экран:

C:\ tar -xvzOf D:\123.tar.gz *.reg

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

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

C:\ tar /?

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

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

C:\ tar –help 

или

C:\ tar –h.