Как создать самораспаковывающийся архив в Linux
Первое, что надо сделать, это установить инструмент Shar в Linux. Несмотря на популярность Shar, он не предустановлен в дистрибутивах Linux. Чтобы начать установку, откройте терминал, нажав клавиши Ctrl + Alt + T или Ctrl + Shift + T на клавиатуре. Затем следуйте инструкциям по установке.
Установка Shar
В Ubuntu Linux вы можете установить Shar с помощью следующей команды Apt:
1 | sudo apt install sharutils |
В Debian установить Shar можно с помощью команды Apt-get:
1 | sudo apt-get install sharutils |
Хотите, чтобы Shar был запущен в Arch Linux? Воспользуйтесь командой Pacman:
1 | sudo pacman-Ssharutils |
В Fedora Linux установите Shar с помощью следующей команды Dnf:
1 | sudo dnf install sharutils |
OpenSUSE
В OpenSUSE установите Shar командой Zypper:
1 | sudo zypper install sharutils |
Создание архива Shar
Поскольку Shar — это утилита только для командной строки, чтобы создать свой архив, откройте окно терминала. Затем следуйте пошаговой инструкции.
Шаг 1: Используйте команду ls для переход в домашний каталог.
1 | ls |
Шаг 2: С помощью команды ls найдите папку содержимое которой необходимо сжать. Затем зайдите в папку с помощью команды CD. Например, если вы хотите сжать все файлы документов внутри каталога «Документы», вы должны ввести cd Documents.
1 | cdназвание-папки-в-домашнем-каталоге |
Шаг 3: Попав внутрь папки, выполните команду shar, чтобы добавить файлы в новый архив .shar.
Имейте в виду, что при запуске команды shar в архив добавляется абсолютно все. Если в папке есть элементы, которые вы не хотите добавлять в архив, удалите / перенесите их, прежде чем выполнять команду.
1 | shar./*>../мой-shar-архив.shar |
Шаг 4: После выполнения команды shar на шаге 3 приложение Shar начнет создавать самораспаковывающийся архив. Когда процесс будет завершен, вы увидите, что
<strong>мой-shar-архив.shar</strong> появится в вашем домашнем каталоге (~).
Шаг 5: После создания нового самораспаковывающегося архива Shar, необходимо обновить права доступа к файлу.
Изменение прав доступа в Linux выполняется с помощью утилиты chmod. Используя chmod + x, измените
<strong>мой-shar-архив.shar</strong>, чтобы все пользователи смогли открыть файл и извлечь содержимое архива.
1 |
sudo chmod+xмой-shar-архив.shar
|
Сообщите пользователям, которым вы послали файл, что им необходимо изменить разрешения мой-shar-архив.shar в своей системе Linux с помощью команды chmod.
Использование самораспаковывающегося архива в Linux
Чтобы извлечь содержимое вашего нового самораспаковывающегося архива Shar, выполните следующую команду.
1 | ./мой-shar-архив.shar |
Содержимое мой-shar-архив.shar будет извлечено.
Шифрование самораспаковывающегося архива
Если вы отправляете конфиденциальные файлы через Интернет, вы можете зашифровать их в целях безопасности. Следуйте пошаговой инструкции.
Шаг 1: Убедитесь, что на вашем компьютере установлена программа GPG, выполнив команду gpg —help в терминале. Если GPG установлен, вы увидите страницу справки GPG.
1 | gpg—help |
Шаг 2: Зашифруйте самораспаковывающийся архив с помощью команды gpg ниже. Обязательно используйте надежный пароль.
1 | gpg-cmy-shar-archive.shar |
После шифрования выходной файл будет
<strong>мой-shar-архив.shar.gpg</strong>.
Шаг 3: Удалите незашифрованный архив Shar с помощью rm.
1 | rm my-shar-archive.shar |
Шаг 4: Отправьте
<strong>мой-shar-архив.shar.gpg</strong> пользователям.
Чтобы распаковать архив нужно всего лишь запустить файл.
1 |
gpgмой-shar-архив.shar.gpg ./мой-shar-архив.shar |
На этом все. Теперь вы знаете, как создать самораспаковывающийся архив в Linux (Ubuntu, Debian, Fedora, Arch Linux и т.д.).
Создание архива
Команда для копирования полного дерева файловых объектов в архив с условным названием /backup.tar.gz (файл архива располагается в той же файловой системе):
sudo tar —xattrs —acls -czf backup.tar.gz \ —exclude=/proc —exclude=/lost+found \ —exclude=/backup.tar.gz \ —exclude=/mnt \ —exclude=/sys \ —exclude=/parsecfs \ /
Параметр | Значение |
---|---|
—xattrs |
Включить поддержку расширенных атрибутов файлов |
—acls | Включить поддержку списков контроля доступа (POSIX Access Control Lists, ACL) |
-czf |
Составной параметр: -c — создать новый архив-z — пропускать данные перед записью в архив через программу сжатия gzip-f — указывает на то, что следующим параметром является имя файла архива (в данном примере — файл backup.tar.gz) |
—exclude |
Указывает, какие файлы и каталоги копировать не нужно. В частности, обязательно:
|
Последним параметром указывается каталог, который нужно копировать. |
Создание архива на удаленном компьютере
Инструмент tar не содержит собственных средств для работы через сеть, однако может использоваться совместно с другими инструментами для сетевой работы.Типичным примерами таких инструментов являются netcat (nc) и tar.
Инструмент Netcat (nc)
Инструмент nc разработан как средство общего назначения для передачи данных через сеть, и позволяет установить простое соединение между двумя машинами.
Сценарий применения (опции архиватора tar для простоты не указаны):
-
Запустить инструмент nc на принимающей машине. Инструмент принимает данные через сетевой порт номер 1024 и записывает всё полученное в файл backup.tar.gz. Далее предположим, что IP-адрес принимающей машины — 192.168.32.97. Команда:
nc -l 1024 > backup.tar.gz
-
На передающей машине запустить архиватор tar без указания целевого файла архива. Архиватор при этом выводит создаваемый архив в стандартный вывод (stdout), который перенаправляется инструменту nc для передачи на IP-адрес принимающей машины (192.168.32.97) и порт 1024.Параметр -q 0 указывает закрыть соединение после завершения входного потока данных. Команда:
tar -cvpz / | nc -q 0 192.168.32.97 1024
С помощью SSH
Более безопасным вариантом является использование SSH. Подробно про настройку SSH и работу с ним можно прочитать в соответствующей статье.Пример команды:
sudo tar -cvpz / | ssh 192.168.32.97 «( cat > ssh_backup.tar.gz )»
В примере:
- Инструмент tar применяется без указания целевого файла, и выводит поток данных в стандартный вывод (stdout);
- Стандартный вывод перенаправляется в ssh;
- ssh подключается к удалённому компьютеру и выполняет на удалённом компьютере команду записи в файл;
Пример 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
Создание и распаковка архивов .zip: программы zip и unzip
zip позволяет сжимать файл(ы) и каталог(и). Применяется команда так:
zip опции архивный_фай.zip файлы_и_каталоги_для_архивации
Чтобы в архив добавлялось содержимое каталогов, а не только их название, нужно использовать ключ -r
zip -r archive.zip каталог_для_архивации
Для распаковки архивов zip
unzip archive.zip
Чтобы посмотреть список содержимого архива (но не распаковывать его) можно сделать так:
unzip -l archive.zip
Извлечь и посмотреть содержимое отдельных папок, файлов можно так
unzip archive.zip интересующий_каталог unzip -l archive.zip интересующий_каталог
Tar
Tar — это стандартная утилита, с помощью которой выполняется архивирование файлов Linux. Постепенно из небольшой программы архивации она превратилась в мощный инструмент, поддерживающий работу со многими вариантами архивов и алгоритмами сжатия. Программа поддерживает большое количество параметров. Давайте рассмотрим ее синтаксис и основные параметры:
$ tar опцииf файл_для_записи /папка_файлами_для_архива
А теперь разберем основные опции:
- A — добавить файл к архиву
- c — создать архив в linux
- d — сравнить файлы архива и распакованные файлы в файловой системе
- j — сжать архив с помощью Bzip
- z — сжать архив с помощью Gzip
- r — добавить файлы в конец архива
- t — показать содержимое архива
- u — обновить архив относительно файловой системы
- x — извлечь файлы из архива
- v — показать подробную информацию о процессе работы
- f — файл для записи архива
- -C — распаковать в указанную папку
- —strip-components — отбросить n вложенных папок
Теперь давайте рассмотрим архивирование файлов в Linux. Чтобы создать архив используйте такую команду:
А чтобы распаковать архив tar linux:
Очень просто запомнить для упаковки используется опция c — Create, а для распаковки — x — eXtract.
Сжатый архив создается точно так же, только с опцией -z, это в случае, если использовалось шифрование gizp, если нужно bzip то применяется опция -j:
$ tar -zxvf archive.tar.gz
Например, рассмотрим как заархивировать папку в Linux:
Хотя можно поступить по-другому, тот же архив мы получим если сначала создать обычный архив с помощью tar, а потом сжать его утилитой для сжатия, только здесь мы получаем больше контроля над процессом сжатия:
Также можно убрать сжатие:
Утилиты сжатия мы рассмотрим ниже.
Чтобы добавить файл в архив используйте:
Для извлечения одного файла синтаксис тот же:
Можно извлечь несколько файлов по шаблону соответствия с помощью параметра wildcard, например, извлечем все php файлы:
По умолчанию распаковать архив tar linux можно в текущую папку с именем архива, чтобы распаковать в нужную папку используйте ключ -C:
Стандартную утилиту рассмотрели, теперь кратко рассмотрим ее альтернативы. Их не так много, и большинство из них уже устаревшие.
Как использовать Zip и Unzip в Linux
Теперь, когда мы знаем, как установить утилиту, мы можем приступить к изучению ее основных способов использования:
Создание Zip-файлов в Linux
Базовый синтаксис для создания файла .zip:
Чтобы проверить это, мы создали два файла — ExampleFile.txt и ExampleFile1.txt . Мы сжимаем их в sampleZipFile.zip с помощью следующей команды:
Использование Linux для распаковки файла
Команду unzip можно использовать без каких-либо параметров. Это распакует все файлы в текущий каталог. Один из таких примеров показан ниже:
По умолчанию он будет распакован в текущую папку, если у вас есть доступ для чтения и записи.
Удалить файл из файла .zip
После создания файла .zip вы можете удалять или удалять файлы в нем. Итак, если вы хотите удалить ExampleFile.txt из существующего sampleZipFile.zip , вы можете использовать следующую команду:
После выполнения этой команды вы можете распаковать ZIP-файл, используя:
Здесь вы обнаружите, что файл ExampleFile.txt был удален и не отображается при извлечении.
Как обновить Zip-файлы
После создания файла .zip вы можете добавить новый файл к существующему файлу .zip. Предположим, необходимо добавить новый файл ExampleFile2.txt в уже существующий файл sampleZipFile.zip . Вы можете сделать это с помощью команды, показанной ниже:
Теперь, если вы извлечете файл sampleZipFile.zip , вы обнаружите, что к нему добавлен новый файл ExampleFile2.txt.
Переместить файл в ZIP-архив
Вы можете легко переместить определенные файлы в zip-архив. Это означает, что после добавления файлов они будут удалены из исходных каталогов. Это в основном используется, когда у вас большой файл или каталог, но вам нужно сэкономить место на диске. Это делается путем добавления опции -m . Пример этой команды:
Рекурсивное использование Zip в Linux
Параметр -r используется для рекурсивного архивирования файлов. Эта опция сжимает все файлы, находящиеся в папке. Пример такой команды показан ниже:
В этом примере MyDirectory — это каталог, содержащий несколько файлов и подкаталогов для архивирования.
Исключить файлы из ZIP-архива
При создании файла .zip вы можете исключить ненужные файлы. Это делается с помощью опции -x . Ниже приведен пример:
Здесь ExampleFile.txt не будет добавлен в sampleZipFile.zip .
Используйте Linux Unzip с несколькими Zip-файлами
Если вы хотите распаковать несколько zip-файлов, существующих в вашем текущем рабочем каталоге, вы можете использовать команду, как показано ниже:
Эта команда распакует все отдельные zip-файлы.
Подавить вывод при использовании распаковки в Linux
По умолчанию, когда мы используем команду unzip, она печатает список всех извлекаемых файлов. Распечатывается краткое описание процесса экстракции. Если вы хотите подавить эти сообщения, вы можете использовать опцию -q . Команда будет такой, как показано ниже:
Исключение файлов с помощью Unzip в Linux
Если вы хотите извлечь все файлы, кроме одного, вы можете использовать аналогичную команду, как показано ниже:
Здесь команда распакует все файлы, кроме excludedFile.txt .
Вы также можете предотвратить извлечение файлов определенных типов. Один из таких примеров показан ниже:
Вышеупомянутая команда исключит из извлечения все файлы .png.
Использование Unzip в Linux с файлами, защищенными паролем
Защищенный паролем файл .zip можно распаковать с помощью параметра -P. Пример такой команды показан ниже:
В приведенной выше команде Пароль будет паролем для файла .zip.
Замена Zip-файлов
Когда вы снова разархивируете тот же файл в том же месте, где был извлечен файл, по умолчанию вы увидите сообщение с вопросом, хотите ли вы перезаписать текущий файл, перезаписать все файлы, пропустить извлечение для текущего файла, пропустить извлечение для всех файлов или переименовать текущий файл.
Варианты будут такими, как показано ниже:
Вы можете переопределить эти файлы, используя параметры -o . Один из таких примеров показан ниже:
Следует соблюдать осторожность при выполнении этой команды, поскольку это полностью перезапишет существующие копии. Любые изменения, внесенные в предыдущую копию, будут перезаписаны
Использование Linux Unzip без перезаписи файлов
Если вы разархивировали файл и внесли некоторые изменения, но случайно удалили несколько файлов, вы можете использовать этот подход для его восстановления! Используйте параметр -n, чтобы пропустить извлечение, если файл уже существует. Таким образом, будут извлечены только файлы, которые не существуют. Пример такой команды:
Как вывести список содержимого ZIP-архива в Linux
Параметр -l перечислит все файлы в ZIP-архиве с отметкой времени и другими основными деталями. Пример такой команды:
Как установить tar.gz — архив или программу
В среде Linux, и в частности в Ubuntu, многие файлы и программы иногда поставляются в качестве архивов tar.gz. Это могут быть приложения, пакеты обновлений или же просто исполняемые файлы. Поэтому все дальнейшее описание будет приведено для операционной системы Ubuntu. Чтобы понять, как установить в Ubuntu tar.gz архив, можно для примера взять любую программу, которая поставляется с исходным кодом.
К примеру, можно скачать приложение hello, загрузка которого есть в открытом доступе. Этот продукт выполняет одну простую функцию — приветствует мир в лучших традициях первых уроков любого языка программирования. Среди представленных по адресу версий лучше выбрать посвежее.
Итак, файл скачан, но как установить tar.gz? Очень просто. В операционных системах типа Ubuntu нужно использовать терминал. Вызвать его можно сочетанием клавиш Ctrl+Alt+t. Его окно выглядит примерно так:
Для того чтобы разархивировать файл ,нужно к нему добраться. В терминале это можно сделать с помощью команды cd и нужного каталога. Например:
После ввода команды нажимается клавиша Enter, которая отправляет её на исполнение. Теперь терминал находится в одной папке со скачанным архивом hello-2.10.tar.gz. Вводится команда tar zxvf hello-2.10.tar.gz. Её результатом будет вывод на консоль списка всех распакованных файлов.
Теперь задача подходит к главному пункту в вопросе о том, как установить в Ubuntu tar.gz архив, — подготовке и компиляции.
Архивация Zip в Linux
Архиватор zip — это звезда в мире ПО (ну не считая rar) этот формат очень популярен для windows систем и он по умолчанию уже встроен в чистую сборку операционной системы, поэтому только установив виндовус вы уже можете разархивировать файлы в формате zip
но давайте перейдем к делу, в Linux и Unix системах дела обстоят по другому, это формат Tar идет по умолчанию, а вот для zip надо поставить пакет unzip
Установка:
- sudo apt-get update && apt-get upgrade
- sudo apt-get install unzip
Создание ZIP архива
Для начала запомним шаблон или синтаксис команды для создания архива zip в linux:
Опции для создания архива tar:
- r (recurse) — рекурсивное создание архива
- s (size) — разбивка архива на определенный размер k (kB), m (MB), g (GB) или t (TB)пример: zip -s 300m <файл 1=”” гб=””>на выходе получим:file.zip (300 mb, master file)file.001.zip (300 mb)file.002.zip (300 mb)file.003.zip (100 mb)
- P (password) — запаролировать архив (можно использовать ключ e тогда пароль будете вводить в отдельной строке со звездочками )пример: zip -P мойпароль -r file.zip ./home/nibbl/fotoпример2: zip -er file.zip ./home/nibbl/foto
- x — исключаем файлы или каталоги из архива
- 1-9 — степень сжатия (где 1 без сжатия, а 9 лучшее сжатие)
— данной командой мы заархивировали с сжатием папку myfile создали архив с именем archive.zip и установили пароль на архив 123
Творение tar-архива без сжатия в Linux
Для создания такого архива используется команда:
tar -cf filename.tar file1 file2 fileN
Метеопараметр —cf отвечает за создание архива filename.tar, в который войдут указанные файлы. Вместо файлов смогут быть указаны и директории.
Создание архива с использованием сжатия в Linux
Поскольку для стягивания доступны как минимум два метода, для использования каждого из них используется отдельный набор параметров.
Образчик сжатия Gzip:
tar -cvzf filename.tar.gz dir_name
В данном случае мы попытались запаковать папку dir_name в картотека filename.tar.gz. Из указанных параметров -z указывает на использование метода Gzip, а -v выводит результаты процесса творения архива с указанием упакованных файлов или папок.
Распаковать zip архив
рассмотрим синтаксис команды что бы распаковать или разархивировать tar архив :
Опции для создания архива tar:
- d (directory) — указать директорию для разархивации
- l — вывести список файлов в архиве
- d — удалить определенный файл или каталог из уже сделанного архива
- v — показывает детальную информацию по файлам в архиве ()
- zip —help или unzip —help — вызов справки по командам и параметрам
- man zip или man unzip — вызов расширенной документации
- официальная документация по команде zip — ссылка
Настройка учетной записи администратора
Существует несколько разных способов, которыми вы можете настроить Nextcloud snap. Мы не будем рассматривать создание пользователя с правами администратора через веб-интерфейс, вместо этого мы создадим такого пользователя через командную строку, чтобы избежать появления небольшого окна, в котором страница регистрации администратора будет доступна любому посетителю IP-адреса или домена вашего сервера.
Чтобы настроить Nextcloud с новой учетной записью администратора, используйте команду nextcloud.manual-install. В качестве аргументов следует задать имя пользователя и пароль:
Следующее сообщение указывает, что настройка Nextcloud выполнена правильно:
После установки Nextcloud нам необходимо настроить доверенные домены, чтобы Nextcloud реагировал на запросы с использованием доменного имени или IP-адреса сервера.
Описание ключей 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. Стандартный архиватор Linux
Стандартная утилита для создания архивов в linux — «tar». Синтаксис команды такой:
tar опции имя_файла_архива файл_для_архивации
1 | tar опции имя_файла_архива файл_для_архивации |
Основные опции:
- c — создание нового архива
- f — имя файла для архива
- r — добавление файлов в конец архива
- x — извлечение файлов из архива
- t — вывод списка содержимого архива
- v — вывод сведений о работе программы
- -C — распаковать в указанную папку
Например. У меня есть папка «Test» и я хочу создать архив tar. Команда tar будет такой:
tar cf Test.tar Test
1 | tar cf Test.tar Test |
В результате получится файл архива «Test.tar»
Для того, что бы увидеть работу программы можно использовать опцию «v». Будет выведено какие файлы и папки добавлены в архив. Например:
tar cvf Test.tar Test
1 | tar cvf Test.tar Test |
В данном случае архив создается с полной структурой папок.
Как в linux архивировать папку по заданному пути
Часто нужно создать архив не заходя в директорию. Давайте рассмотрим пример как создать архив не сохраняя структуру а создать архив только нужной папки из дерева.
Например, у меня есть папка «test» и вложенные «test1/test2». Внутри каждой папки находится по одному файлу. Если использовать команду вида tar cf test.tar test/test1/test2 то будет архив tar со всеми папками и файлами включая и test и test1.
Чтобы сделать архив папки по определенному пути нужно использовать опцию —directory=КАТАЛОГ либо -C и в конце через пробел указываем нужную папку для архивации.
Пример использования linux tar с опцией «directory»:
tar cf test2.tar —directory=test/test1/ test2
1 | tar cf test2.tar —directory=test/test1/ test2 |
Теперь пример с опцией «-С»:
tar cf test2.tar -C test/test1/ test2
1 | tar cf test2.tar -C test/test1/ test2 |
Как видим результат одинаковый. Так, что используйте тот вариант который покажется более удобным.
Теперь давайте рассмотрим как добавить файл или папку в уже созданный архив. Для этого нужно использовать опцию «r». Пример. Добавить файл «file.txt» в архив «Test.tar». Используем команду:
tar rf Test.tar file.txt
1 | tar rf Test.tar file.txt |
Что бы просмотреть содержимое архива tar используйте команду:
tar -tf Test.tar
1 | tar -tf Test.tar |
Будет отображено содержимое архива «Test».
Как распаковать tar архив в linux
Теперь давайте рассмотрим как распаковать или как еще говорится разархивировать архив tar. Для этого дайте команду:
tar xf Test.tar
1 | tar xf Test.tar |
Архив будет распакован в текущую папку. Как быть если нужно распаковать не весь архив а извлечь только нужный файл. Допустим я хочу извлечь файл «file.txt». Для этого нужно дать команду:
tar xf Test.tar Test/file.txt
1 | tar xf Test.tar Test/file.txt |
Для того, чтобы извлечь архив в другой каталог используйте атрибут «-C». Например требуется распаковать архив в папку «Driver» находящуюся в директории «Zhelezo». Выполню команду:
tar xf Test.tar -C Zhelezo/Driver/
1 | tar xf Test.tar -C Zhelezo/Driver/ |
Думаю с архивированием и разархивированием файлов и папок в линукс без сжатия все понятно.
Как воспользоваться архиватором tar
Для работы с архиватором будем использовать сборку Kali Linux. Данный алгоритм подойдет и для других версий Unix/Linux, поэтому можете просто следовать инструкциям, чтобы прийти к тому же результату.
Создать новый архив или распаковать уже созданный мы можем двумя путями: воспользоваться необходимыми командами через консоль либо использовать встроенный архиватор ручным способом. Давайте рассмотрим оба варианта и посмотрим, как с их помощью можно создать новый архив, посмотреть его содержимое, распаковать данные и провести их сжатие.
Архивируем файлы
Чтобы добавить один или несколько файлов в архив через консольное окно, нам потребуется сначала прописать пути, чтобы система понимала, откуда брать файлы. Сделать это довольно просто: указываем в консоли путь до директории, в которой находятся файлы. В нашем случае это /home/kali/.
Для архивации вводим команду типа:
tar -cf <наименование будущего архива с расширением .tar> <имя архивируемого файла>
В результате будет создан архив в исходной папке – перейдем в нее и убедимся, что все прошло корректно:
Второй способ – ручное архивирование. Для этого выбираем файл, который нужно заархивировать, и кликаем по нему правой кнопкой мыши. В отобразившемся меню нажимаем на функцию создания архива. Далее нам потребуется указать название файла, задать ему расширение .tar и воспользоваться кнопкой архивирования файлов.
Как видите, создать tar-архив в Linux совсем не сложно. Если вам нужно заархивировать несколько документов через консоль, то просто пропишите их имена с использованием пробела.
Распаковываем tar-файлы
В данном случае нам также потребуется в консольном окне перейти в нужную директорию. Как только пути будут прописаны, можно вводить команду для разархивации:
tar -xvf archive.tar
Таким образом будут получены файлы, находящиеся в архиве. Также мы можем их достать и ручным способом – для этого достаточно кликнуть правой кнопкой мыши по файлу и нажать на «Извлечь здесь».
Как работать со сжатием файлов
Напоминаю, что tar не сжимает файлы, а только добавляет их в архив. Для уменьшения размера архивируемых файлов потребуется дополнительно воспользоваться такими утилитами, как bzip2 и gzip. Они хорошо взаимодействуют с tar, поэтому в консольном окне достаточно прописать несколько новых значений. В ручном режиме сжатие файлов выполняется с помощью расширения .tar.bz2 или .tar.gz.
Итак, для сжатия в bzip2 переходим через консоль в нужную директорию и прописываем следующую команду:
tar -cjvf <название нового архива с расширением .tar.bz2> <наименование файла/файлов>
Чтобы использовать gzip, другую утилиту для сжатия, вводим следующее:
tar -czvf <название нового архива с расширением .tar.gz> <наименование файла/файлов>
Для распаковки файлов такого типа используйте:
tar -xjvf <наименование архива в формате .tar.bz2>
Или:
tar -xzvf <наименование архива в формате .tar.gz>
Ручной способ аналогичен созданию обычного архива, только необходимо указать расширение .tar.bz2 либо .tar.gz.
Распаковать файлы самостоятельно тоже просто – для этого нужно кликнуть правой кнопкой по архиву и выбрать «Извлечь здесь».
Как посмотреть содержимое архива
Мы можем посмотреть, что находится в архиве без его распаковки. В консоли для этого необходимо ввести команду такого типа:
tar -tf <название архива>
Обратите внимание, что под командой отобразилось название «document1» – это файл, находящийся в архиве. Если файлов несколько, то каждый будет прописан в новой строке
Для просмотра архива без использования консоли достаточно кликнуть двойным щелчком мыши по архиву. После этого отобразится новое окно, в котором будет показан весь список файлов.