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