Как создать архив в Linux Mint и как распаковать архив
Как создать архив в Linux Mint и как распаковать архив?
При переходе на операционную систему Linux, в частности дистрибутив Linux Mint, у начинающих могут возникать различные вопросы по функционалу системы, поэтому я уже не в первый раз публикую различные инструкции по работе с Linux Mint. В данной статье я расскажу, как работать с архивами, т.е. как создавать архивы и как их распаковывать.
Для начала давайте разберем несколько популярных типов архивов, которые есть в Linux, так как пользователи Windows с некоторыми из них, наверное, не знакомы, тем более что понятие архив в Linux немного отличается от распространённого понятия архива в Windows.
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. О том, как воспользоваться наиболее важными опциями и поработать с архивацией данных, мы поговорим в следующем разделе.
Мы рассмотрели только базовые опции. UNRAR имеет больше возможностей.
Приведем список некоторых часто используемых опций:
Опция | Описание |
---|---|
x | Распаковать архив, сохраняя структуру директорий архива. |
e | Распаковать архив. Структура директорий архива не сохраняется. Все файлы распаковываются в одну директорию. Если попадаются файлы с одинаковыми именами, то будет выдан запрос на перезапись/пропуск/переименование файла. |
pПАРОЛЬ | Указать пароль для защищенного архива (password). |
l | Вывести список файлов в архиве (list). |
t | Протестировать целостность архива (test). |
cl | Преобразовать имена файлов в строчные буквы (convert to lower case). |
cu | Преобразовать имена файлов в прописные буквы (convert to upper case). |
kb | Распаковывать все файлы, включая «битые» (keep broken). |
Полный список всех поддерживаемых опций можно получить, выполнив:
Распаковка архива
Мы научились создавать архивы, но, их так же необходимо и распаковывать, для этого служит опция “x”. Предположим, нам необходимо распаковать только один файл “test_file”. Для этого необходимо ввести команду “tar” далее указать необходимые опции “xvf”, далее указываем название архива, а после чего название файла, в нашем же случае это “test_file”. для наглядности я перенес данный архив в папку “dir_archive”, так что не удивляйтесь:
Для распаковки всего архива выполняем команду “tar”, далее уже знакомые опции “xvf” и название архива, в нашем же случае это “archive.tar”:
Если же вам необходимо распаковать архив в какую либо иную директорию, то для этого служит опция “-C”, далее указываем путь к нужной нам директории. Например, возьмем директорию “Документы”, вводим команду для распаковки архива “tar xvf archive.tar” далее указываем опцию “-C” и указываем путь к директории “Документы”:
Синтаксис команды tar
Синтаксис команд для создания и распаковки архива практически не отличается (в том числе с утилитами сжатия bzip2 или gzip). Так, чтобы создать новый архив, в терминале используется следующая конструкция:
tar опции архив.tar файлы_для_архивации
Для его распаковки:
tar опции архив.tar
Функции, которые может выполнять команда:
Функция | Длинный формат | Описание |
---|---|---|
-A | —concatenate | Присоединить существующий архив к другому |
-c | —create | Создать новый архив |
-d | —diff —delete | Проверить различие между архивами Удалить из существующего архива файл |
-r | —append | Присоединить файлы к концу архива |
-t | —list | Сформировать список содержимого архива |
-u | —update | Обновить архив более новыми файлами с тем же именем |
-x | —extract | Извлечь файлы из архива |
При определении каждой функции используются параметры, которые регламентируют выполнение конкретных операций с tar-архивом:
Параметр | Длиннный формат | Описание |
---|---|---|
-C dir | —directory=DIR | Сменить директорию перед выполнением операции на dir |
-f file | —file | Вывести результат в файл (или на устройство) file |
-j | —bzip2 | Перенаправить вывод в команду bzip2 |
-p | —same-permissions | Сохранить все права доступа к файлу |
-v | —verbose | Выводить подробную информацию процесса |
—totals | Выводить итоговую информацию завершенного процесса | |
-z | —gzip | Перенаправить вывод в команду gzip |
А дальше рассмотрим примеры того, как может применяться команда tar Linux.
Создание архива в Linux с использованием сжатия
Переходим к созданию сжатых архивов. Рассмотрим два основных метода сжатия Gzip (быстрее работает) и Bzip2 (лучше сжимает).
Пример сжатия tar gz linux, методом Gzip (утилита сжатия и восстановления (декомпрессии) файлов, использующая алгоритм Deflate):
Рассмотрим, как сжать папку с файлами — «Test». Для сжатия gzip используем tar z и расширение .gz :
Пример сжатия Bzip2 (утилита для сжатия данных с помощью алгоритма Барроуза — Уилера.):
Для сжатия Bzip2 используем tar j и расширение .bz2 :
Получили два архива «Test.tar.bz2» и «Test.tar.gz».
Linux распаковать tar gz и tar bz2
Разархивировать tar gz в linux. Распаковать сжатые файлы можно способом описанным выше либо так же используя tar z и tar j . Например, чтобы распаковать gz файл (gzip), используем команду:
Для распаковки bzip команду:
Как разделить большой архив tar на несколько файлов определенного размера (linux многотомный архив)?
Для передачи по сети файла большого размера иногда необходимо разделить его на более мелкие части. В данном примере я расскажу как сделать это с помощью утилиты split . Работа с утилитой проста. Задаем ключ, затем указываем файл и префикс. Разберем на примере. Я «разобью» архив «Test.tar» на части по 10 килобайт:
Размер задаётся целым числом и необязательной единицей изменения
(пример: 10K это 10*1024). Единицы изменения:
K, M, G, T, P, E, Z, Y (степень 1024) или KB, MB, … (степень 1000).
Можно разбить не по размеру а по частям указав количество. Например я разделю тестовый архив на 3 части. Для этого нужно использовать ключ -n . Пример:
Итак мы поняли как разделить архив и по размеру и обозначив желаемое количество частей. Теперь давайте посмотрим как собрать разделенный архив. Для этого будем использовать утилиту cat . Для объединения всех частей архива вводим команду:
Символ «*» после «.parta» обозначает, что нужно использовать все файлы с именем «parta». После выполнения команды файл будет объединен.
Создание и распаковка ZIP-архивов в linux
Переходим к работе с архивами zip в linux. Для работы нам потребуется утилита zip . По умолчанию она не установлена. Для инсталляции выполним команду:
Маска для работы будет такой.:
Основные опции утилиты zip:
- -r — рекурсивно обходить каталоги;
- -0 — только архивировать, без сжатия;
- -9 — максимальная степень сжатия;
Полную справку можно получить введя в терминале команду man zip .
Для создания архива зип нужно указать команду zip затем имя будущего архива с расширением .zip , затем имя файла для архивации:
Если нужно добавить в архив сразу несколько файлов то перечислите их через пробел. Например:
Для архивирования папки используйте ключ -r . Например:
Утилита поддерживает уровни сжатия которые задаются с помощью префикса от -0 (без сжатия) до -9 максимальный уровень. Если нужно сделать архив папки с максимальным сжатием то можно использовать такую команду:
Создаем zip-архив с паролем в Linux
С помощью утилиты «zip» можно создавать архивы с паролем. Для этого используется опция -P . Например:
Так, что бы создать архив secure.zip в котором будет заархивирован файл «file.txt» с паролем «passwd» введите команду:
Для того, что бы задавая пароль никто его не увидел укажите ключ -e или —encrypt . Например. Чтобы создать зашифрованный архив файла «file.txt» с именем «secure.zip» укажите команду:
После выполнения команды будет выдан запрос на задание пароля и подтверждения:
Напомню, что при вводе пароля отображения символов не будет.
Установка степени сжатия для zip linux архива. Для утилиты zip можно указать насколько сильно необходимо сжать архив. Можно указать значение от 0 до 9. Здесь 0 это отсутствие сжатия, 9 — максимально. По умолчанию то есть без указания дополнительных параметров, выставлено значение 6. Пример. Для архивации папки «folder» без сжатия команда будет такой:
Учитывайте, что чем выше укажете уровень сжатия тем выше нагрузка на систему и больше времени потребуется на операцию.
Распаковка zip-архива в Linux
Что бы распаковать zip в linux используйте команду unzip . Синтаксис такой: unzip имя_архива.zip. Например, что бы распаковать zip linux архив с именем «archive.zip» выполните:
Файлы будут распакованы в текущую директорию. Если требуется распаковать в другую папку то нужно использовать параметр -d . Например. Нужно распаковать архив «archive.zip» в папку с названием «1» находящуюся в папке «Документы». Для этого даем команду:
Для распаковки зашифрованных архивов на которые был установлен пароль будет выдан запрос на ввод пароля а затем нужно подтвердить указав английскую букву «y».
Создание и распаковка архива tar.xz в Linux
Некоторые программы распространяются в этом формате. Как устанавливать программы в линукс читайте в этой статье.
Ещё один популярный формат архива в линукс .xz. Используется алгоритм сжатия LZMA2, такой же как и в 7z имеющий очень высокую степень сжатия. Расплачиваться за это придется нагрузкой на процессор и большее использование памяти по сравнению .gzip и .bzip2.
В этом разделе я расскажу как создавать и как распаковать tar.xz файл в Linux. Для работы потребуется поддержка утилиты сжатия XZ. Если её нет то установите командой:
Синтаксис для создания архива tar.xz такой:
- c — создать архив
- f — имя файла
- J — указывает на создание архива xz
- v или —verbose — можно указать для отображения добавленных в архив файлов
Если передаете аргументы tar с дефисами (например, tar -cf в отличие от tar cf), тогда опция -f должна быть последней , поскольку она указывает имя файла.
Создание и распаковка архивов в Linux
В прошлой статье мы обсудили, как сжимать и распаковывать файлы с помощью программ gzip и bzip2. В этой небольшой статье вы узнаете, как архивировать файлы и каталоги в Linux.
Архивация и сжатие — некоторые из вас часто думают, что эти термины имеют одинаковое значение. Но они оба совершенно разные.
Архивирование — это процесс объединения нескольких файлов и каталогов (одинакового или разного размера) в один файл. С другой стороны, сжатие — это процесс уменьшения размера файла (ов) или каталогов (директорий). Архивирование часто используется как часть резервных копий системы или при перемещении данных из одной системы в другую.
Архивирование файлов и каталогов с помощью tar и zip
Наиболее распространенными программами для архивирования файлов и каталогов являются:
- Tar
- Zip
В этой статье я постараюсь подробно рассказать, как архивировать файлы и каталоги с помощью команды Tar.
Tar — это команда Unix, которая обозначает T ape A rchive. Она используется для объединения или хранения нескольких файлов (одинакового или разных размеров) в один файл. В утилите tar есть 4 основных режима работы.
c — Создание архива из файла (ов) или каталога (ов).
x — Извлечение архива.
r — Добавить файлы в конец архива.
t — Перечислить содержимое архива.
Создать новый архив
В этом примере я буду использовать папку с именем linuxthebest, которая содержит три разных типа файлов.
eminem_-_the_real_slim_shady.mp3 Screenshot.png test.txt
Теперь давайте создадим новый tar-архив каталога linuxthebest.
Для этого введите в терминале
Здесь флаг c означает создание нового архива, а f — имя файла.
Аналогично, чтобы создать архив из набора файлов в текущем рабочем каталоге, используйте следующую команду:
Извлечь архив
Чтобы извлечь архив в текущем каталоге, просто выполните команду:
Вы также можете извлечь архив в другой каталог, используя флаг C. Например, следующая команда извлекает данный файл архива в каталог Загрузки.
Вы также можете перейти в папку «Загрузки» и извлечь архив прямо туда, как показано ниже.
Иногда вам может понадобиться извлечь файлы определенного типа. Например, следующая команда извлекает файлы типа «.png».
Создание архивов с поддержкой gzip и bzip
По умолчанию Tar создает файл архива который заканчивается на .tar. Но также, команда tar может использоваться совместно с утилитами сжатия gzip и bzip2. Файлы которые заканчиваются на .tar — это простой архив TAR, файлы которые заканчиваются на tar.gz или .tgz относятся к сжатому gzip архиву, и tar файлы которые заканчиваются на tar.bz2 или .tbz относятся к сжатому bzip’ом архиву.
Давайте сначала создадим архив gzip:
Здесь мы используем флаг z для сжатия архива с использованием метода сжатия gzip.
Вы можете использовать флаг v для просмотра прогресса при создании архива.
Чтобы создать gzip-архив из списка файлов вам понадобится команда:
Чтобы извлечь архив gzip в текущий каталог, используйте:
Чтобы извлечь архив в другую папку, используйте флаг -C.
Теперь давайте создадим архив bzip.
Для этого используйте флаг j, как показано ниже.
Создайте архив каталога:
Создать архив из списка файлов:
Чтобы отобразить прогресс упаковки и сжатия, используйте флаг v.
Теперь давайте извлечем архив bzip в текущий каталог. Для этого введите в терминале:
Или извлеките архив в другой каталог:
Создать архив из нескольких каталогов и/или файлов одновременно
Это еще одна крутая функция tar-команды. Чтобы создать архив из нескольких каталогов или файлов сразу, используйте следующую команду:
Вышеприведенная команда создаст архив каталогов Загрузки, Документы и текстовый файл text.txt в каталог linuxthebest и сохранит архив в текущем рабочем каталоге.
Как исключать каталоги и/или файлы при создании архива
Это очень полезно при резервном копировании данных. Вы можете исключить все те файлы или каталоги из своей резервной копии которые вам не нужны. И для этого существует -exclude. Например, вы хотите создать архив своего домашнего каталога, но вы хотите исключить файлы Загрузки, Документы, Изображения и Музыку.
Вот как мы это сделаем.
Вышеупомянутая команда создала архив gzip моего домашнего каталога, за исключением каталогов «Загрузки», «Документы», «Изображения» и «Музыка». Чтобы создать архив с bzip, замените z на j и используйте расширение .bz2 в приведенном выше примере.
Список содержимого архива без его извлечения
Чтобы перечислить содержимое архива, вы должны использовать флаг t.
Чтобы просмотреть подробный вывод, используйте флаг v.
Добавить файлы в существующие архивы
Файлы или каталоги могут быть добавлены/обновлены в существующие архивы с использованием флага r. Посмотрите на следующую команду.
Вышеупомянутая команда добавит каталог с именем «Документы» и файл с именем test1.txt в архив linuxthebest.tar.
Вы можете проверить, добавлены ли файлы или нет, с помощью команды:
Создать архивы tar:
- Обычный tar-архив: tar -cf archive.tar file1 file2 file3
- Архив Gzip: tar -czf archive.tgz file1 file2 file3
- Архив Bzip: tar -cjf archive.tbz file1 file2 file3
Извлечение архивов tar:
- Обычный архив tar: tar -xf archive.tar
- Архив Gzip: tar -xzf archive.tgz
- Архив Bzip: tar -xjf archive.tbz
И это все на данный момент. В следующей статье вы увидите, как архивировать файлы и каталоги с помощью утилиты Zip.
Всем удачного дня.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.