Меню Рубрики

Windows tar создать архив

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

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

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

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

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

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

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

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

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

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

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

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

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

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

tar -c [параметры] [ | | @ | -C

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

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

, — файлы и каталоги, добавляемые в архив.

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

-C — сделать текущим каталогом каталог 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 -tf D:\StorDiag.tar.gz — отобразить содержимое архива D:\StorDiag.tar.gz

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

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

-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 перед извлечением файлов из архива.

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

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

Источник

Форматы .tar .zip .gz: Различия и эффективность

Вы наверняка встречали файлы с расширением .tar, .zip или .gz . А знаете ли вы, чем они отличаются, почему мы их используем, и какой формат наиболее эффективен?

Различия между tar, .zip и .gz

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

  • .tar — архивный файл без сжатия
  • .zip — (как правило) сжатый архивный файл
  • .gz — файл (архивный или не архивный), который сжали с помощью gzip

История развития архивов

Эта история началась в далёких 70х, как и многое из того, что связано с Unix системой и ей подобными . Морозное январское утро 1979 года ознаменовалось появлением утилиты tar в составе дистрибутива Unix V7.

Утилита tar была разработана для эффективной записи большого количества файлов на магнитные ленты. Большинство современных пользователей Linux незнакомы с ленточными накопителями. Тем не менее, tar архивы (они же tarballs) до сих пор широко используются, когда нужно упаковать несколько файлов или даже древо каталога целиком (или целый «лес» 🙂 в один файл.

Главное, что нужно запомнить о tar файле ― что это просто архив, без сжатия. Другими словами, если вы архивируете 100 файлов по 50kb, то на выходе получите архив размером около 5000kb. Используя только tar, единственное на что можно рассчитывать это экономия пространства за счёт файловой системы. Например, файл длинной 1 байт использует 4kb дискового пространства, а 1000 таких файлов займёт уже 4Mb, а tar архив с этими файлами займёт всего 1Mb.

Стоит отметить, что tar не единственный стандартный инструмент Unix для создания архивов. Программисты вероятно знакомы с форматом ar, так как он используется для создания статических библиотек, которые являются по сути архивами скомпилированных файлов. Но ar позволяет создать архив из чего угодно. Например, пакеты .deb в системе Debian не что иное, как архивы ar. А пакеты mpkg в MacOS X — это cpio архивы, сжатые с помощью gzip. Но эти форматы не стали так популярны у пользователей, как tar. Вероятно, потому что использовать команды tar удобнее и проще.

Архивы — это хорошо, но с началом эры персональных компьютеров, люди поняли, что, сжимая данные можно существенно экономить память. Поэтому, спустя десять лет после появления tar, уже в мир MS-DOS, пришёл формат архива с возможностью сжатия — zip. Наиболее распространённый алгоритм сжатия в zip — это Deflate, который использует алгоритмы LZ77 . Формат zip многие годы страдал от обременений патентами компании PKWARE.

В то же время был создан gzip, который также использовал алгоритм LZ77, но для бесплатного использования, не нарушая патент PKWARE.

Gzip создавался только для сжатия файлов, согласно ключевому понятию в философии Unix ― « Делай что-то одно, но делай это хорошо ». Таким образом, чтобы создать сжатый архив ― сначала вам нужно создать архив, например с помощью утилиты tar, а после этого сжать его. Так получается файл .tar.gz (иногда сокращается до .tgz, из-за соблюдения давно забытых ограничений в имени файла MS-DOS).

По мере развития компьютерных наук создавались и другие алгоритмы, для более эффективного сжатия. Например реализация алгоритма Барроуза — Уилера в bzip2 (отсылка к .tar.bz2 архивам). Или более новый формат xz, в котором реализован алгоритм LZMA . Этот алгоритм используется в архиваторе 7zip.

Доступность и ограничения

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

Благодаря нативной поддержке формата zip в Windows, zip особенно актуален для кроссплатформенного применения. Порой, zip файл можно встретить в неожиданных местах. Например, этот формат использовала компания Sun для архивов JAR, в которых распространяется скомпилированное приложение Java. Файлы OpenDocument (.odf, .odp …) в офисных приложениях, на самом деле являются zip архивами. Если вам интересно, распакуйте один из них и посмотрите, что внутри:

sh$ unzip some-file.odt
Archive:some-file.odt
extracting: mimetype
inflating: meta.xml
inflating: settings.xml
inflating: content.xm
[. ]
inflating: styles.xml
inflating: META-INF/manifest.xml

Несмотря на всё вышесказанное, в UNIX-мире я бы предпочёл использовать tar архивы, потому что формат zip недостаточно надёжно поддерживает все метаданные файловой системы Unix. Дело в том, что формат zip определяет лишь небольшой набор обязательных атрибутов файла для каждой записи: имя файла, дата изменения, право доступа. Кроме этих базовых атрибутов, архиватор может хранить и другие метаданные, в дополнительном поле заголовка zip. Но, поскольку дополнительное поле зависит от реализации, нет никаких гарантий, что вы получите тот же набор метаданных, даже в совместимых архиваторах. Давайте проверим это на примере:

sh$ ls -lsn data/team
total 0
0 -rw-r—r— 1 1000 2000 0 Jan 30 12:29 team

sh$ zip -0r archive.zip data/

sh$ zipinfo -v archive.zip data/team

Central directory entry # 5:
—————————
data/team
[. ]
apparent file type: binary
Unix file attributes (100644 octal): -rw-r—r—
MS-DOS file attributes (00 hex): none

The central-directory extra field contains:
— A subfield with ID 0x5455 (universal time) and 5 data bytes.
The local extra field has UTC/GMT modification/access times.
— A subfield with ID 0x7875 (Unix UID/GID (any size)) and 11 data bytes:
01 04 e8 03 00 00 04 d0 07 00 00.

Как видите, в дополнительном поле хранится информация о владельце (UID/GID). Если вы умеете читать шестнадцатеричный код, то можно заметить, что в этом архиве используется порядок байтов little-endian (от младшего к старшему) для хранения метаданных. «e803» это «03e8», что означает «1000» ― UID файла. А «07d0» это «d007», что означает «2000» ― GID файла.

В этом конкретном случае инструмент info-ZIP , который я использую в системе Debian, сохранил некоторые полезные метаданные в дополнительном поле. Но это не значит, что любой архиватор запишет те же данные в дополнительном поле. И нет гарантий, что другой архиватор сможет прочитать эти данные.

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

Тест на эффективность: Tar vs Zip vs Gz

Здесь я сравниваю эффективность сжатия. Я учитываю только сэкономленное пространство, без учёта затраченного времени. Как правило, чем эффективней алгоритм сжатия, тем больше ресурсов ЦП он требует.

Чтобы сравнить эффективность алгоритмов, я использовал файлы в популярных форматах размером около 100Mb. В таблице результаты, которые я получил в системе Debian Stretch (все размеры я узнал командой du -sh):

Источник

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

Утилита tar предназначена для создания архивов файлов и каталогов. С помощью этой программы можно архивировать файлы, обновлять их в архиве и вводить в этот архив новые файлы. Можно архивировать и целые каталоги со всеми их файлами и подкаталогами. При необходимости все эти файлы и подкаталоги можно восстановить из архива. Программа tar предназначалась для создания архивов на лентах, отсюда и название tar ( tape archive , т.е. «архив на ленте»). Архив можно создавать на любом устройстве, например на дискете или в архивном файле на диске. Программа tar — идеальное средство для создания резервных копий файлов или объединения нескольких файлов в один с целью передачи его по сети.

В операционной системе Linux программу tar часто используют для создания архивов на устройствах и в файлах. Ей можно дать указание архивировать файлы на определенном устройстве или в определенном файле, для чего служит опция f с именем устройства или файла. Синтаксис команды tar с опцией f очевиден из нижеследующего примера. Имя устройства или файла часто называют именем архива. При создании файла для tar -архива к имени этого файла обычно добавляется расширение .tar Это условное обозначение; оно не обязательно. В команде можно указать сколько угодно имен файлов. Если указано имя каталога, то в архив включаются и все подкаталоги этого каталога.

Для создания архива служит опция с . В сочетании с опцией f опция с приводит к созданию архива в файле или на устройстве. Эта опция ставится непосредственно перед опцией f . Обратите внимание, что дефиса перед опцией нет. В следующем примере каталог mydir и все его подкаталоги сохраняются в файле myarch.tar .

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

Для добавления файлов в существующий архив служит опция r . В приведенном ниже примере пользователь добавляет файлы из каталога letters в архив myarch.tar .

Если нужно изменить какой-либо файл в архивированных ранее каталогах, можно с помощью опции u дать команде указание обновить архив, заменив некоторые файлы их новыми версиями. Программа tar сравнивает время последнего изменения каждого архивированного файла и соответствующего файла в каталоге и копирует в архив все файлы с более поздней датой модификации. В архив будут добавлены и все вновь созданные в этих каталогах файлы. В следующем примере пользователь обновляет файл myarch.tar , вводя в него все измененные и вновь созданные в каталоге mydir файлы.

Если вы хотите посмотреть, какие файлы хранятся в архиве, дайте команду tar с опцией t . В следующем примере показано, как с помощью этой команды можно вызвать список всех файлов, хранящихся в архиве myarch.tar .

Для создания резервных копий файлов на определенном устройстве укажите имя этого устройства в качестве имени архива. В следующем примере пользователь создает архив на дискете в устройстве /dev/fd0 и копирует в него все файлы из каталога mydir .

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

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

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

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

При использовании команды tar операция сжатия архивных файлов не выполняется. Если вы хотите сжать файлы, дайте tar указание вызвать утилиту gzip . Если команда tar применяется с опцией z , то сначала программа gzip выполняет сжатие, а затем tar архивирует файлы. Та же опция z обеспечит вызов gzip для распаковки файлов при извлечении их из архива.

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

Если вы хотите создать архив на некотором устройстве, например на ленте или в файле, нужно дать команду tar с опцией f и именем устройства или файла. Такой вариант эффективен при создании резервных копий файлов. Имя устройства по умолчанию хранится в файле /etc/default/tar . Синтаксис команды tar , подразумевающей использование устройства, заданного по умрлчанию (накопителя на магнитной ленте), приведен в показанном ниже примере. Опция f и имя устройства не задаются. Если указано имя каталога, то в архив включаются все его подкаталоги.

В представленном ниже примере каталог mydir со всеми подкаталогами сохраняется на ленте как на носителе по умолчанию.

А в этом примере каталог mydir со всеми файлами и подкаталогами извлекается из устройства, принятого по умолчанию, и помещается в рабочий каталог пользователя.

Программа ХТаr

Приложение ХТаг системы Х Window позволяет с помощью окон и меню выбрать файл tar-архива и разархивировать его. Для того чтобы запустить это приложение, нужно ввести команду xtar в окне Xterm либо воспользоваться меню рабочей области fvwm . В ХТаr три меню: ХТаr, Options и Attributes. Сначала необходимо выбрать файл tar-архива, для чего используется элемент Open меню ХТаr. Откроется окно выбора файла, в котором перечислены находящиеся в каталоге файлы. Вы можете переходить из одного каталога в другой. Когда вы выберете нужный tar-архив, в главном окне появятся все содержащиеся в нем файлы. ХТаr позволяет распаковывать как весь tar-архив, так и отдельные его файлы. Чтобы распаковать весь архив, выберите элемент Unpack All в меню ХТаr. Элемент Unpack All As позволяет распаковать архив в выбранный вами каталог. Чтобы распаковать отдельный файл, сначала выберите его (для поиска можно использовать функцию Search из меню ХТаr), а затем выберите элемент Extract в меню Options. В этом же меню есть элемент View, который позволяет просто просматривать текстовые файлы, например файл README. ХТаг может работать и со сжатым архивом (распаковывать его предварительно не нужно).

Источник

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

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

  • Windows tablet touch games
  • Windows tablet imei generator
  • Windows tab windows 10 рабочий стол
  • Windows systeme d exploitation
  • Windows system32 spool drivers color