Linux repositories inspector


March 6th, 2016


7z and 7za file archivers with high compression ratio


7zr file archiver with high compression ratio


Additional plugins for p7zip


7z - A file archiver with high compression ratio format


7z <command> [<switches>... ] <archive_name> [<file_names>... ] [<@listfiles>... ]


7-Zip is a file archiver supporting 7z (that implements LZMA compression algorithm featuring very high compression ratio), LZMA2, XZ, ZIP, Zip64, CAB, RAR (it was removed due a non-free license), ARJ, GZIP, BZIP2, TAR, CPIO, RPM, ISO, most filesystem images and DEB formats. Compression ratio in the new 7z format is 30-50% better than ratio in ZIP format.
7z uses plugins to handle archives, so it might be slightly slower than 7za(1) but can handle more archive formats.


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
Include archives
Exclude archives
Set Overwrite mode
-an Disable archive_name field
Set output log level
-bd Disable progress indicator
Set output stream for output/error/progress line
-bt Show execution time statistics
Include filenames
Set Compression Method (see /usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/method.htm from the p7zip-full package for a list of methods)
Set Output directory
Set Password (NOTE: this flag does not work with 7zr)
-r[-|0] Recurse subdirectories (CAUTION: this flag does not do what you think, avoid using it)
Set archive name mode
Set charset for for console input/output
Set charset for list files
Set hash function for x, e, h commands
-sdel Delete files after compression
-seml[.] Send archive by email
Create SFX archive
Read data from stdin (e.g. tar cf - directory | 7z a -si directory.tar.7z)
-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
Create SFX archive
-so Write data to stdout (e.g. 7z x -so directory.tar.7z | tar xf -)
-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
Set CPU thread affinity mask (hexadecimal number)
Exclude archive type
-t{Type} Set type of archive
Update options
Create volumes
-w[path] Set working directory. Empty path means a temporary directory
Exclude filenames
-y Assume Yes on all queries


7-Zip returns the following exit codes:
0 Normal (no errors or warnings detected)
1 Warning (Non fatal error(s)). For example, some files cannot be read during compressing, so they were not compressed
2 Fatal error
7 Bad command line parameters
8 Not enough memory for operation
255 User stopped the process with control-C (or similar)

Backup and limitations

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 | 7z a -si directory.tar.7z
- to restore your backup : 7z 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 : 7z 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 a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on archive.7z dir1
adds all files from directory "dir1" to archive archive.7z using "ultra settings"
-t7z 7z archive
-m0=lzma lzma method
-mx=9 level of compression = 9 (Ultra)
-mfb=64 number of fast bytes for LZMA = 64
-md=32m dictionary size = 32 megabytes
-ms=on solid archive = on


7z a -sfx archive.exe dir1 add all files from directory "dir1" to SFX archive archive.exe (Remark : SFX archive MUST end with ".exe")


7z a -mhe=on -pmy_password archive.7z a_directory add all files from directory "a_directory" to the archive "archive.7z" (with data and header archive encryption on)

HTML Documentation



Written for Debian by Mohammed Adnene Trojette. Updated by Robert Luberda.
⇧ Top