Если вы являетесь пользователем Microsoft Windows, и ваша работа предполагает отправку/получение больших файлов по сети, то вполне возможно, что вам придется по-крайней мере, использовать инструмент 7zip. Для тех, кто не знает, 7zip является архиватор файлов с открытым исходным кодом, в котором возможен “высокий коэффициент сжатия.”
Помимо 7z, инструмент поддерживает несколько других форматов. Например, вы можете использовать его для упаковки и извлечения следующих типов файлов: 7z, XZ, BZIP2, GZIP, TAR, ZIP, и WIM. Тем не менее, как инструмент 7zip также может быть использован для распаковать нескольких других типов файлов, включая AR, ARJ, CAB, CHM, CPIO, CramFS, DMG, EXT, FAT, GPT, HFS, IHEX, ISO, LZH, LZMA, MBR, MSI, NSIS, NTFS, QCOW2, WinRAR, RPM, SquashFS, UDF, UEFI, VDI, VHD, VMDK, WIM, XAR и Z.
“Степень сжатия в новом формате 7z на 30-50% лучше, чем соотношение в формате ZIP,” говорит официальная документация инструмента. Ниже приведены некоторые из других особенностей 7zip, написанная на официальном веб-сайте:
- Для форматов ZIP и GZIP форматов, 7-Zip обеспечивает степень сжатия на 2-10% выше , чем соотношение предоставляемых PKZip и WinZip
- Сильное шифрование AES-256 в 7z и ZIP форматах
- Возможность самораспаковывающего архива для формата 7z
- Интеграция с Windows Shell
- Мощный файловый менеджер
- Мощная команда версия строки
- Плагин для FAR Manager
- Локализации для 87 языков
Достаточно причин, чтобы узнать, как использовать его, не так ли? Но, он доступен на Linux? Ну, да – есть версия командной строки для Linux/Unix, и его окрестили p7zip.
В этой статье мы обсудим, как установить и использовать p7zip в Linux. Обратите внимание, что все инструкции и команды, упомянутые в данном руководстве, были протестированы на Ubuntu 16,04 LTS.
Загрузка и установка 7zip
Вы можете легко загрузить и установить инструмент p7zip в Ubuntu с помощью следующих команд:
sudo apt-get install p7zip-full
sudo apt-get install p7zip-rar
Использование 7zip
Пакет p7zip устанавливает утилиту командной строки с именем 7z. Ниже приводится его синтаксис:
7z [adeltux] [-] [SWITCH] <ARCHIVE_NAME> <ARGUMENTS>...
Если это кажется немного сложным, не беспокойтесь, потому что мы объясним использование 7z.
Для начала, давайте подумаем, как мы можем создать .7z архив, используя эту команду. Для этого предположим, есть каталог с именем файла, который содержит четыре файла:
Теперь задача состоит в том, чтобы упаковать все эти 4 файла в файл .7z, скажем files.7z . Таким образом, чтобы сделать это, введите файлы каталога в командной строке, и выполнить следующую команду:
$ 7z a files.7z *
Следующий скриншот показывает команду в действии:
После того , как выше команда успешно выполнена, файл с именем files.7z будет создан в текущем рабочем каталоге.
Теперь предположим, что вы случайно / намеренно удалили четыре файла, присутствующие в файлах каталога:
И я хочу, получить их путем извлечения файла из архива .7z, который мы только что создали. Это можно сделать с помощью опции командной строки ‘e’ следующим образом:
7z e files.7z
Это были основы архивирования и извлечения с помощью инструмента 7z. Теперь предположим, что данное требование создать файл .zip. Это можно легко сделать с помощью следующей команды:
7z a [zipfile-name] [files-to-be-zipped]
Например:
Инструмент 7zip также позволяет легко обновлять файл архива после его создания. Например, предположим, что вы создали архив, а затем поняли, что нужно что-то еще, чтобы быть добавленным к нему, но вместо того, чтобы удалить старый архив и создать новый, вы можете просто обновить его с новым материалом, который вы хотите добавить.
Например, предположим, что файлы каталога теперь содержит в общей сложности 5 текстовых файлов, и я хочу , добавить file5 в архив files.7z. Тогда я могу сделать это с помощью опции ‘U’ в команде 7z. Вот команда в действии:
Один из способов, чтобы подтвердить, что обновленный архив теперь содержит в общей сложности пять файлов вручную проверить обновленный архив, дважды щелкнув по нему. Но если вы хотите сделать это с помощью командной строки, то вы можете использовать опцию ‘L’, предоставленную командой в 7z.
Так как вы можете видеть на скриншоте выше, команда 7z подтвердила, что files.7z архив был обновлен с новым текстовым файлом.
Двигаемся дальше, вы захотели удалить что-то из архива, созданного 7z, вы можете сделать это. В этом случае параметр командной строки, который будет использоваться ‘d’. Общий синтаксис команды, однако, остается тем же самым.
7z d [archive-name] [file-to-be-deleted]
Имейте в виду, что вам придется добавить переключатель ‘-r’ в приведенную выше команду в случае, если данный файл находится внутри подкаталога, который находится в архиве, хотя по какой-то причине, официальная документация 7z отпугивает пользователей от использования этот переключателя (я проверил это несколько раз, и это работает для меня, как и ожидалось).
Ниже приводится некоторая важная информация, от создателей утилиты 7z:
DO NOT USE the 7-zip format for backup purpose on Linux/Unix because : - 7-zip does not store the owner/group of the file. On Linux/Unix, in order to backup directories you must use tar : - to backup a directory : tar cf - directory | 7za a -si directory.tar.7z - to restore your backup : 7za x -so directory.tar.7z | tar xf - If you want to send files and directories (not the owner of file) to others Unix/MacOS/Windows users, you can use the 7-zip format. example : 7za a directory.7z directory Do not use "-r" because this flag does not do what you think. Do not use directory/* because of ".*" files (example : "directory/*" does not match "directory/.profile")
Для получения дополнительной информации о 7z, обратитесь к команде man page.
Вывод
Как вы бы наблюдали в течение этого урока, 7zip это действительный инструмент для архивации. Это воплощение на Linux – p7zip – это не только легко установить, но довольно прост в использовании. Много документации доступно в виде man page, FAQ и страницы поддержки инструментов на официальном сайте.