Пример 17) Разделение большого файла tar на файлы меньшего размера
В Linux, как и в операционной системе, большой файл разделяется или разбивается на более мелкие файлы с помощью команды split . Большой tar-файл также можно разделить на более мелкие части с помощью команды split.
Предположим, мы хотим разделить файл mybackup-2016-09-09.tgz на более мелкие части по 6 МБ.
Синтаксис : split -b <Size-in-MB> <tar-file-name>.<extension> “prefix-name”
# split -b 6M mybackup-2016-09-09.tgz mybackup-parts
Приведенная выше команда разделит сжатый tar-файл mybackup на файлы меньшего размера, каждый размером 6 МБ в текущем рабочем каталоге, а имена разделенных файлов будут начинаться с mybackup-partsaa… mybackup-partsag . В случае, если вы хотите добавить числа вместо алфавитов, используйте опцию ‘-d’ в приведенной выше команде разделения.
# ls -l mybackup-parts* -rw-r--r--. 1 root root 6291456 Sep 10 03:05 mybackup-partsaa -rw-r--r--. 1 root root 6291456 Sep 10 03:05 mybackup-partsab -rw-r--r--. 1 root root 6291456 Sep 10 03:05 mybackup-partsac -rw-r--r--. 1 root root 6291456 Sep 10 03:05 mybackup-partsad -rw-r--r--. 1 root root 6291456 Sep 10 03:05 mybackup-partsae -rw-r--r--. 1 root root 6291456 Sep 10 03:05 mybackup-partsaf -rw-r--r--. 1 root root 637219 Sep 10 03:05 mybackup-partsag #
Теперь мы можем переместить эти файлы на другой сервер по сети, а затем объединить все файлы в один сжатый tar-файл, используя указанную ниже команду.
# cat mybackup-partsa* > mybackup-2016-09-09.tgz #
Вот и все, надеюсь, вам понравятся разные примеры команды tar. Пожалуйста, поделитесь своими отзывами и комментариями.
От исходного кода к исполняемому модулю
Создание исполняемого файла издавна производилось в три этапа: (1) обработка исходного кода препроцессором, (2) компиляция в объектный код и (3) компоновка объектных модулей, включая модули из объектных библиотек, в исполняемый файл. Это классическая схема для компилируемых языков. (Сейчас уже используются и другие схемы.)
Часто компиляцией программы называют весь процесс преобразования исходного кода в исполняемы модуль. Что неправильно
Обратите внимание, что в IDE этот процесс называется построение (build) проекта
IDE обычно скрывают три отдельных этапа создания исполняемого модуля. Они проявляются только в тех случаях, когда на этапе препроцессинга или компоновки обнаруживаются ошибки.
Итак, допустим, у нас есть программа на C++ «Hello, World!»:
#include <iostream> int main() { std::cout << "Hello, World!\n"; }
Сначала исходный код обрабатывается препроцессором. Препроцессор находит директиву , ищет файл iostream и заменяет директиву текстом из этого файла, попутно обрабатывая все директивы препроцессора во включаемом тексте.
Файл, указанный в директиве , в данном случае является заголовочным файлом (или «хеадером», «хидером», «заголовком»). Это обычный текстовый файл, содержащий объявления(объявления типов, прототипы функций, шаблоны, директивы препроцессора и т.п.). После текстуального включения заголовочного файла в текст программы (или модуля) становится возможным использование в тексте программы всего того, что описано в этом заголовочном файле.
Затем результат работы препроцессора передаётся компилятору. Компилятор производит весь положенный комплекс работ: от синтаксического разбора и поиска ошибок до создания объектного файла (понятно, что если имеются синтаксические ошибки, то объектный файл не создаётся). В объектном файле обычно имеется таблица внешних ссылок — некая таблица, в которой, в частности, перечислены имена подпрограмм, которые используются в объектном модуле, но код которых отсутствует в данном объектном модуле. Эти подпрограммы внешние по отношению к модулю.
Исходный код, который может быть откомпилирован, называется единицей компиляции. Наша программа содержит одну единицу компиляции.
Что бы получить нормальный исполняемый модуль, необходимо «разрешить» внешние ссылки. Т.е. добавить в исполняемый модуль код отсутствующих подпрограмм и настроить соответствующим образом все ссылки на этот код. Этим занимается компоновщик. Он анализирует таблицу внешних ссылок объектного модуля, ищет в объектных библиотеках недостающие модули, копирует их в исполняемый модуль и настраивает ссылки. После этого исполняемый модуль готов.
Библиотека (объектная библиотека) — это набор откомпилированных подпрограмм, собранных в единый файл определённой структуры. Подключение библиотеки происходит на этапе компоновки исполняемого файла из объектных файлов (т.е. из тех файлов, которые получаются в результате компиляции исходного текста программы).
Необходимые объектные библиотеки входят в комплект поставки компилятора. В комплект поставки библиотек (любых) входит набор заголовочных файлов, которые содержат объявления, необходимые компилятору.
Если исходный код программы разделён на несколько файлов, то процесс компиляции и сборки происходит аналогично. Сначала все единицы компиляции по отдельности компилируются, а затем компоновщик собирает полученные объектные модули (с подключением библиотек) в исполняемый файл. Собственно, этот процесс и называется раздельной компиляцией.
Архивирование в Linux
Важно отметить, что архивирование в linux это не одно и то же что и сжатие файлов linux. Архивирование — это объединение нескольких небольших файлов в один, с целю более удобной последующей передачи, хранения, шифрования или сжатия
Как я уже сказал, архивация выполняется специальными утилитами. Мы не будем трогать архивацию файлов в графическом интерфейсе, вы с ними разберетесь сами, наша тема — терминал.
Самой популярной для Linux утилитой для архивации есть tar. Она используется почти везде, для архивации исходников, упаковки пакетов. Для сжатия используются другие утилиты, в зависимости от алгоритма сжатия, например, zip, bz, xz, lzma и т д. Сначала выполняется архивация, затем сжатие, отдельными программами. Автоматический запуск некоторых утилит сжатия для только что созданного архива поддерживается в tar и других подобных программах с помощью специальных опций.
Также полезной возможностью архивации есть шифрование. Но теперь давайте рассмотрим какие существуют утилиты, с помощью которых выполняется архивирование файлов linux и как ими пользоваться.
dd — копирование всего жесткого диска
В данном случае мы снова воспользуемся , только на сей раз сохраним все содержимое жесткого диска — с таблицей разделов, самими разделами и всеми данными. Преимущество данного метода в том, что можно за один шаг сохранить все установленные на этом жестком диске системы без необходимости бэкапить каждый раздел отдельно. Кроме того, при таком бэкапе сохранятся все данные, относящиеся к загрузчику — таким образом, после восстановления из бэкапа вам не нужны будут дополнительные манипуляции, вы сможете сразу же загрузиться с этого жесткого диска.
Создание образа
В целом процедура аналогична описанной выше для бэкапа отдельных разделов. В данном случае также применим совет о прочистке свободного места «нулями» — при наличии свободного времени проделайте это со всеми разделами.
Перед началом операции убедитесь, что ни один из разделов данного жесткого диска не смонтирован. Сделать это можно запустив команду без параметров.
Выберите раздел, на котором вы собираетесь разместить файл-обарз. Разумеется, это должен быть раздел другого жесткого диска. Также убедитесь в наличии достаточного количества свободного места на этом разделе (например, с помощью утилиты ) — объем свободного места должен соответствовать объему копируемого жесткого диска (при сжатии образ получится меньше, но это зависит от типа хранимых данных).
Смонтируйте бэкап-раздел
sudo mount /dev/sdXY /mnt
Теперь можно приступать
sudo dd if=/dev/sdX bs=1M conv=noerror,sync | lzma -cv > /mnt/hdd.dd.lzma
(здесь «sdX» — диск, а не раздел! для копирования без сжатия команда аналогична приведенной выше для бэкапа раздела)
В зависимости от размера жесткого диска и производительности компьютера процедура может занять продолжительное время (до нескольких часов). По завершении отмонтируйте бэкап-раздел
sudo umount /mnt
Восстановление из образа
Внимание! Данный способ предполагает полный откат к состоянию на момент создания архива с заменой всех данных!
Перед началом работы убедитесь в надежности электропитания. Подключите сетевой адаптер, если у вас ноутбук, а также по возможности используйте ИБП или стабилизатор. При высокой интенсивности записи возрастает риск повреждения диска в случае сбоя питания
Убедитесь, что ни один раздел восстанавливаемого диска не используется. Смонтируйте бэкап-раздел
sudo mount /dev/sdXY /mnt
Можно приступать к процедуре
bzip2 -dc /mnt/hdd.dd.bz | sudo dd of=/dev/sdX bs=1M conv=sync,noerror
Или же для несжатого образа
sudo dd if=/mnt/hdd.dd.bz of=/dev/sdX bs=1M conv=sync,noerror
По завершении отмонтируйте бэкап-раздел
sudo umount /mnt
Если вы хотите распаковать образ на другой жесткий диск, он должен иметь размер не меньше оригинального. В случае, если новый диск большего объема, вы сможете расширить разделы либо создать новый раздел на свободном месте с помощью parted/fdisk/gparted/etc
Не используйте оба жестких диска («дубликат» и «оригинал») одновременно! При подключении обоих дисков в системе будет по два раздела на каждый UUID, что приведет к проблемам в работе или невозможности загрузки
Монтирование образа
По аналогии с образом раздела вы можете работать с образом жесткого диска как с обычным жестким диском. В данном случае процедура несколько усложняется, поскольку образ содержит несколько разделов.
Если образ сжатый — распакуйте его. Теперь «подцепите» образ на loop-устройство
sudo losetup -fv /media/backup/sda.dd
(С ключом программа автоматически найдет свободное loop-устройство, иначе необходимо явно указывать его)
выведет на экран имя использованного устройства — если вы не работаете с другим файлами-образами (iso, шифрованными контейнерами и пр.), это скорее всего будет
Теперь мы имеем устройство, являющееся для системы жестким диском, но не имеем доступа к его разделам. Добраться до разделов поможет программа (может потребоваться установка одноименного пакета)
sudo kpartx -av /dev/loop0
(Ключ — добавить разделы для заданного устройства; — информативный вывод)
Программа выведет имена созданных устройств для разделов диска: для первого раздела, — для второго, по аналогии с разделами обычного диска. Файлы устройств будут находиться в папке
Теперь можно работать с разделами и ФС на них. Например, смонтировать бывший и записать на него файлы
sudo mount /dev/mapper/loop0p5 /mnt
По заверешнии отмонтируйте раздел
sudo umount /mnt
Удалите устройства-разделы с помощью
sudo kpartx -dv /dev/loop0
и освободите loop-устройство
sudo losetup -v -d /dev/loop0
Все! Изменения записались, а ваш образ снова стал обычным файлом
Пример 15) Создание и сжатый архивный файл с опциями -T и -X
Есть несколько сценариев в реальном времени, когда мы хотим, чтобы команда tar принимала входные данные из файла, и этот файл будет состоять из пути к файлам и каталогам, которые должны быть заархивированы и сжаты, могут быть некоторые файлы, которые мы хотели бы исключить из архива, которые упомянуты во входном файле.
В команде tar входной файл указывается после опции ‘ -T ‘, а файл, который состоит из списка исключений, указывается после опции ‘ -X ‘.
Предположим, мы хотим заархивировать и сжать каталоги, такие как /etc , /opt и /home, и хотим исключить файлы ‘ /etc/sysconfig/kdump’ и ‘ /etc/sysconfig/foreman’. Создайте текстовый файл ‘/root/tar-include ‘и’ /root/tar-exclude ‘и поместите следующее содержимое в соответствующий файл.
# cat /root/tar-include /etc /opt /home # # cat /root/tar-exclude /etc/sysconfig/kdump /etc/sysconfig/foreman #
Теперь запустите приведенную ниже команду, чтобы создать и сжать архивный файл.
# tar zcpvf mybackup-$(date +%Y-%m-%d).tgz -T /root/tar-include -X /root/tar-exclude
Работа с RAR архивами
Подготовка
Для работы с RAR архивами потребуется программа UNRAR, отсутствующая по умолчанию на некоторых дистрибутивах. Для ее установки, в терминал вводятся следующие команды.
sudo apt-get install unrar rar -y
Создание архива RAR
Синтаксис
rar {имя или путь до архива} {путь до файла или каталога}
Чтобы заархивировать каталог полностью (со всеми вложенными папками и файлами), нужно добавить ключ «-r». Команда будет выглядеть так:
rar -r {имя или путь до архива} {путь до файла или каталога}
Пример:
rar -r /var/www/mysite.rar /var/www/html/mysite
Синтаксис
unrar x {имя или путь до архива} {путь до файла или каталога}
Пример:
unrar x /var/www/mysite.rar /var/www/html/mysite
Распаковка архивов
Переходим к распаковке созданных чуть ранее архивов, я их переместил в директорию “dir_archive”. Для распаковки архивов “tar.gz” используются опция “z”, а опция “x” означает распаковать данный архив. Далее указываем опции “vf” и название архива, в данном случае это “gzip_arch.tar.gz”: То есть, полная команда будет выглядеть так “tar zxvf gzip_arch.tar.gz”, так же, можно распаковать только определенный файл или папку, для этого просто указываете название папки или файла. Например, распакуем все тот же файл “test_file”:
Для распаковки архивов “tar.bz2” используются все те же опции но лишь заменив первую букву на “j”, далее все точно так же, указываете название архива, а в нашем случае это “gzip_arch.tar.bz2” и при необходимости файл. Если же вы хотите распаковать весь архив, то достаточно указать в обеих случаях только название самого архива. То есть, давайте распакуем архив “gzip_arch.tar.bz2”, по аналогии точно так же, только изменив опции распаковывается и “gzip_arch.tar.gz” весь целиком:
В том случае если вы хотите распаковать архив в другую директорию, то используйте уже знакомую вам опцию “-C”, как мы это делали ранее с архивами. Например, я хочу распаковать архив “gzip_arch.tar.bz2” в директорию “Загрузки”, ввожу команду для распаковки архива, затем указываю опцию “-C”, а затем путь до директории “Загрузки”:
Сжатие архивов в Linux
Как создать архив в linux рассмотрели. Теперь давайте поговорим о сжатии. Как я говорил, для сжатия используются специальные утилиты. Рассмотрим кратко несколько из них
Gzip
Чаще всего применяется Gzip. Это стандартная утилита сжатия в Unix/Linux. Для декомпрессии используется gunzip или gzip -d Сначала рассмотрим ее синтаксис:
$ gzip опции файл
$ gunzip опции файл
Теперь разберем опции:
- -c — выводить архив в стандартный вывод
- -d — распаковать
- -f — принудительно распаковывать или сжимать
- -l — показать информацию об архиве
- -r — рекурсивно перебирать каталоги
- -0 — минимальный уровень сжатия
- -9 — максимальный уровень сжатия
Примеры использования вы уже видели в описании утилиты tar. Например, выполним сжатие файла:
А теперь распакуем:
Но чтобы сжать папку в Linux вам придется сначала заархивировать ее с помощью tar, а уже потом сжать файл архива с помощью gzip.
Bzip
bzip2 — еще одна альтернативная утилита сжатия для Linux. Она более эффективная чем gzip, но работает медленнее. Для распаковки используйте утилиту bunzip2.
Описывать опции bzip2 я не буду, они аналогичны gzip. Чтобы создать архив в Linux используйте:
В текущем каталоге будет создан файл file.bz2
Lzma
Новый и высокоэффективный алгоритм сжатия. Синтаксис и опции тоже похожи на Gzip. Для распаковки используйте unlzma.
Zip
Кроссплатформенная утилита для создания сжатых архивов формата zip. Совместимая с Windows реализациями этого алгоритма. Zip архивы очень часто используются для обмена файлами в интернете. С помощью этой утилиты можно сжимать как файлы, так и сжать папку linux.
Синтаксис утилиты:
$ zip опции файлы
$ unzip опции архив
Опции утилиты:
- -d удалить файл из архива
- -r — рекурсивно обходить каталоги
- -0 — только архивировать, без сжатия
- -9 — наилучший степень сжатия
- -F — исправить zip файл
- -e — шифровать файлы
Чтобы создать Zip архив в Linux используйте:
А для распаковки:
Как видите архивирование zip в Linux не сильно отличается от других форматов.
8.3. Как архивировать и распаковывать архивы по SSH
— Извлечь (распаковать) TAR Архив
$ tar -с /usr -xvf foo.tar
— Извлечь и Разархивировать TAR Архив, сжатый с помощью GZIP
$ tar -xvzf foo.tar.gz -C /usr
— Извлечь и Разархивировать TAR Архив, сжатый с помощью BZIP2
$ tar -с /usr -xvjf foo.tar.bz2
Извлечь и Разархивировать ZIP Архив
unzip имя_архива.zip
Описание ключей
-x извлечь файлы из архива
-v выводить список обрабатываемых файлов
-f указать имя архива или TAR файла
-z разархивировать содержимое, сжатое с помощью программы gzip
-j разархивировать содержимое, сжатое с помощью программы bzip2
-C /usr — указывает в какую папку извлечь содержимое архива? если не указывать то будет извлечено в текущий каталог
— Показать содержимое TAR архива
$ tar -tvf foo.tar
— Показать содержимое TAR архива, сжатого с помощью GZIP
$ tar -ztvf foo.tar.gz
— Показать содержимое TAR архива, сжатого с помощью BZIP2
$ tar -jtvf tar.bz2
-t показать содержимое архива
Извлечь Один Файл из TAR Архива
Используйте следующие команды для извлечения одного файла, скажем bar.txt, из архива :
$ tar -xvf foo.tar bar.txt
$ tar -xzvf foo.tar.gz bar.txt
$ tar -xjvf foo.tar.bz2 bar.txt
Также можно указать путь к файлу :
$ tar -xvf foo.tar docs/bar.txt
$ tar -xzvf foo.tar.gz docs/bar.txt
$ tar -xjvf foo.tar.bz2 docs/bar.txt
Извлечь Одну Папку из TAR Архива
Используйте следующие команды для извлечения одной папки, скажем docs, из архива :
$ tar -xvf foo.tar docs
$ tar -xzvf foo.tar.gz docs
$ tar -xjvf foo.tar.bz2 docs
Также можно извлечь какую-либо поддиректорию :
$ tar -xvf foo.tar docs/images
$ tar -xzvf foo.tar.gz docs/images
$ tar -xjvf foo.tar.bz2 docs/images
Запаковать файлы в tar.gz через SSH
tar -zcvf имя_архива архивируемая_папка
например
tar -zcvf folder.tar.gz folder/
пояснения
— c – значит, что создается новый архив;
— f – посредством этого флага задается имя создаваемого архива;
— z – архивация будет происходить посредством архиватора gzip;
— v – в консоль будет выводиться информация о процессе архивации.
Как запаковать файлы в zip через SSH
zip -r имя_архива архивируемая_папка
например
zip -r logs.zip logs/
пояснения
r означает, что нужно искать файлы в папке рекурсивно, иначе в архиве бы оказалась одна пустая папка.
Извлечь архив GZ (именно в этом формате хранятся архивные логи на серверах Unix) можно командой
gunzip fize.gz
gunzip удаляет исходный архив. Если нужно сохранить так же и исходный архив, используйте опцию -c с перенаправлением потока в файл:
gunzip -c file.gz > decompressed-file
Архивация Tar в Linux
Tar — или как мы его называли архиватором таковым не является, причина тому, логика работы данного инструмента! это всего лишь упаковщик, а если быть точнее то задача tar создать контейнер в формате tar в который она помещает выбранные вами файлы (без сжатия). Но если Вам нужно эти данные ужать или сжать для уменьшения размера архива, тогда применяются дополнительные инструменты такие как Gzip или bzip2 (вы должны были обращать внимания, что скачивая пакеты или файлы они имели странный формат name-file.tar.gz ) Все дело в том, что принцип работы инструмента по сжатию данных, работает только в однопотоковом режиме, поэтому, что бы заархивировать много файлов и их сжать нам необходимо было их упаковать в TAR (один файл), а только потом прогнать через сжатие Gzip или bzip2 поэтому эти инструменты работают как Бонни и Клайд)
Создание архива TAR
Для начала начнем с запаковки архива Tar в Linux/ubuntu, и для этого надо запомнить шаблон или синтаксис команды:
Опции для создания архива tar:
- c (create) — создать архив
- f (file) — указать имя архива
- j (bzip2) — cжать/распаковать архив дополнительно при помощи bzip2
- z (gzip) — сжать/распаковать архив дополнительно при помощи gzip
- v (verbose) — выводит список прогресса
Для создания архива tar нам необходимы только две опции c и f, но если вы хотите видеть процесс упаковки файлов, то можете добавить ключ v и тогда вы увидите на экране бегущий список файлов (так сказать «аналог» виндовому прогрессу в виде процентов)
В списке опций вы заметили два ключа j и z эти ключи используются как для сжатия в архив gzip или bzip2 если вам нужно сделать архивацию с сжатием то применяем следующую команду:
Распаковать архив TAR
рассмотрим синтаксис команды что бы распаковать или разархивировать tar архив в linux/ubunta :
Опции для создания архива tar:
- x (extract) — извлечь файлы из архива
- f (file) — указать имя архива
- j (bzip2) — cжать/распаковать архив дополнительно при помощи bzip2
- z (gzip) — сжать/распаковать архив дополнительно при помощи gzip
- v (verbose) — выводит список прогресса
- С (в верхнем регистре) — указываем альтернативное место для разархивирования файлов
Общая информация по работе с Tar
- tar —help — вызов справки по командам и параметрам
- man tar — вызов расширенной документации
- официальная документация по команде tar — ссылка
Создание и распаковка архивов
Создать
Создание выполняется с ключом c. Синтаксис следующий:
tar -c<опции> <новый архивный файл> <что сжимаем>
Пример создания:
tar -czvf archive.tar.gz /home/dmosk
* в данном примере будет создан архив archive.tar.gz домашней директории пользователя (/home/dmosk)
** где z — сжать архив в gzip (без этого параметра, tar не сжимает, а создает так называемый тарбол); c — ключ на создание архива; v — verbose режим, то есть с выводом на экран процесса (очень удобно для наблюдением за ходом работы, но в скриптах можно упустить); f — использовать файл (обязательно указываем, так как в большей степени работаем именно с файлами).
Распаковать
Распаковка выполняется с ключом x с синтаксисом:
tar -x<опции> <архивный файл>
Пример распаковки:
tar -xvf archive.tar.gz
Ещё немного о сохранении данных
- Для важных данных можно сделать зеркальный раздел на двух дисках. Для этого совсем не обязательно иметь RAID-контроллер и диски одинакового размера — можно, например, собрать зеркало из 80-гигабайтного старого винта и 80-гигабайтного же раздела на новом. Зеркалирование можно реализовать с помощью LVM или программного RAID. Однако, такой способ бесполезен в случае, например, попадания на шину +5В напряжения ~220В или падения метеорита на системный блок компьютера.
- Гики-айтишники, имеющие дома свой сервер, могут расширить идею зеркалирования и использовать DRBD. Тот же RAID-1, но жёсткие диски находятся в разных компьютерах, что повышает надёжность.
-
Ни зеркалирование, ни репликация на Ubuntu One не спасут от случайного нажатия Delete, поэтому в любом случае делайте «классические» бэкапы. И в один
прекрасныйужасный день все ваши труды и старания будут вознаграждены.
Tar: основные функции и синтаксис
Начнем с синтаксиса – он довольно прост. Если вы когда-либо работали в консольном окне, то вопросов возникнуть не должно. Создание нового архива выполняется следующей строчкой кода:
tar <функции> archive.tar <архивируемые файлы>
Распаковка файлов тоже выполняется просто:
tar <функции> <имя архива>
Основные опции:
- -A, —concatenate – позволяет добавить уже существующий архив к другому;
- -c, —create – создает новый архив и записывает в него файлы;
- -d – расшифровывается как -diff или -delete, где первая команда проверяет различия между архивами, вторая – удаляет данных из архива;
- -r, append – добавляет новые файлы в конец заархивированного документа;
- -t, —list – разрешает посмотреть содержимое архива, формат аналогичен ls –l; если файлы не указаны, то выводит информацию обо всех файлах;
- -u, —update – обновление файлов в созданном архиве с тем же наименованием;
- -x, —extract – распаковывает файлы из заархивированного документа.
Мы также можем использовать особые параметры, относящиеся к каждой опции:
- -c dir, —directory=DIR – перед тем как выполнить операцию, директория будет изменена на dir;
- -f file, —file – выводит результат в file;
- -p, —bzip2 – сохраняет все права доступа;
- -v – расшифровывается как -verbose или -totals: выводит всю информацию о текущем процессе и показывает сведения об уже завершенном процессе.
Как мы говорили ранее, tar также хорошо взаимодействует с утилитами сжатия. Для их использования предназначены отдельные опции:
- -a, -auto-compress – выбирает программу для сжатия данных;
- -I, -use-compress-program=PROG – позволяет фильтровать архив с помощью утилиты PROG, для которой требуется использование опции -d;
- -j, -bzip2 – сжимает архив с помощью программы bzip2;
- -J, -xz – сжимает архив с помощью программы XZ;
- -Izip – сжимает архив с помощью программы Lzip;
- -Izma – сжимает архив с помощью программы Izma;
- -z, -gzip, -gunzip, -ungzip – сжимает архив с помощью программы GZIP;
- -Z, -compress, -uncompress – использование компрессии.
У команды tar есть еще много возможностей – чтобы их посмотреть, достаточно в консольном окне ввести команду tar —help. О том, как воспользоваться наиболее важными опциями и поработать с архивацией данных, мы поговорим в следующем разделе.
Заключение
На первый взгляд вам может показаться что это все муторно и не понятно, да и зачем в наше время использовать терминал для подобных манипуляций? Но, на самом деле, работая в терминале вы можете сэкономить множество времени, так как создавая архив в терминале, вы можете в него упаковать только те файлы, которые вам необходимо. При этом, достаточно написать их названия, а используя графические версии архиваторов на это у вас может уйти немного больше времени. Да и как уже ранее говорилось, сила Linux в его терминале, и знания терминала порой очень вам может пригодится, так что не стоит его боятся.
А на этом сегодня все. Надеюсь данная статья будет вам полезна.Журнал Cyber-X
Выводы
В этой статье была рассмотрена команда tar Linux, которая используется для архивации файлов и поставляется по умолчанию во всех дистрибутивах. В её возможности входит создание и распаковка архива файлов без их сжатия. Для сжатия утилита применяется в связке с популярными компрессорами bzip2 и gzip.
- https://andreyex.ru/operacionnaya-sistema-linux/sozdanie-i-izvlechenie-arhivov-s-pomoshhyu-komandy-tar-v-linux/
- https://windowsrar.ru/tar
- https://ru.hostings.info/termins/targz.html
- https://www.file-extension.info/ru/format/tar
- https://ITProffi.ru/rezervnoe-kopirovanie-v-linux-komanda-tar/
- https://www.vseprolinux.ru/tar
- https://www.dmosk.ru/miniinstruktions.php?mini=tar-unix
- https://www.hostinger.ru/rukovodstva/komanda-tar-linux/
- https://chuzhoy007.ru/kak-sozdat-arxiv-v-linux
- https://sheensay.ru/tar
- https://FB.ru/article/316621/programmyi-s-rasshireniem-tar-gz-kak-ustanovit-poshagovaya-instruktsiya-i-rekomendatsii
- https://www.linux16.ru/articles/kak-v-linux-raspakovat-tar-gz.html
- https://andreyex.ru/linux/komandy-linux-i-komandy-shell/kak-izvlech-ili-raspakovat-fajl-tar-xz-v-linux/
- https://losst.ru/komanda-tar-v-linux