- Использование tar в Linux и FreeBSD для работы с архивами
- Создание и распаковка архивов
- Создать
- Распаковать
- Примеры
- Распаковать в определенную папку
- Распаковка без вложенной папки
- Исключение файлов по маске
- Работа с архивами, разбитыми на части
- Описание ключей tar
- Команды для действия
- Дополнительные опции
- Windows
- Как распаковывать архивы в Linux через терминал
- Распаковка архива 7z
- Распаковка архива gz
- Распаковка архива rar
- Распаковка архива tar.bz2
- Распаковка архива tar.gz
- Распаковка архива tar.xz
- Распаковка архива zip
- Комментарии к статье (5)
- Как распаковать tar bz2 xz gz архивы в Linux
- Распаковка tar
- Распаковка tar.bz2, tar.bzip2, tbz2, tb2, tbz
- Распаковка tar.xz, txz
- Распаковка tar.gz, tgz
- Распаковка tar.lzma
- Пояснение опций
- Распаковка в определенную директорию
- Заключение
- Команда Linux unzip
- Есть несколько способов разархивировать файлы с помощью этой команды
- Распаковать отдельные ZIP-файлы
- Распаковать несколько файлов ZIP
- Исключить некоторые ZIP-файлы
- Извлечь ZIP-файл в другой каталог
- Как показать содержимое сжатого Zip-файла
- Как проверить, является ли ZIP-файл действительным
- См. Подробную информацию в файле ZIP
- Распакуйте ZIP-файл без создания каталогов
- Распакуйте ZIP-файл без запроса перезаписи
- Извлечение защищенных паролем ZIP-файлов
- Разархивируйте файл, не отображая вывод
Использование 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 с синтаксисом:
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.
Источник
Как распаковывать архивы в Linux через терминал
В отличии от операционных систем семейства Windows, все операции в Linux’ах можно выполнить как в терминале (командной строке), так и в графическом интерфейсе, и распаковка архивов не является исключением. Ниже пойдет речь о том, как распаковывать различные архивы в Linux, используя только командную строку.
Распаковка архива 7z
Для распаковки 7z (7zip) архивов придется прибегнуть к использованию утилиты p7zip, которая по умолчанию обычно не включена в дистрибутивы Linux. Устанавливается она следующим образом:
Распаковывается архив командой:
Распаковка архива gz
Если нужно распаковать архив с расширением gz, то необходимо воспользоваться утилитой gunzip:
Распаковка архива rar
Весьма популярный, особенно на территории СНГ, формат rar распаковывается утилитой unrar, которую возможно придется сначала установить:
После чего можно ей можно будет воспользоваться:
Распаковка архива tar.bz2
Архив с расширением tar.bz2 можно распаковать вот так:
Распаковка архива tar.gz
Распаковать архив с расширением tar.gz можно так:
Распаковка архива tar.xz
Для распаковки архива с расширением tar.xz нужно использовать команду tar с параметрами -xf:
Распаковка архива zip
Если понадобилось распаковать zip архив, то для этого нужна утилита с названием unzip. Установить её можно следующей командой:
После чего распаковать zip архив можно следующей командой:
Была ли эта статья Вам полезна?
Комментарии к статье (5)
-
- Гость
- 25.11.2020 08:16
не работает от слова совсем.
Очень подробно. Если в статье есть неточности, то было бы куда правильней на них указать (конкретику), а не писать расплывчатые фразы.
Спасибо. Но это слишком тривиально и есть везде. Как распаковать из полного архива 1 папку с файлами в каждом случае н.п. /lib/modules/* ? Заранее признателен
Тип архива то какой? zip,rar,tar.
Для unzip это будет так:
Для tar архивов (очень важно не написать «/» в начале пути к директории в архиве):
Источник
Как распаковать tar bz2 xz gz архивы в Linux
Шпаргалка по распаковке tar архивов.
Для распаковки tar-архивов через командную строку используется утилита tar.
Полезно знать, что архивы в формате tar имеют расширение файлов .tar . Также в Linux распространены архивы, которые имеют дополнительное сжатие другими программами. Например, архивы .tar.bz2 , .tar.gz и другие. Все эти архивы можно распаковать утилитой tar.
Распаковка tar
Для распаковки архива в формате .tar в текущую директорию выполните команду:
Распаковка tar.bz2, tar.bzip2, tbz2, tb2, tbz
Распаковка tar.xz, txz
Распаковка tar.gz, tgz
Распаковка tar.lzma
Пояснение опций
x — распаковать архив.
v — Verbose-режим (вывод на экран дополнительной информации во время распаковки).
f — выполнить распаковку архива из файла.
j — вызвать bzip2 для распаковки архива.
z — вызвать gzip
J — вызвать xz
Распаковка в определенную директорию
Чтобы распаковать архив в определенную директорию используется опция -C или —directory , например:
Примечание: директория должна существовать.
Заключение
Мы рассмотрели базовый набор команд, который можно использовать для распаковки различных видов tar-архивов. Существуют также еще некоторые типы архивов, но они менее распространены.
Источник
Команда Linux unzip
Есть несколько способов разархивировать файлы с помощью этой команды
Архивирование файлов – это простой и эффективный способ передачи данных между компьютерами и серверами. Когда файлы сжимаются, они не только экономят дисковое пространство на локальном диске, но и облегчают и делают более удобной загрузку файлов из Интернета, используя гораздо меньшую пропускную способность, чем отправка полноразмерных файлов.
Когда вы получаете сжатый архив в Linux, распаковать его так же просто. В Linux доступно множество переключателей, что означает, что у вас есть много способов извлечь файлы с помощью команды unzip в командной строке.
Распаковать отдельные ZIP-файлы
Основной синтаксис для распаковки файла:
Например, скажем, вы загрузили альбом с названием Угроза трезвости . Чтобы распаковать этот файл в текущую папку, вам нужно просто выполнить следующую команду:
Распаковать несколько файлов ZIP
Команда man позволяет распаковывать более одного файла за раз, используя следующий синтаксис:
Если вы заархивировали три файла альбомов Алисы Купер с именами Trash , Hey Stoopid и Dragontown по отдельности, вы можете попробовать разархивировать их. их:
Тем не менее, вы получите эту ошибку:
Предполагая, что эти три файла находятся в одной папке, лучше использовать следующую команду:
Будьте осторожны, хотя. Эта команда неразборчива и распаковывает каждый ZIP-файл в текущей папке.
Исключить некоторые ZIP-файлы
Если у вас есть ZIP-файл, и вы хотите извлечь все файлы, кроме одного, используйте переключатель -x .
Чтобы продолжить наш пример, альбом “Trash” в Trash.zip имеет MP3 под названием Bed Of Nails . Чтобы извлечь все песни, кроме “Bed Of Nails”, вы должны сделать следующее:
Извлечь ZIP-файл в другой каталог
Если вы хотите поместить содержимое файла ZIP в каталог, отличный от текущего, используйте переключатель -d .
Например, чтобы распаковать файл Trash.zip в файл /home/music/Алиса Купер/Trash , вы должны использовать следующий синтаксис:
Как показать содержимое сжатого Zip-файла
Чтобы просмотреть содержимое сжатого файла, используйте переключатель -l .
В нашем примере мы могли бы использовать этот переключатель, чтобы увидеть все файлы в Trash.zip .
Возвращенная информация включает в себя:
- Длина в байтах
- Дата создания
- Время создано
- название
Как проверить, является ли ZIP-файл действительным
Чтобы проверить, правильно ли структурирован ZIP-файл и можно ли его правильно использовать перед извлечением, используйте переключатель -t .
Например, чтобы проверить, является ли Trash.zip допустимым, вы можете выполнить следующее:
Каждый файл указан в списке, и рядом с ним должно появиться ОК . В нижней части вывода должно появиться сообщение о том, что ошибок в сжатых данных … не обнаружено.
См. Подробную информацию в файле ZIP
Переключатель -v (подробный) может дать более подробную информацию.
Чтобы использовать этот переключатель с Trash.zip для просмотра дополнительной информации, мы набрали бы:
Вывод содержит следующую информацию:
- Длина в байтах
- метод
- Размер
- Процент сжатия
- Дата и время создания
- CRC
- название
Распакуйте ZIP-файл без создания каталогов
Для файлов ZIP, в которых есть папки, выполнение разархивировать в одиночку без переключателей приведет к повторному созданию такой же структуры папок из архива.
Например, при извлечении filename1.zip , который имеет следующие три папки, будут извлечены те же самые папки:
- Папка 1: filea.txt, fileb.txt, filec.txt
- Папка 2: filed.txt, filee.txt
- Папка 3: filef.txt
В этом примере, чтобы извлечь все файлы TXT в текущую папку, не создавая эти три папки, просто добавьте -j в конец команды.
Распакуйте ZIP-файл без запроса перезаписи
Предположим, вы уже распаковали определенный ZIP-файл и начали работать с распакованными файлами, изменяя и обновляя их по своему усмотрению. Последнее, что вам нужно, это перезаписать эти файлы при извлечении ZIP-файла, содержащего файлы с такими же именами. Вы сразу потеряете все, над чем работали, когда новые файлы заменят ваши существующие.
Однако вы можете использовать переключатель -n , если хотите не перезаписывать существующие файлы. Каждый файл из архива ZIP, имя которого соответствует файлу в извлеченной папке, не будет перезаписывать что-либо при использовании этого параметра. Однако все остальное, имеющее уникальное имя, будет извлечено.
Если вам все равно, существует ли файл, и вы всегда хотите перезаписать файлы, когда они извлекаются без запроса, используйте переключатель -o .
Извлечение защищенных паролем ZIP-файлов
Если вам нужно разархивировать файл, для доступа к которому требуется пароль, используйте переключатель -p , а затем пароль.
Например, чтобы разархивировать файл с именем cats.zip с паролем kittens123 , используйте следующее:
Разархивируйте файл, не отображая вывод
По умолчанию команда unzip перечисляет все, что она делает, включая отображение всех файлов в архиве по мере их извлечения командой. Вы можете подавить этот вывод, используя переключатель -q .
Это распаковывает имя файла без предоставления какого-либо вывода и возвращает вас к курсору, когда он закончил.
Источник