Making tar on linux

Содержание
  1. 10 Tar command examples in Linux to create and extract archives
  2. Tar command on Linux
  3. Using the tar command
  4. 1. Extract a tar.gz archive
  5. 2. Extract files to a specific directory or path
  6. 3. Extract a single file
  7. 4. Extract multiple files using wildcards
  8. 5. List and search contents of the tar archive
  9. 6. Create a tar/tar.gz archive
  10. 7. Ask confirmation before adding files
  11. 8. Add files to existing archives
  12. 9. Add files to compressed archives (tar.gz/tar.bz2)
  13. 10. Backup with tar
  14. 11. Verify archive files while creation
  15. Conclusion
  16. Примеры Использования Команды Tar в Linux
  17. Как использовать Tar в Linux
  18. Создание файла .tar в Linux
  19. Создание файла .tar.gz в Linux
  20. Создание файла .tar.bz2 в Linux
  21. Как разархивировать файлы .tar в Linux
  22. Как вывести список содержимого архива в Linux
  23. Как извлечь только один файл из архива .tar
  24. Как извлечь несколько файлов из архивов .tar
  25. Извлечь несколько файлов за критерием
  26. Как добавить файлы в архив .tar
  27. Как проверить архив .tar в Linux
  28. Как проверить размер архива в Linux
  29. Итоги
  30. Использование tar в Linux и FreeBSD для работы с архивами
  31. Создание и распаковка архивов
  32. Создать
  33. Распаковать
  34. Примеры
  35. Распаковать в определенную папку
  36. Распаковка без вложенной папки
  37. Исключение файлов по маске
  38. Работа с архивами, разбитыми на части
  39. Описание ключей tar
  40. Команды для действия
  41. Дополнительные опции
  42. Windows

10 Tar command examples in Linux to create and extract archives

Tar command on Linux

The tar (tape archive) command is used to create and extract archives in Linux. It can compress and store multiple files in a single archive.

The commonly seen file extensions are .tar.gz and .tar.bz2 which is a tar archive further compressed using gzip or bzip algorithms respectively.

In this tutorial we shall take a look at simple examples of using the tar command to do daily jobs of creating and extracting archives on linux desktops or servers.

Using the tar command

The tar command is available by default on most linux systems and you do not need to install it separately.

1. Extract a tar.gz archive

Well, the more common use is to extract tar archives. The following command shall extract the files out a tar.gz archive

Here is a quick explanation of the parameters used —

Those are some of the important options to memorise

Extract tar.bz2/bzip archives

Files with extension bz2 are compressed with the bzip algorithm and tar command can deal with them as well. Use the j option instead of the z option.

2. Extract files to a specific directory or path

To extract out the files to a specific directory, specify the path using the «-C» option. Note that its a capital C.

However first make sure that the destination directory exists, since tar is not going to create the directory for you and will fail if it does not exist.

3. Extract a single file

To extract a single file out of an archive just add the file name after the command like this

More than once file can be specified in the above command like this

4. Extract multiple files using wildcards

Wildcards can be used to extract out a bunch of files matching the given wildcards. For example all files with «.txt» extension.

5. List and search contents of the tar archive

If you want to just list out the contents of the tar archive and not extract them, use the «-t» option. The following command prints the contents of a gzipped tar archive,

Pipe the output to grep to search a file or less command to browse the list. Using the «v» verbose option shall print additional details about each file.

For tar.bz2/bzip files use the «j» option

Use the above command in combination with the grep command to search the archive. Simple!

6. Create a tar/tar.gz archive

Now that we have learnt how to extract existing tar archives, its time to start creating new ones. The tar command can be told to put selected files in an archive or an entire directory. Here are some examples.

The following command creates a tar archive using a directory, adding all files in it and sub directories as well.

The above example does not create a compressed archive. Just a plain archive, that puts multiple files together without any real compression.

In order to compress, use the «z» or «j» option for gzip or bzip respectively.

Читайте также:  Куда сохраняется точка восстановления windows

7. Ask confirmation before adding files

A useful option is «w» which makes tar ask for confirmation for every file before adding it to the archive. This can be sometimes useful.

Only those files would be added which are given a yes answer. If you do not enter anything, the default answer would be a «No».

8. Add files to existing archives

The r option can be used to add files to existing archives, without having to create new ones. Here is a quick example

9. Add files to compressed archives (tar.gz/tar.bz2)

Its already mentioned that its not possible to add files to compressed archives. However it can still be done with a simple trick. Use the gunzip command to uncompress the archive, add file to archive and compress it again.

For bzip files use the bzip2 and bunzip2 commands respectively.

10. Backup with tar

A real scenario is to backup directories at regular intervals. The tar command can be scheduled to take such backups via cron. Here is an example —

Run the above command via cron and it would keep creating backup files with names like —
‘archive-20150218.tar.gz’.

Ofcourse make sure that the disk space is not overflown with larger and larger archives.

11. Verify archive files while creation

The «W» option can be used to verify the files after creating archives. Here is a quick example.

Note that the verification cannot be done on compressed archives. It works only with uncompressed tar archives.

Conclusion

Besides the tar command, there are many other commands available on the linux command line that can be used to compress and pack files in an archive. For example the zip and unzip command can also be used to create compressed archives.

The zip command also supports the zipcloak command that can be used to create password protected .zip archives. The tar format does not support any kind of encryption. If you want to create password protected tar archives then use the ccrypt command to encrypt the .tar or .tar.gz file.

Thats all for now. For more check out the man page for tar command, with «man tar». Or run the «tar —help» to see the list of all options supported by the tar command.

A Tech Enthusiast, Blogger, Linux Fan and a Software Developer. Writes about Computer hardware, Linux and Open Source software and coding in Python, Php and Javascript. He can be reached at [email protected] .

Источник

Примеры Использования Команды Tar в Linux

Tar — одна из наиболее широко используемых команд Linux для сжатия. Использование tar даёт много преимуществ, за что её и любят специалисты, имеющие дело с командной строкой Linux. Дальше мы поговорим об этих преимуществах, а также рассмотрим основные примеры использования утилиты.

Tar расшифровывается как «Tape archive» и используется для сжатия файлов и папок.

В большинстве случаев результатом сжатия с использованием утилиты tar является файл с расширением .tar. Последующие сжатия выполняются с помощью gzip, в результате получаем файл .tar.gz.

С помощью tar вы можете сжимать и распаковывать файлы. Tar имеет много опций, но некоторые из них вам, возможно, придётся запомнить.

  • Tar довольно эффективно сжимает файлы, степень сжатия — 50%;
  • Значительно уменьшает размер упакованных файлов и папок;
  • Tar не изменяет свойства файлов и каталогов. Разрешения и другие функции остаются неизменными;
  • Tar доступна в большинстве версий Linux, в том числе и в более старых, а также в прошивке Android;
  • Быстро сжимает и разжимает содержимое;
  • Простая в использовании.

Теперь, когда мы разобрались с преимуществами tar, стоит ответить на ещё один вопрос: при каких сценариях используется эта утилита?

  • Если вы работаете в системах на базе Linux и вам нужно сжать файлы;
  • Вам нужно перенести огромную коллекцию файлов и папок с одного сервера на другой;
  • Нужно сделать резервную копию сайта, данных или чего-либо ещё;
  • Чтобы уменьшить использование места в вашей системе;
  • Для загрузки и скачивания папок.

Как использовать Tar в Linux

Давайте узнаем, какие основные операции вы можете выполнять с помощью tar. Но прежде чем мы начнём, вам нужно будет подключиться к вашему VPS-серверу по SSH. Вот руководство, которое вам поможет!

Создание файла .tar в Linux

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

Читайте также:  Nod32 ��� ������ ����

Здесь /home/primerArhiva — это каталог, который необходимо сжать, в результате чего мы получим primerArhiva.tar.

В команде используются параметры –cvf, которые реализуют следующие модификации:

  • c – создает новый файл .tar;
  • v – выводит подробное описание процесса сжатия;
  • f – имя файла.

Создание файла .tar.gz в Linux

Если вы хотите добиться ещё большего сжатия, создайте архив .tar.gz. Вот пример:

Дополнительная опция z представляет сжатие gzip. Как вариант, вы также можете создать архив .tgz, похожий на tar.gz. Например:

Создание файла .tar.bz2 в Linux

Файлы архива .bz2 имеют ещё больший уровень сжатия, чем файлы, сжатые с gzip. Однако для сжатия и распаковки потребуется больше времени. Чтобы создать архив, вам нужно использовать опцию -j. Пример операции:

Похожие варианты сжатия — .tar.tbz и .tar.tb2. Например:

Как разархивировать файлы .tar в Linux

Команду tar также можно использовать для извлечения файлов. Следующая команда извлечет файлы в текущий каталог:

Если вы хотите распаковать файлы в другой каталог, используйте опцию -C. Например:

Аналогичную команду можно использовать для распаковки файлов .tar.gz:

.tar.bz2, .tar.tbz или .tar.tb2 файлы могут быть распакованы аналогично. Для этого введите следующую команду в командной строке:

Как вывести список содержимого архива в Linux

После создания архива вы можете просмотреть его содержимое с помощью подобной команды:

Команда выведет полный список файлов с отметками времени и разрешениями. Используйте аналогичную команду для .tar.gz:

Такой вариант подходит и для файлов .tar.bz2:

Как извлечь только один файл из архива .tar

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

Здесь primer.sh — это тот единственный файл, который будет извлечён из primerArhiva.tar. В качестве альтернативы вы также можете использовать следующую команду:

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

Или аналогичную команду:

Чтобы извлечь один файл из .tar.bz2, воспользуйтесь командой:

Или аналогичную команду:

Как видите, команда tar имеет довольно гибкий синтаксис.

Как извлечь несколько файлов из архивов .tar

Если вы хотите извлечь несколько файлов, используйте следующий формат команды:

Соответственно для .tar.gz команда будет выглядеть так:

Для .tar.bz2:

Извлечь несколько файлов за критерием

Если вы хотите извлечь из архива только определённые файлы, например только .jpg, используйте метасимволы. Пример такой команды показан ниже:

Для .tar.gz введите:

Для .tar.bz2:

Как добавить файлы в архив .tar

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

Ниже приведён пример, в котором мы добавляем primer.jpg в существующий файл primerArhiva.tar.

Мы также можем добавить каталог. В примере ниже каталог image_dir был добавлен в primerArhiva.tar.

Вы не можете добавлять файлы или папки в архивы .tar.gz или .tar.bz2.

Как проверить архив .tar в Linux

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

Данная команда не применима к файлам .tar.gz или .tar.bz2.

Как проверить размер архива в Linux

Вы также можете проверить размер созданного архива. Размер будет указан в КБ (килобайтах).

Ниже приведены примеры команды с разными архивными файлами:

Итоги

Как видите, tar — действительно мощный инструмент, который должен знать каждый специалист, имеющий дело с терминалом Linux.

Мы надеемся, что эта статья помогла вам разобраться с особенностями использования tar в Linux! Вы также можете изучить подробную инструкцию по этой утилите, вызвав справку с помощью команды man tar. Увидимся в следующем руководстве!

Ольга уже около пяти лет работает менеджером в сфере IT. Написание технических заданий и инструкций — одна из её главных обязанностей. Её хобби — узнавать что-то новое и создавать интересные и полезные статьи о современных технологиях, веб-разработке, языках программирования и многом другом.

Источник

Использование tar в Linux и FreeBSD для работы с архивами

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

Создание и распаковка архивов

Создать

Создание выполняется с ключом c. Синтаксис следующий:

tar -czvf archive.tar.gz /home/dmosk

* в данном примере будет создан архив archive.tar.gz домашней директории пользователя (/home/dmosk)
** где z — сжать архив в gzip (без этого параметра, tar не сжимает, а создает так называемый тарбол); c — ключ на создание архива; v — verbose режим, то есть с выводом на экран процесса (очень удобно для наблюдением за ходом работы, но в скриптах можно упустить); f — использовать файл (обязательно указываем, так как в большей степени работаем именно с файлами).

Распаковать

Распаковка выполняется с ключом x с синтаксисом:

Читайте также:  Снять ограничение количества подключений windows server

tar -xvf archive.tar.gz

Примеры

Распаковка .gz файла:

tar -xvf archive.tar.gz

* при возникновении ошибки This does not look like a tar archive, можно воспользоваться командой gzip -d archive.tar.gz.

tar -xvjf archive.tar.bz2

* ключ j отвечает за работу с bz2.

Если система ругается на bzip2, значит нужно его установить:

yum install bzip2

apt-get install bzip2

pkg install bzip2

* соответственно, для CentOS (RPM based), Ubuntu (deb based), FreeBSD (BSD based).

Если видим ошибку tar: Unrecognized archive format, воспользуемся следующей командой:

bzip2 -d archive.tar.bz2

tar -xvzf archive.tar.gzip

* ключ z отвечает за работу с gzip.

Распаковывается, как gzip:

tar -xvzf archive.tgz

Распаковать в определенную папку

tar -C /home/user -xvf archive.tar.gz

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

Распаковка без вложенной папки

Такой способ можно использовать для распаковки в заранее подготовленный каталог. Будет некий эффект переименовывания каталога или аналог «Распаковать здесь»:

tar -C /home/admin/mytar -xvf admin.tar.gz —strip-components 1

* каталог /home/admin/mytar заранее должен быть создан; —strip-components 1 пропустит одну вложенную папку внутри архива.

Исключение файлов по маске

Если необходимо пропустить некоторые файлы, вводим команду с ключом —exclude:

tar —exclude=’sess_*’ -czvf archive.tar.gz /wwwsite

* в данном примере мы создадим архив archive.tar.gz, в котором не будет файлов, начинающихся на sess_.

Также можно исключить несколько файлов или папок, добавляя несколько опций exclude:

tar —exclude=’/data/recycle’ —exclude=’*.tmp’ zcf /backup/samba/2021-08-29.tar.gz /data/

* в данном примере мы исключим папку recycle и файлы, которые заканчиваются на .tmp

Работа с архивами, разбитыми на части

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

Чтобы создать архив, разбитый на части, вводим команду:

tar -zcvf — /root | split -b 100M — root_home.tar.gz

* данная команда создаст архив каталога /root и разобьет его на части по 100 Мб.

В итоге мы получим, примерно, такую картину:

root_home.tar.gzaa root_home.tar.gzac root_home.tar.gzae
root_home.tar.gzag root_home.tar.gzai root_home.tar.gzab
root_home.tar.gzad root_home.tar.gzaf root_home.tar.gzah

Чтобы собрать архив и восстановить его, вводим команду:

cat root_home.tar.gz* | tar -zxv

Описание ключей tar

Команды для действия

Ключ Описание
-A Добавление файлов в архив.
-c Создание нового архивного файла.
-d Показать отличающиеся данные между каталогом-исходником и содержимым архива.
—delete Удалить файлы внутри архива.
-r Добавить файлы в конец архива.
-t Показать содержимое архива.
-u Добавить файлы, которых нет в архиве.
-x Извлечь файлы из архива.

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

Дополнительные опции

Ключ Описание
—atime-preserve Оставить прежнюю метку времени доступа для файла.
-b N Задать размер блока N x 512.
-C Смена каталога. По умолчанию, используется тот, в котором мы находимся.
—checkpoint Показать имена папок при чтении архивного файла.
-G Использование старого формата инкрементального резервирования при отображении или извлечения.
-g Использование нового формата инкрементального резервирования при отображении или извлечения.
-h Не дублировать символьные ссылки. Только файлы, на которые указывают эти симлинки.
-i Игнорировать блоки нулей.
-j Использование bzip2.
—ignore-failed-read Игнорировать не читаемые файлы.
-k При распаковке, существующие файлы не заменяются соответствующими файлами из архива.
-L N Смена магнитной ленты после N*1024 байт.
-m При извлечении игнорировать время модификации объекта.
-M Многотомные архивы.
-N DATE Сохранять только более новые файлы относительно DATE
-O Направление извлекаемого на стандартный вывод.
-p Извлечение защищенной информации.
-P Не отбрасывает начальный слэш (/) из имен.
-s Сортировка файлов при извлечении.
—preserve Аналогично -ps
—remove-files Удалить исходные файлы после добавления в архив.
—same-owner Сохранить владельца при извлечении.
—totals Вывод байт при создании архива.
-v Протоколирование действий — отображение списка объектов, над которыми происходит действие.
-V NAME Создание архива на томе с меткой NAME.
—version Показать версию tar.
-w Требовать подтверждения для каждого действия.
-W Проверка архива после записи.
—exclude FILE Исключить файл FILE.
-X FILE Исключить файлы FILE.
-Z Фильтрует архив с помощью compress.
-z Использование gzip.

* актуальный список опций можно получить командой man tar.

Tar не работает с zip-архивами. В системах UNIX для этого используем утилиты zip и unzip. Для начала, ставим нужные пакеты:

yum install zip unzip

apt-get install zip unzip

pkg install zip unzip

* соответственно, для RPM based, deb based, BSD based.

zip -r archive.zip /home/dmosk

* создает архив каталога /home/dmosk в файл archive.zip.

Windows

В системе на базе Windows встроенными средствами можно распаковать только ZIP-архивы. Для работы с разными архивами рекомендуется поставить архиватор, например 7-Zip.

Источник

Оцените статью