- Установка и использование 7-Zip в Linux
- Установка 7-Zip в Linux
- Установка 7-Zip в Ubuntu, Debian
- Установка 7-Zip в Fedora, CentOS
- Установка 7-Zip в ArchLinux
- Раcпаковка 7zip-архивов
- Распаковать в текущую директорию
- Распаковать в определенную директорию
- Распаковать без сохранения структуры директорий
- Создание 7zip-архива
- Упаковать один файл
- Упаковать несколько файлов
- Упаковать директорию и ее содержимое
- Добавить файлы в существующий архив
- Просмотр файлов в архиве
- Протестировать целостность архива
- Заключение
- How to extract 7z files in Linux
- Steps to open 7-Zip file in Linux:
- 10 7zip (File Archive) Command Examples in Linux
- How to Install 7zip in Linux
- Install 7zip on Debian, Ubuntu or Linux Mint
- Install 7zip on Fedora or CentOS/RHEL
- Learn 7zip Command Examples in Linux
Установка и использование 7-Zip в Linux
Формат 7-Zip впервые появился в 1999 году. Данный формат отличает высокая степень сжатия данных. По сравнению с ZIP степень сжатия 7-Zip может быть на 30-50% лучше. 7-Zip в основном используется среди пользователей Windows.
7-Zip нельзя использовать для создания резервных копий в Linux, так как формат не сохраняет информацию о правах доступа к файлам и данные о владельце.
В данной заметке мы рассмотрим, как установить поддержку 7-Zip в некоторых дистрибутивах Linux, а также как работать с 7zip-архивами.
Установка 7-Zip в Linux
Установка 7-Zip в Ubuntu, Debian
Для установки поддержки 7-Zip в Ubuntu и Debian, а также производных от них дистрибутивах (LinuxMint и др.), доступно три пакета:
- p7zip — базовая версия, которая поддерживает только архивы в формате .7z Представляет собой порт утилиты 7za.exe для POSIX систем.
- p7zip-full — полная версия, которая поддерживает различные алгоритмы сжатия при создании 7zip-архивов, а также другие форматы архивов. Установка данного пакета также обеспечивает поддержку 7-Zip в менеджере архивов File Roller, который используется в Ubuntu.
- p7zip-rar — отдельный модуль для p7zip, позволяющий распаковывать RAR-архивы.
Для установки 7-Zip в Ubuntu (Debian) вы можете установить пакет p7zip-full, а также p7zip-rar для поддержки RAR. Для этого выполните в терминале команду:
sudo apt install p7zip-full p7zip-rar
Примечание: В новых версиях Ubuntu (например, в Ubuntu 18.04 и новее) 7-Zip автоматический поддерживается в файловом менеджере Nautilus. Можно создавать и распаковывать 7zip архивы.
Установка 7-Zip в Fedora, CentOS
В дистрибутивах Fedora, CentOS доступны пакеты p7zip, p7zip-plugins.
Для установки используйте следующую команду:
sudo yum install p7zip p7zip-plugins
Установка 7-Zip в ArchLinux
Для установки поддержки 7-Zip в ArchLinux установите пакет p7zip, который доступен в официальных репозиториях дистрибутива.
Раcпаковка 7zip-архивов
Когда поддержка 7-Zip установлена, то для распаковки .7z файлов вы можете использовать графические утилиты (например, File Roller, Ark), средства файлового менеджера вашего дистрибутива (если есть поддержка), а также командую строку.
Для работы с 7-Zip архивами через командную строку используется команда 7z
Распаковать в текущую директорию
Чтобы распаковать .7z архив в текущую директорию с сохранением структуры директорий, которые находятся внутри архива, выполните в терминале команду:
Файлы архива будут распакованы в текущую директорию. Если в архиве содержатся директории, то при распаковке их структура будет сохранена.
Распаковать в определенную директорию
Чтобы распаковать архив в определенную директорию используется опция -o , за которой без пробела указывается путь до директории.
Распаковать без сохранения структуры директорий
Можно распаковать .7z архив, не сохраняя структуру директорий. То есть, если внутри архива есть директории и файлы в них, то при распаковке все файлы будут распакованы в одну директорию. Для этого используется опция (команда) e .
Создание 7zip-архива
Упаковать один файл
Чтобы создать .7z архив используется следующая команда.
В результате выполнения данной команды будет создан архив archive.7z , который содержит файл myfile.txt
Упаковать несколько файлов
Чтобы упаковать несколько файлов, перечислите их имена через пробел.
7z a archive myfile1.txt myfile2.txt myfile3.txt
Упаковать директорию и ее содержимое
Вместо файла, при создании архива, можно указать путь до директории, которую необходимо сжать.
7z a archive.7z /path/to/mydir
Добавить файлы в существующий архив
Если архив уже создан, то можно добавлять в него новые файлы. Для этого используется такая же команда, как и для создания архива, только в качестве названия архива указывается существующий файл.
7z a archive.7z myfile123.txt
Просмотр файлов в архиве
Для просмотра содержимого архива используется команда:
Протестировать целостность архива
Чтобы проверить целостность архива (проверить, что архив «не битый») используется команда:
Заключение
Мы рассмотрели как установить поддержку 7-Zip в популярных дистрибутивах Linux, а также рассмотрели базовые возможности работы с 7zip-архивами.
Утилита 7z имеет много возможностей. Чтобы получить дополнительную информацию можно использовать следующие команды:
How to extract 7z files in Linux
A 7z file is a compressed archive that uses the 7-Zip format. To uncompress or extract 7z files on Linux systems like Ubuntu, Red Hat, or their derivatives, you can use the p7zip tool. This utility is compatible with most Linux distributions and can be easily installed using the distribution’s default package manager in the terminal.
Once p7zip is installed, it integrates seamlessly with standard file managers such as GNOME‘s Files or KDE‘s Dolphin. This allows you to open and extract 7z files directly from the file manager. Additionally, you can utilize the 7z command in the terminal.
Steps to open 7-Zip file in Linux:
$ sudo apt update && sudo apt install --assume-yes p7zip-full #Ubuntu and Debian [sudo] password for user: ##### snipped The following additional packages will be installed: p7zip Suggested packages: p7zip-rar The following NEW packages will be installed: p7zip p7zip-full 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 1,546 kB of archives. After this operation, 5,908 kB of additional disk space will be used. ##### snipped
$ sudo yum install --assumeyes epel-release && sudo yum install --assumeyes p7zip # CentOS and Red Hat
~/target_directory$ 7z x ~/archive.7z 7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21 p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,2 CPUs Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz (906ED),ASM,AES-NI) Scanning the drive for archives: 1 file, 189 bytes (1 KiB) Extracting archive: /home/user/archive.7z -- Path = /home/user/archive.7z Type = 7z Physical Size = 189 Headers Size = 189 Solid = - Blocks = 0 Everything is Ok Folders: 3 Files: 4 Size: 0 Compressed: 189
$ 7z --help 7-Zip [64] 16.02 : Copyright (c) 1999-2016 Igor Pavlov : 2016-05-21 p7zip Version 16.02 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,64 bits,2 CPUs Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz (906ED),ASM,AES-NI) Usage: 7z [. ] [. ] [] a : Add files to archive b : Benchmark d : Delete files from archive e : Extract files from archive (without using directory names) h : Calculate hash values for files i : Show information about supported formats l : List contents of archive rn : Rename files in archive t : Test integrity of archive u : Update files to archive x : eXtract files with full paths -- : Stop switches parsing -ai[r[-|0]] <@listfile|!wildcard>: Include archives -ax[r[-|0]] <@listfile|!wildcard>: eXclude archives -ao : set Overwrite mode -an : disable archive_name field -bb1 : set output log level -bd : disable progress indicator -bs<0|1|2>: set output stream for output/error/progress line -bt : show execution time statistics -i[r[-|0]] <@listfile|!wildcard>: Include filenames -m : set compression Method -mmt[N] : set number of CPU threads -o : set Output directory -p : set Password -r[-|0] : Recurse subdirectories -sa : set Archive name mode -scc : set charset for for console input/output -scs > : set charset for list files -scrc[CRC32|CRC64|SHA1|SHA256|*] : set hash function for x, e, h commands -sdel : delete files after compression -seml[.] : send archive by email -sfx[] : Create SFX archive -si[] : read data from stdin -slp : set Large Pages mode -slt : show technical information for l (List) command -snh : store hard links as links -snl : store symbolic links as links -sni : store NT security information -sns[-] : store NTFS alternate streams -so : write data to stdout -spd : disable wildcard matching for file names -spe : eliminate duplication of root folder for extract command -spf : use fully qualified file paths -ssc[-] : set sensitive case mode -ssw : compress shared files -stl : set archive timestamp from the most recently modified file -stm : set CPU thread affinity mask (hexadecimal number) -stx : exclude archive type -t : Set type of archive -u[-][p#][q#][r#][x#][y#][z#][!newArchiveName] : Update options -v[b|k|m|g] : Create volumes -w[] : assign Work directory. Empty path means a temporary directory -x[r[-|0]] <@listfile|!wildcard>: eXclude filenames -y : assume Yes on all queries
~/target_directory$ ls -R archive/ archive/: subfolder-00 subfolder-01 archive/subfolder-00: filename-01 filename-02 archive/subfolder-01: filename-01 filename-02
Right-click the 7z file in Files or Dolphin and choose the extract option from the context menu to use the graphical user interface ( GUI ) for extraction.
10 7zip (File Archive) Command Examples in Linux
7-Zip is a free open source, cross-platform, powerful, and fully-featured file archiver with a high compression ratio, for Windows. It has a powerful command line version that has been ported to Linux/POSIX systems.
It has a high compression ratio in 7z format with LZMA and LZMA2 compression, supports many other archive formats such as XZ, BZIP2, GZIP, TAR, ZIP and WIM for both packing and unpacking; AR, RAR, MBR, EXT, NTFS, FAT, GPT, HFS, ISO, RPM, LZMA, UEFI, Z, and many others for extracting only.
It provides strong AES-256 encryption in 7z and ZIP formats, offers a compression ratio that of 2-10 % for ZIP and GZIP formats (much better than those offered by PKZip and WinZip). It also comes with self-extracting capability for 7z format and it’s localized in up-to 87 languages.
How to Install 7zip in Linux
The port of 7zip on Linux systems is called p7zip, this package comes pre-installed on many mainstream Linux distributions. You need to install the p7zip-full package to get the 7z, 7za, and 7zr CLI utilities on your system, as follows.
Install 7zip on Debian, Ubuntu or Linux Mint
Debian-based Linux distributions comes with three software packages related to 7zip and they are p7zip, p7zip-full and p7zip-rar. It is suggested to install p7zip-full package, which supports many archive formats.
$ sudo apt-get install p7zip-full
Install 7zip on Fedora or CentOS/RHEL
Red Hat-based Linux distributions comes with two packages related to 7zip and they are p7zip and p7zip-plugins. It is suggested to install both packages.
To install these two packages, you need to enable EPEL repository on CentOS/RHEL distributions. On Fedora, no need to setup additional repository.
$ sudo yum install p7zip p7zip-plugins
Once the 7zip package installed, you can move further to learn some useful 7zip command examples to pack or unpack various types of archives in the following section.
Learn 7zip Command Examples in Linux
1. To create an .7z archive file, use «a» option. The supported archive formats for creation are 7z, XZ, GZIP, TAR, ZIP and BZIP2. If the given archive file exists already, it will “add” the files to an existing archive, instead of overwriting it.
$ 7z a hyper.7z hyper_1.4.2_i386.deb
2. To extract an .7z archive file, use «e» option, which will extract the archive in the present working directory.
3. To select an archive format, use -t (format name) option, which will allows you to select the archive format such as zip, gzip, bzip2 or tar (the default is 7z):
$ 7z a -tzip hyper.zip hyper_1.4.2_i386.deb
4. To see a list of files in an archive, use «l» (list) function, which will displays the type of archive format, method used, files in the archive among other information as shown.
5. To test the integrity of an archive file, use «t» (test) function as shown.
6. To backup a directory, you should use the 7za utility which preserves owner/group of a file, unlike 7z, the -si option enables reading of files from stdin.
$ tar -cf - tecmint_files | 7za a -si tecmint_files.tar.7z
7. To restore a backup, use -so option, which will sends output to stdout.
$ 7za x -so tecmint_files.tar.7z | tar xf -
8. To set a compression level, use the -mx option as shown.
$ tar -cf - tecmint_files | 7za a -si -mx=9 tecmint_files.tar.7z
9. To update an existing archive file or remove file(s) from an archive file, use «u» and «d» options, respectively.
10. To set a password to an archive file, use -p flag as shown.
$ 7za a -p tecmint_secrets.tar.7z
For more information refer to the 7z man page, or go to the 7zip Homepage: https://www.7-zip.org/.
That’s all for now! In this article, we have explained 10 7zip (File Archive) command examples in Linux. Use the feedback form below to ask any questions or share your thoughts with us.