Разное

Создать архив tar: Примеры команды tar в Unix/Linux

Содержание

Примеры команды tar в Unix/Linux

Команда “tar” в Linux используется для создания архива файлов и каталогов. С помощью команды “tar” вы можете создать архивный файл в форматах: “.tar“, “.tar.gz“, “.tar.bz2”. Они известны как “tarball“, “gizp“, “bzip” в Linux. Tar обладает большей гибкостью, чем ZIP, который широко используется в кросс-платформенной среде.

Мы покажем примеры команды tar в этой статье.

Во-первых, посмотрите, сколько опции доступны для команды

Основной режим работы:

  • -А, -catenate, -concatenate Добавить файлы в архив tar
  • -c, -create создать новый архив
  • -d, -diff, -compare найти различия между архивом и файловой системой
  • -delete удалить из архива (не на магнитных лентах! )
  • -r, -append добавление файлов в конец архива
  • -t, -list список содержимое архива
  • -test-label проверить метку тома архива и выхода
  • -u, -update только добавить более новые файлы в архив
  • -x, –extract, –get извлечение файлов из архива

Параметры сжатия:

  • -a, -auto-compress суффикс использование архива для определения сжатия программы
  • -I, –use-compress-program=PROG фильтр через PROG (должен принять -d)
  • -j, -bzip2 фильтр архивации через bzip2
  • -J, -xz фильтровать архивации через XZ
  • -lzip фильтровать архивации через Lzip
  • -lzma фильтровать архивации через lzma
  • -lzop
  • -no-авто-compress не использовать суффикс архива для определения программы сжатия
  • -z, -gzip, -gunzip, -ungzip фильтровать архив через GZIP
  • -Z, -compress, -uncompress фильтровать архив через компрессию

Я выбираю инсталлятор WordPress для демонстрации. Общий размер программы установки 26MB. Мы будем проверять заархивированный размер файла каждого предложенного метода сжатия.

1. Создание файлового архива с помощью tar

Архив Tar делает сжатие файлов и папок автоматически. Архивный могут храниться на диске или могут перенести на другой диск или он может быть использован для вложения электронной почты.

tar -caf wordpress.tar wordpress/

Размер архива сводится к 23MB.

[root@testing andreyex]# ls -lh
 -rw-r--r-- 1 root root 23M Jan 5 22:12 wordpress.tar

2. Создать файловый архив tar.gz

GZ выступает за Gunzip. .tar.gz архив может сжимать файлы и папки эффективным образом.

tar -czf wordpress.tar.gz wordpress/

Размер архива сводится к 7.6Mb. Довольно внушительный!

[root@testing andreyex]# ls -lh
 -rw-r--r-- 1 root root 23M Jan 5 22:09 wordpress.tar
 -rw-r--r-- 1 root root 7.6M Jan 5 22:15 wordpress.tar.gz

3. Создать tar.bz2 архив

BZIP является более эффективным, чтобы уменьшить размер файла архива.

tar -cjf wordpress.tar.bz2 wordpress/

Размер архива сводится к 6.9MB.

[root@testing andreyex]# ls -lh
 -rw-r--r-- 1 root root 23M Jan 5 22:09 wordpress.tar
 -rw-r--r-- 1 root root 6.9M Jan 5 22:27 wordpress.tar.bz2
 -rw-r--r-- 1 root root 7.6M Jan 5 22:26 wordpress.tar.gz

4. Файловый архив Untar tar

Удобство и простота использования любого архива, если полезно, когда он может быть легко распакован. Распакуйте файл .tar

tar -xf wordpress.tar
 or
tar -xf wordpress.tar /home/andreyex/extracted

‘Х’ обозначает распаковка.

5. Распакуйте файл архива tar.gz

tar -xzf wordpress.tar.gz

6. Распаковка файловый архив tar.bz2

tar -xjf wordpress.tar.bz2

7. Содержание списка архивного файла

tar tf wordpress.tar
 wordpress/
 wordpress/wp-blog-header.php
 wordpress/wp-login.php
 wordpress/wp-config-sample.php
 wordpress/wp-admin/
 wordpress/wp-admin/link-parse-opml. php
 wordpress/wp-admin/ms-upgrade-network.php
 wordpress/wp-admin/themes.php

8. Untar конкретный файл из архивного файла tar

tar -xf wordpress.tar wordpress/wp-config-sample.php

Это все на данный момент. Таковы основные примеры команды tar в Unix/Linux.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Архиватор tar gz [АйТи бубен]

👉Английский по скайпу: стоит ли учить?💥

tar — это архиватор от GNU. tar берёт несколько файлов и/или каталогов и объединяет их в один большой файл. Это позволяет вам сжать целое дерево каталогов, что невозможно сделать с помощью Примеры использования gzip и gunzip или bzip2. У tar’а есть много опций, которые подробно описаны на его странице руководства.

$ man tar
 
tar -xvvf foo.tar
              extract foo.tar
 
tar -xvvzf foo. tar.gz
              extract gzipped foo.tar.gz
 
tar -cvvf foo.tar foo/
             tar contents of folder foo in foo.tar

Часто используемые ключи команды tar

  1. -c – создать (create) новый архив

  2. -x – извлечь (extract) файлы из архива

  3. –delete – удалить (delete) файлы из архива

  4. -r – добавить (append) файлы в существующий архив

  5. -A – добавить (append) tar-файлы в существующий архив

  6. -t – список файлов в архиве (содержимое архива)

  7. -u – обновить (update) архив

  8. -d – операция сравнения архива с заданной файловой системой

  9. -j – обработка архива с помощью bzip2. Сжатие или разжатие, в зависимости от комбинации сопутствующих ключей -c или -x.

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

Наиболее общее использование tar заключается в распаковке и разархивировании пакета, загруженного с веб- или ftp-сайта. Большинство файлов имеют расширение .tar.gz. Довольно часто их называют “tarball”’ами. Это означает несколько файлов, заархивированных tar’ом, а затем сжатых gzip’ом. Вы также можете встретить файлы .tar.Z. По сути это то же самое, однако встречаются они в основном на старых системах Unix.

Кроме того вы можете натолкнуться на файлы .tar.bz2. В таком виде распространяются исходные тексты ядра, поскольку так они занимают меньше места для загрузки. Как вы уже наверное догадались, это файлы, заархивированные tar’ом и сжатые bzip’ом.

Вы можете извлечь все файлы из такого архива, воспользовавшись tar’ом с несколькими опциями командной строки. Разархивирование тарбола выполняется с помощью опции -z, которая означает, что сначала файл должен быть пропущен через gunzip, а уже потом распакован. Наиболее общий метод распаковки тарболов:

% tar -xvzf файл. tar.gz

Здесь довольно много опций. Что же они означают? Опция -x означает извлечение. Это важно, поскольку она сообщает tar’у, что именно нужно сделать со входным файлом. В данном случае он будет снова разбит на файлы, из которых он был “слеплен”. Опция -v означает включение подробного режима. При этом на экран будут выведены названия всех извлекаемых из архива файлов. Неплохо было бы использовать эту опцию, чтобы распаковка не выглядела слишком скучно. Вы также можете использовать -vv, чтобы вывод был ещё более подробным и вы получили ещё больше информации об извлекаемых файлах. Опция -z сообщает tar’у о том, что файл.tar.gz нужно сначала пропустить через gunzip. И, наконец, опция -f сообщает tar’у, что следующая строка в командной строке — это файл, с которым надо работать.

Существует несколько способов записи этой же команды. На старых системах, на которых отсутствует подходящая копия GNU tar, вы можете увидеть следующую запись этой же команды:

% gunzip файл. tar.gz | tar -xvf -

В этой команде файл сначала распаковывается, а результат отправляется в tar. Т.к. gzip по умолчанию записывает выходные данные на стандартный вывод, эта команда будет записывать распакованный файл на стандартный вывод. Затем конвейер перенаправляет этот поток в tar для распаковки. Знак “-” означает, что данные берутся со стандартного входа. Таким образом команда разархивирует поток данных, полученный из gzip, и запишет его на диск.

Другим способом записи первоначальной команды является убирание знака “-” перед опциями:

% tar xvzf файл.tar.gz

Также вы можете натолкнуться на bzip’нутый архив. Версия tar, представленная в Slackware Linux, может работать с ними точно так же, как и с gzip’нутыми архивами. Просто вместо опции -z вам нужно использовать -j:

% tar -xvjf файл.tar.bz2

Учтите, что tar будет сохранять извлечённые из архива файлы в текущий каталог. Поэтому, если у вас в /tmp есть архив, который вы хотите распаковать в свой домашний каталог, у вас есть несколько вариантов. Первый — архив можно переместить в ваш домашний каталог, а затем развернуть его с помощью tar. Второй — вы можете указать путь к архиву в командной строке. Третий — вы можете использовать опцию -C, чтобы разархивировать тарбол в указанный после этой опции каталог.

% cd $HOME
% cp /tmp/файл.tar.gz .
% tar -xvzf файл.tar.gz
% cd $HOME
% tar -xvzf /tmp/файл.tar.gz
% cd /
% tar -xvzf /tmp/файл.tar.gz -C $HOME

Все приведенные выше записи являются эквивалентными. В каждой из них архив разворачивается в ваш домашний каталог, а исходный сжатый архив остаётся на месте.

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

Итак, что же хорошего в том, что вы можете распаковывать архивы, если вы не можете создавать их? tar умеет делать и это. В большинстве случаев можно просто заменить опцию “-x” на “-c”.

% tar -cvzf файл.tar.gz .

В этой команде опция -c сообщает tar’у, что нужно создать архив, а опция -z пропускает полученный архив через gzip, чтобы сжать его. файл.tar.gz — это имя создаваемого файла.

Указание опции “-f” не всегда есть обязательным, однако в любом случае лучше её использовать. Без неё tar будет записывать свои данные на стандартный вывод, что обычно используется для перенаправления потока по конвейеру в другую программу, например, так:

% tar -cv файл.tar . | gpg --encrypt

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

tar через ssh

Если компьютер-источник и целевой компьютер связаны по LAN или WAN, то для экономии времени можно комбинировать использование SSH (Secure Shell) и tar для архивирования, копирования и извлечения файлов за один раз. Вот как это делать:

$ (cd ~/stuff; tar --create --gzip --file - *) | \
ssh destination tar --extract --gunzip --file --verbose -C stuff

В этой команде выполняется сразу несколько действий. Давайте разберем ее:

  1. Последовательность команд, заключенных в круглых скобках, называют вложенной оболочкой — subshell. Изменения, сделанные в subshell-оболочке — например, изменение каталога, — не повлияют на команду в целом, а затронут только среду вложенной оболочки. Поэтому первая управляющая последовательность — (cd ~/stuff; tar –create –gzip –file — *) меняет текущий рабочий каталог на ~/stuff, а затем запускает tar. Так как за вложенной оболочкой следует перенаправление в канал, то все результаты работы subshell посылаются в следующую на очереди команду.

  2. Как и много других UNIX-утилит, tar может писать в стандартный поток вывода (stdout) и читать из стандартного потока ввода (stdin). И stdout и stdin обычно обозначаются дефисом (-). Поэтому команда –create –file — создает архив в stdout.

  3. Канал (|) передает все результаты работы subshell в утилиту ssh, которая, в свою очередь, передает все необходимые данные с исходного компьютера на удаленный.

  4. Наконец, удаленный компьютер запускает собственный экземпляр утилиты tar для извлечения данных из архива. Теперь –extract –file — считывает архив из стандартного потока ввода. Опция -C принуждает tar на целевом компьютере сменить текущий рабочий каталог на stuff, прежде чем начать какие-либо операции разархивирования. Конечным результатом работы этой команды в целом будет передача архива через ssh и распаковка его в ~/stuff.

Итак, с помощью одной команды архив был создан, передан и распакован. Кстати, слегка изменив эту команду, можно копировать архив с удаленного компьютера на локальный и разархивировать его. Вот команда, которую для этого надо выполнить на локальном компьютере:

$ ssh destination cat archive.tgz | \
(cd ~/stuff; tar --extract --gunzip --file -)

Архив на удаленном компьютере будет открыт, затем поток байтов из cat будет послан во вложенную оболочку, которая сменит рабочий каталог, а затем извлечет архив. (Добавление -C ~/stuff к команде tar приведет к тем же результатам; пример показывает только то, что subshell тоже могут работать со входными данными. )

–exclude pattern (-W exclude=pattern)
Не обрабатывать файлы или директории, которые совпадают с указанным шаблоном. Учтите, что исключения имеют приоритет над шаблонами или именами файлов, указанных в командной строке.

  1. Пример: Из директории test при архивировании tar исключить поддиректорию .svn
    tar -czf test1.tar.gz --exclude=".svn" test/
  2. Пример: При архивировании текущей директории и сжатием Примеры использования gzip и gunzip, исключить файл с расширениями .tar.gz .iso .deb .py
    $ tar -czf test.tar.gz *.* --exclude="*.tar.gz" --exclude="*.iso" --exclude="*.deb" --exclude="*.zip" --exclude="*.py" 

Создать архив с сохранением прав доступа. Ключ -p, –preserve-permissions, –same-permissions извлекать информацию o правах доступа к файлу (по умолчанию для суперпользователя)

tar -cvpf archive.tar.gz dir1

Распаковать архив с сохранением прав доступа

tar -xvpf archive. tar.gz

Чтобы распаковать архив в нужную директорию используется ключ -С

# man tar
...
     -C directory
             In c and r mode, this changes the directory before adding the
             following files.  In x mode, change directories after opening the
             archive but before extracting entries from the archive.

...

Например, пример проверен для FreeBSD:

# tar -xvf /usr/home/darkfire/backup.ns.server.254/usr/ports/distfiles.tar -C /usr/ports/

tar split разбить архив на несколько частей

tar split разбить архив на несколько частей

split -b 1000m distfiles.tar distfiles.split.tar

В итоге вы получите много файликов типа

distfiles.split.taraa
distfiles.split.tarab
distfiles.split.tarai

100m означает 100 мегабайт. Можете написать 100k — это будет 100 киллобайт.
Собрать обратно их можно вот так:

cat distfiles.split.tar* | tar zxvf -

tar cron архив с текущей датой

0 5 * * 1 tar -zcf /home/samba/backup/wikibackup-`date "+%Y-%m-%d"`. tgz /home/www/

tar.txt · Последнее изменение: 2020/11/18 19:10 (внешнее изменение)

Осваиваем приёмы работы с Tar-архивами в терминале Linux

Как известно, для сжатия архива tar использует внешнюю утилиту. В рамках этого обзора я покажу создание архива с применением четырёх различных компрессоров и сравню время, требующееся на упаковку и на распаковку каждого из четырёх архивов. Начнём с самого быстрого и наиболее часто используемого компрессора gzip. Утилита tar даёт возможность автоматически сжать архив с помощью gzip, для этого предназначен ключ -z. Для моих каталогов команда будет выглядеть так.

tar -c -z -f ~/auriz.tar.gz db src

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

Как видно на снимке экрана выше, размер сжатого архива существенно отличается от размера содержащего те же самые файлы несжатого архива созданного ранее. При этом затраченное на упаковку время тоже слегка изменилось. Распаковать такой архив достаточно легко, к команде распаковки добавится ключ -z.

tar -x -z -f ~/auriz.tar.gz

Второй компрессор bzip2 можно так же просто подключить при создании архива ключом -j.

tar -c -j -f ~/auriz.tar.bz2 db src

Как видно на снимке экрана выше, bzip2 обеспечивает большую степень сжатия файлов, но при этом создание таких архивов требует большего времени и ресурсов компьютера при прочих равных. Суффикс в конце имени создаваемого архива .bz2 в сущности тоже не обязателен. Распаковать этот архив тоже не составит особого труда.

tar -x -j -f ~/auriz.tar.bz2

Несложно заметить, что с bzip2 распаковка выполняется быстрей, чем упаковка, но всё же намного медленней, чем распаковка такого же архива, но сжатого gzip.

Третий компрессор — xz позволяет создавать архивы LZMA, его предварительно придётся установить.

sudo apt install -y xz-utils

Создать сжатый этим компрессором архив тоже просто, утилита tar имеет для этого ключ -J.

tar -c -J -f ~/auriz.tar.xz db src

Но времени на создание такого архива потребуется значительно больше при прочих равных, попробуйте не уснуть, пока архив сжимается, особенно если у вашего компьютера слабый процессор и мало оперативной памяти.

Применение этого компрессора обосновано только тогда, когда необходимо упаковать сжимаемые сущности, в этом случае компрессор обеспечивает великолепную степень сжатия, которая, впрочем, достигается серьёзными затратами. Посмотрим на распаковку xz-архива.

tar -x -J -f ~/auriz.tar.xz

На снимке экрана выше видно, что распаковка xz-сжатого архива происходит намного быстрей, чем упаковка, и даже быстрей, чем распаковка bzip2-сжатого архива.

Последний компрессор, который я хочу рассмотреть в рамках этого обзора — это lzip, его тоже придётся установить дополнительно.

Все примеры выше при упаковке сжатых архивов компрессорами gzip, bzip2 и xz с соответствующими ключами использовали дефолтную степень сжатия, тем не менее во всех трёх случаях степенью сжатия можно эффективно управлять. Как это делается, я покажу на примере создания lzip-сжатого архива. Для моих подопытных каталогов команда будет выглядеть следующим образом.

tar -c -f ~/auriz.tar.lz -I 'lzip -9' db src

Здесь с помощью ключа -I я задал команду для сжатия архива lzip -9, в которой использовал максимальную степень сжатия. Для справки: команда для создания lzip-сжатого архива с дефолтными настройками выглядела бы несколько иначе:

tar -c --lzip -f ~/auriz.tar.lz db src

Этот компрессор тоже достаточно медленный на упаковке архива и заметно греет процессор, но степень сжатия в сравнении с другими компрессорами впечатляет.

При выборе lzip компрессора важно правильно оценить соотношение затрат времени и полученной экономии дискового пространства, иногда овчинка не стоит выделки. Распаковка такого типа архивов также элементарна.

tar -x --lzip -f ~/auriz.tar.lz

Как видно на снимке экрана, распаковка lzip-сжатых архивов тоже происходит достаточно быстро. Использование этого компрессора обосновано только в определённых случаях.

Поскольку в мире Linux расширения файлов являются необязательными, иногда приходится иметь дело с архивами, в именах файлов которых расширения нет, либо расширение создателем архива указано неверно, тип архива в этом случае всегда можно определить с помощью утилиты file.

При распаковке сжатого архива вместо ключей, определяющих тип компрессора, можно использовать ключ -a — автоматическое определение компрессора.

Как видно на снимке экрана, tar справился с дилеммой и распаковал сжатый архив.

При работе со сжатыми архивами всегда следует помнить, что не все опции tar могут работать в этом режиме, в man-странице архиватора неработающие со сжатыми архивами ключи обычно помечены соответствующей ремаркой.

Как создать архив tar?

TAR-архивы весьма часто используются в операционной системе Linux. В некоторых дистрибутивах этот же формат используется пакетными менеджерами. Но иногда такой архив требуется не распаковать, а создать.

Инструкция
  • Первый способ создания TAR-архива заключается в следующем. Найдите в файловой системе своего компьютера любой архив того же формата (с расширением .TAR.GZ). Скопируйте его (именно скопируйте, а не переместите!) в удобную для вас папку. Затем зайдите в него при помощи диспетчера файлов Midnight Commander как в обычную папку. Удалите из него все содержимое, кроме одного любого файла (если сделать архив пустым, будет выдаваться ошибка). Затем скопируйте в него те файлы, которые нужно. После этого удалите последний файл из старого содержимого архива. Наконец, выйдя из архива, как из папки, переименуйте его так, как вам удобно, пользуясь средствами той же программы Midnight Commander. Расширение при этом ни в коем случае не меняйте.
  • Второй способ создания TAR-архива заключается во вводе необходимых команд вручную с клавиатуры в консоли. Для этого сначала создайте новую папку с желаемым названием. Скопируйте в нее те файлы, которые вы желаете поместить в архив. Затем, находясь вне этой папки, то есть, на один уровень выше, введите следующую команду:tar -cvf archive.tar /path/to/the/folder, где archive.tar — имя архива, /path/to/the/folder — полный путь к папке с файлами. Архив будет создан в папке, находящейся на один уровень выше.
  • Если обычные архиваторы одновременно с помещением файлов в архив сжимают их, то здесь сжатие данных необходимо осуществить отдельно. Для этого дайте такую команду:gzip archive.tarВ результате файл с архивом будет сжат, а к его имени прибавится второе расширение — GZ.
  • При желании, замените такому файлу двойное расширение .TAR.GZ на одинарное — TGZ, что позволит, например, хранить его на машинах с операционной системой DOS, где двойные расширения файлов, как известно, не поддерживаются.
  • Чтобы извлечь из архива необходимые файлы, просто зайдите в него уже упомянутой выше программой Midnight Commander как в обыкновенную папку, а затем осуществите желаемые операции с файлами так, как если бы они располагались не в архиве, а в папке.
  • Оцените статью!

    Как распаковать tar.gz и tar.bz2 архивы в Ubuntu / Как создать архив tar, gz, bz2 в Ubuntu

    Всем привет, ранее мы рассмотрели вопросы «Как распаковать архив 7z в Linux Ubuntu» и «Как открыть или создать архив RAR в Linux Ubuntu», теперь давайте узнаем, как распаковать tar.gz и tar.bz2 архивы, это основа основ, с которой практически сразу встречается начинающий линуксоид, так как в момент установки и скачивания различных пакетов, они очень часто бывают именно в таком виде. Это в Windows все просто, открыл winrar и кликнул мышкой, все тривиально, а тут придется пару команд выучить, но для этого вы и решили изучать linux.

     Распаковываем и создаем tar.gz и tar.bz2

    • tar.gz распаковывается так:

    tar xvfz *.tar.gz

    • tar.bz2 распаковывается так:

    tar xvjf *.tar.bz2

    Синтаксис:

    tar [-ключи] [название архива]

    Используемые ключи:
    -x – позволяет вам извлекать файлы из архива.

    -v – на экран будут выведены все названия файлов для распаковки/упаковки. Если эта опция опущена, информация, выводимая в процессе обработки, будет ограничена.

    -f – является обязательной опцией. Без неё tar пытается использовать магнитную ленту вместо файла архива.

    -z – позволяет вам обрабатывать архив, сжатый gzip’ом (с расширением .gz). Если вы забудете указать эту опцию, tar выдаст ошибку. И наоборот, эта опция не должна использоваться для несжатых архивов.

    Как создать архив в Linux

    создать .tar (архив без сжатия)
    tar -cvf file.tar /full/path

    создать .tar.gz (архив со сжатием gzip):
    tar -czvf file.tar.gz /full/path

    создать .tar.bz2 (архив со сжатием bzip2):
    tar -cjvf file.tar.bz2 /full/path

    сохранить только структуру папок (без файлов):
    tar -czvf dirs.tar.gz —no-recursion —files-from <( find /full/path -type d )

    где:
    /full/path — путь, для структуры, которую надо сохранить в архив

    Используемые ключи:

    -c – создать архив
    -j – зажать в bzip2
    -z – зажать в gzip
    -f, -v – см. выше (f — обязательный ключ, v — для визуализации процесса)В файлах .tar можно хранить несколько папок (структуру папок и файлов). Лучше использовать с ключами для архивации файла .tar, чтобы в результате получились файлы с расширением .tar.gz (файл .tar сжатый архиватором gzip) или .tar.bz2 (файл .tar сжатый bzip2). bzip2 лучше сжимает, но с gzip более распространён, поэтому лучше сжимать gzip.
    Если у вас установлен WinRAR, то проблем с открытием .tar.bz2 и .tar.gz   не будет.

    Учебное пособие по Ultimate Tar Command с 10 практическими примерами

    На платформе Unix tar команда является основной утилитой архивирования. Понимание различных параметров команды tar поможет вам освоить манипуляции с архивным файлом.

    В этой статье давайте рассмотрим различные примеры tar , в том числе, как создавать архивы tar (со сжатием gzip и bzip), извлекать отдельный файл или каталог, просматривать содержимое архива tar, проверять целостность архивов tar, выясняя разницу между tar-архивом и файловой системой оцените размер tar-архивов перед их созданием и т. д.,

    1. Создание архива с помощью команды tar

    Создание несжатого tar-архива с использованием опции cvf

    Это основная команда для создания tar-архива.

     $ tar cvf имя_архива.tar имя_директора / 

    В приведенной выше команде:

    • c — создать новый архив
    • v — подробный список обрабатываемых файлов.
    • f — имя файла архива
    Создание архива tar gzip с помощью опции cvzf

    Приведенная выше опция tar cvf не обеспечивает сжатия.Чтобы использовать сжатие gzip для tar-архива, используйте параметр z, как показано ниже.

     $ tar cvzf имя_архива.tar.gz имя_хранилища / 
    • z — фильтровать архив через gzip

    Примечание. .tgz совпадает с .tar.gz

    .

    Примечание: Мне нравится оставлять параметр «cvf» (или tvf, или xvf) неизменным для всего создания архива (или просмотра, или извлечения) и добавлять в конце дополнительные параметры, которые легче запомнить. т.е. cvf для создания архива, cvfz для создания архива сжатого gzip, cvfj для создания архива сжатого bzip2 и т. д., Для правильной работы этого метода не давайте — перед вариантами.

    Создание архива tar в формате bzip с использованием опции cvjf

    Создайте tar-архив bzip2, как показано ниже:

     $ tar cvfj имя_архива.tar.bz2 имя_хранилища / 
    • j — фильтровать архив через bzip2

    gzip vs bzip2 : bzip2 требует больше времени для сжатия и распаковки, чем gzip. Размер архива bzip2 меньше, чем размер архива gzip.

    Примечание: .tbz и .tb2 такие же, как .tar.bz2

    2. Извлечение (распаковка) архива с помощью команды tar

    Извлеките файл * .tar с помощью опции xvf

    Извлеките файл tar, используя параметр x, как показано ниже:

     $ tar xvf имя_архива.tar 
    • x — извлечь файлы из архива
    Распакуйте архив tar в формате gzip (* .tar.gz) с помощью опции xvzf

    Используйте параметр z для распаковки tar-архива gzip.

     $ tar xvfz имя_архива.tar.gz 
    Извлечение tar-архива в формате bzip (* .tar.bz2) с использованием опции xvjf

    Используйте параметр j для распаковки tar-архива bzip2.

     $ tar xvfj имя_архива.tar.bz2 

    Примечание: Во всех вышеперечисленных командах v является необязательным, что указывает на обрабатываемый файл.

    3. Листинг архива с помощью команды tar

    Просмотрите содержимое файла tar-архива без распаковки с помощью опции tvf

    Вы можете просмотреть содержимое файла * .tar перед извлечением, как показано ниже.

     $ tar tvf имя_архива.tar 
    Просмотрите содержимое файла * .tar.gz без извлечения, используя опцию tvzf

    Вы можете просмотреть содержимое файла * .tar.gz перед извлечением, как показано ниже.

     $ tar tvfz имя_архива.tar.gz 
    Просмотрите содержимое файла * .tar.bz2 без распаковки с помощью опции tvjf

    Вы можете просмотреть содержимое файла * .tar.bz2 перед извлечением, как показано ниже.

     $ tar tvfj имя_архива.tar.bz2 

    4. Вывод содержимого tar-файла с помощью команды less

    Когда количество файлов в архиве больше, вы можете передать вывод tar по конвейеру меньшему количеству файлов.Но вы также можете использовать команду less напрямую для просмотра выходных данных tar-архива, как объяснялось в одной из наших предыдущих статей. Откройте и просмотрите 10 различных типов файлов с помощью Linux Less Command — Максимальная мощность Less.

    5. Извлеките один файл из файлов tar, tar.gz, tar.bz2

    Чтобы извлечь конкретный файл из архива tar, укажите имя файла в конце команды tar xvf, как показано ниже. Следующая команда извлекает только определенный файл из большого tar-файла.

     $ tar xvf файл_архива.tar / путь / к / файлу 

    Используйте соответствующую опцию z или j в соответствии с методом сжатия gzip или bzip2 соответственно, как показано ниже.

     $ tar xvfz archive_file.tar.gz / путь / к / файлу
    
    $ tar xvfj archive_file.tar.bz2 / путь / к / файлу 

    6. Извлеките отдельный каталог из файлов tar, tar.gz, tar.bz2

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

     $ tar xvf файл_архива.tar / путь / к / каталогу / 

    Чтобы извлечь несколько каталогов из архива tar, укажите имена этих отдельных каталогов в конце команды tar xvf, как показано ниже.

     $ tar xvf файл_архива.tar / путь / к / каталог1 / / путь / к / каталог2 / 

    Используйте соответствующую опцию z или j в соответствии с методом сжатия gzip или bzip2 соответственно, как показано ниже.

     $ tar xvfz файл_архива.tar.gz / путь / к / каталогу /
    
    $ tar xvfj archive_file.tar.bz2 / путь / к / каталогу / 

    7. Извлечь группу файлов из архивов tar, tar.gz, tar.bz2, используя регулярное выражение

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

     $ tar xvf archive_file.tar --wildcards '* .pl' 

    Описание опций:

    • –wildcards * .pl — файлы с расширением pl

    8.Добавление файла или каталога в существующий архив с помощью опции -r

    Вы можете добавить дополнительные файлы в существующий tar-архив, как показано ниже. Например, чтобы добавить файл в файл * .tar, выполните следующие действия:

     $ tar rvf имя_архива.tar новый файл 

    Этот новый файл будет добавлен к существующему архиву имя_архива.tar. Добавление каталога в tar также происходит аналогично,

     $ tar rvf имя_архива.tar newdir / 

    Примечание: Вы не можете добавить файл или каталог в сжатый архив.Если вы попытаетесь это сделать, вы получите ошибку «tar: не удается обновить сжатые архивы», как показано ниже.

     $ tar rvfz имя_архива.tgz новый файл
    tar: невозможно обновить сжатые архивы
    Для получения дополнительной информации попробуйте tar --help или tar --usage. 

    9. Проверьте файлы, доступные в tar, используя параметр -W

    В рамках создания файла tar вы можете проверить созданный файл архива, используя параметр W, как показано ниже.

     $ tar cvfW имя_файла.tar dir / 

    Если вы планируете удалить каталог / файл из файла архива или из файловой системы, вы можете проверить файл архива, прежде чем делать это, как показано ниже.

     $ tar tvfW имя_файла.tar
    Проверить 1 / файл1
    1 / file1: Время модификации отличается
    1 / file1: размер отличается
    Проверить 1 / файл2
    Проверить 1 / файл3 

    Если строка вывода начинается с Verify и нет строки отличий, то файл / каталог в порядке. Если нет, вам следует изучить проблему.

    Примечание: для сжатого архивного файла (* .tar.gz, * .tar.bz2) вы не можете выполнить проверку.

    Найти разницу между архивом и файловой системой можно даже для сжатого архива.Он также показывает тот же результат, что и выше, за исключением строк с Verify.

    Поиск отличий между файлом архива gzip и файловой системой

     $ tar dfz имя_файла.tgz 

    Поиск отличий между файлом архива bzip2 и файловой системой

     $ tar dfj имя_файла.tar.bz2 

    10. Оцените размер архива tar

    Следующая команда оценивает размер файла tar (в КБ) перед созданием файла tar.

     $ tar -cf - / каталог / в / архив / | туалет -c
    20480 

    Следующая команда оценивает размер сжатого файла tar (в КБ) перед созданием файла tar.gz, tar.bz2 файлы.

     $ tar -czf - / каталог / в / архив / | туалет -c
    508
    
    $ tar -cjf - / каталог / в / архив / | туалет -c
    428 

    Если вам понравилась эта статья, возможно, вам также понравится ..

    Как распаковать файл tar.gz

    Если вы используете программное обеспечение с открытым исходным кодом, скорее всего, в какой-то момент вы столкнетесь с файлом .tar . Утилита tar-архива с открытым исходным кодом существует с 1979 года, поэтому она действительно повсеместна в мире POSIX. Его цель проста: он берет один или несколько файлов и «упаковывает» их в автономный файл, называемый ленточным архивом, потому что, когда был изобретен tar, он использовался для размещения данных на лентах хранения.

    Люди, плохо знакомые с форматом tar, обычно приравнивают его к файлу .zip, но архив tar, в частности, , а не сжат. Формат tar создает только контейнер для файлов, но файлы могут быть сжаты с помощью отдельных утилит. Обычно к файлу .tar применяется сжатие: Gzip , bzip2 и xz . Вот почему вы редко видите только файл .tar, а чаще встречаются файлы .tar.gz или .tgz .

    Установка tar

    В Linux, BSD, Illumos и даже Mac OS команда tar уже установлена ​​для вас.

    В Windows самый простой способ работать с файлами .tar — это установить служебную программу LGPL 7-Zip с открытым исходным кодом. Его название подразумевает, что это утилита zip, но она также работает с архивами tar и даже предоставляет команды для интерфейса командной строки cmd .

    Если вам действительно нужна настоящая утилита tar для Windows, GNU tar можно установить через WSL в Windows 10 или через Cygwin.

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

    tar-архив часто называют tar-архивом , по-видимому, потому, что мы, хакеры, любим сокращать слова до минимально возможного количества слогов, а «tarball» короче и проще, чем «tar-архив».«

    В графическом интерфейсе создание архива — это максимум трехэтапный процесс. Я использую KDE, но процесс в Gnome или XFCE практически такой же:

    1. Создать каталог
    2. Поместите файлы в каталог
    3. Щелкните каталог правой кнопкой мыши и выберите «Сжать».

    В оболочке это в основном тот же процесс.

    Чтобы собрать группу файлов в один архив, поместите файлы в каталог и затем вызовите tar, указав имя архива, который вы хотите создать, и каталог, который вы хотите заархивировать:

      $ tar --create --verbose --file archive.tar myfiles  

    Утилита tar уникальна среди команд, поскольку не требует дефисов перед короткими параметрами, что позволяет опытным пользователям сокращать сложные команды, например:

      $ tar cvf archive.tar myfiles  

    Вам не нужно помещать файлы в каталог перед их архивированием, но это считается плохим этикетом, потому что никто не хочет, чтобы 50 файлов были разбросаны по их рабочему столу при разархивировании каталога. Такие архивы иногда называют tarbomb , хотя не всегда с негативным оттенком.Tarbombs полезны для установщиков исправлений и программного обеспечения; просто нужно знать, когда их использовать, а когда избегать.

    Сжатие архивов

    Создание tar-архива не сжимает ваши файлы, а просто упрощает их перемещение как один большой двоичный объект. Для сжатия вы можете использовать tar-вызов Gzip или bzip:

     

    $ tar --create --bzip2 --file foo.tar.bz2 myfiles
    $ tar --create --gzip --file foo.tar.gz myfiles

    Общие расширения: tar.gz и .tgz для архива tar, сжатого с помощью Gzip, и .tbz и .tar.bz2 для файла tar с сжатием bzip.

    Распаковка архивов

    Если вы получили архив от друга или программный проект, вы можете распаковать его на рабочем столе с графическим интерфейсом пользователя или в оболочке. В графическом интерфейсе щелкните правой кнопкой мыши архив, который хотите извлечь, и выберите «Извлечь».

    Файловый менеджер Dolphin предлагает функцию автоматического определения того, содержатся ли файлы, извлеченные из архива, в каталоге или для них необходимо создать новый каталог.Я использую эту опцию, чтобы при извлечении файлов из tarbomb они оставались аккуратными и содержались.

    В оболочке команда для извлечения архива довольно интуитивно понятна:

      $ tar --extract --file archive.tar.gz  

    Опытные пользователи сокращают это до:

      $ tar xf archive.tar.gz  

    Вы даже можете использовать утилиту tar для распаковки файлов .zip:

      $ tar --extract --file archive.zip  

    Смола Advanced

    Утилиты tar очень надежны и гибки.Когда вы освоите основы, полезно изучить другие функции.

    Добавить файл или каталог в существующий архив

    Если у вас уже есть архив и вы хотите добавить в него новый файл, вам не нужно все разархивировать, чтобы добавить новый файл.

    Большинство настольных компьютеров Linux и BSD поставляются с графической утилитой архивирования. Используя его, вы можете открыть tar-архив, как если бы это был любой другой каталог, заглянуть внутрь, извлечь отдельные файлы, добавить в него файлы и даже просмотреть текстовые файлы и изображения, которые он содержит.

    В оболочке вы можете добавить файл или каталог в tar-архив, если он не сжат. Если ваш архив был сжат, вы должны распаковать его, но вам не нужно его разархивировать.

    Например, если архив был сжат с помощью Gzip:

     

    $ gunzip archive.tar.gz
    $ ls
    archive.tar

    Теперь, когда у вас есть несжатый tar-архив, добавьте к нему файл и каталог:

     

    $ tar --append - файловый архив.tar foo.txt
    $ tar --append --file archive.tar bar /

    Укороченная версия:

     

    $ tar rf archive.tar foo.txt
    $ tar rf archive.tar bar /

    Просмотр списка файлов в архиве

    Чтобы просмотреть файлы в архиве, сжатые или несжатые, используйте параметр —list :

     

    $ tar --list --file archive.tar.gz
    myfiles /
    myfiles / один
    myfiles / два
    myfiles / три
    bar /
    bar / четыре
    foo.txt

    Опытные пользователи сокращают это до:

      $ tar tf archive.tar.gz  

    Извлечь только один файл или каталог

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

     

    $ tar xvf archive.tar.gz бар / четыре
    бар / четыре

    Теперь файл «четыре» извлечен в новый каталог с именем «bar».«Если« полоса »уже существует, то« четыре »помещается в существующий каталог.

    Извлечение нескольких файлов или каталогов в основном одно и то же:

     

    $ tar xvf archive.tar.gz myfiles / одна полоса / четыре
    myfiles / одна
    полоска / четыре

    Вы даже можете использовать подстановочные знаки:

     

    $ tar xvf archive.tar.gz --wildcards '* .txt'
    foo.txt

    Распаковать архив в другой каталог

    Ранее я упоминал, что некоторые tarballs были tarbombs, которые оставляли файлы разбросанными по вашему компьютеру.Если вы перечисляете tar-архив и видите, что его файлы не содержатся в каталоге, вы можете создать для них целевой каталог:

     

    $ tar --list --file archive.tar.gz
    foo
    bar
    baz
    $ mkdir newfiles
    $ tar xvf archive.tar.gz -C newfiles

    При этом все файлы архива аккуратно помещаются в каталог «newfiles».

    Параметр каталога назначения полезен не только для поддержания порядка в извлеченных файлах, например, для распространения файлов, которые предназначены для копирования в существующую структуру каталогов.Если вы работаете над веб-сайтом и хотите отправить администратору несколько новых файлов, вы можете сделать это несколькими способами. Очевидный способ — отправить файлы администратору сайта по электронной почте вместе с некоторым текстом, объясняющим, где должен быть размещен каждый файл: «Прикрепленный файл index.php идет в /var/www/example.com/store , и файл vouchers.php переходит в /var/www/example.com/deals … «

    Более эффективным способом было бы создать tar-архив:

     

    $ tar cvf updates-20170621.tar.bz2 var
    var / www / example.com / store / index.php
    var / www / example.com / deal / voucher.php
    var / www / example.com / images / banner.jpg
    var / www /example.com/images/badge.jpg
    var / www / example.com / images / llama-eat-apple-pie.gif

    При такой структуре администратор сайта может распаковать ваш входящий архив прямо в корневой каталог сервера. Утилита tar автоматически определяет наличие /var/www/example.com , а также подкаталоги store , обрабатывает и изображений и распределяет файлы в соответствующие каталоги.Это массовое копирование и вставка, выполняемое легко и быстро.

    GNU tar и BSD tar

    Формат tar — это просто формат, и это открытый формат, поэтому его можно создать с помощью более чем одного инструмента.

    Существуют две общие утилиты tar: утилита tar GNU , установленная по умолчанию в системах Linux, и утилита tar BSD , установленная по умолчанию в BSD, Mac OS и некоторых системах Linux. Для общего использования подойдет любой tar. Все примеры в этой статье одинаково работают, например, с tar GNU или BSD.Однако у этих двух утилит есть некоторые незначительные различия, поэтому, когда вы освоитесь с одной, попробуйте другую.

    Вам, вероятно, придется установить «другой» tar (какой бы он ни был в вашей системе) вручную. Чтобы избежать путаницы между утилитами, GNU tar часто называют gtar , а tar BSD — bsdtar , при этом команда tar является символической ссылкой или псевдонимом на ту, которая была предустановлена ​​на вашем компьютере.

    Linux tar Command — для создания, извлечения, объединения архивных файлов, cmd Пример

    Что такое команда Linux tar ?

    Пояснение

    tar КОМАНДА: команда tar используется для создания архива и извлечения файлов архива.

    СИНТАКСИС:
    tar [параметры] [файл-архива] [Файл или каталог для архивации]

    ОПЦИИ:

    -c Создает архив
    -x Распаковать архив
    -f создает архив с именем файла
    отображает или перечисляет файлы в архивном файле
    -u архивирует и добавляет к существующему архивному файлу
    -v Отображает подробную информацию
    -A Объединяет архивные файлы
    ПРИМЕР:

    1. Чтобы заархивировать каталог или файл:

      tar -cvf backup.tar / etc

      Эта команда создает tar-файл с именем backup.tar, который является архивом каталога / etc.

      Где,
      backup.tar — Создан файл tar
      / etc — Каталог заархивирован
    2. Чтобы заархивировать каталог или файл и сохранить его на устройстве хранения:

      tar -cvf / dev / fd0 / home / user1 / HGB

      Эта команда заархивирует каталог / etc и сохранит его на гибком диске.

      Где,
      / dev / fd0 — Имя гибкого диска, на котором хранится архив
      / home / user1 / HGB — Архивный каталог
    3. Чтобы распаковать архив:

      tar -xvf backup.tar

      Эта команда распакует файл backup.tar.

    4. Чтобы перечислить файл в архиве:

      tar -tvf backup.tar

      Приведенная выше команда отобразит файлы и каталоги, заархивированные в резервной копии.

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

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