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 (if the non-free p7zip-rar package is installed), 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 |
−ai[r[-|0]]{@listfile|!wildcard}
Include archives
−ax[r[-|0]]{@listfile|!wildcard}
Exclude archives
−ao{a|s|t|u}
Set Overwrite mode
−an |
Disable archive_name field |
-bb[0-3]
Set output log level
−bd |
Disable progress indicator |
−bs{o|e|p}{0|1|2}
Set output stream for output/error/progress line
−bt |
Show execution time statistics |
−i[r[−|0]]{@listfile|!wildcard}
Include filenames
−m{Parameters}
Set Compression Method (see /usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/method.htm from the p7zip-full package for a list of methods)
−o{Directory}
Set Output directory
−p{Password}
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)
−sa{a|e|s}
Set archive name mode
−scc{UTF−8|WIN|DOS}
Set charset for for console input/output
−scs{UTF−8|UTF−16LE|UTF−16BE|WIN|DOS|{id}}
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[{name}]
Create SFX archive
−si[{name}]
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
−sfx[{name}]
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 |
−stm{HexMask}
Set CPU thread affinity mask (hexadecimal number)
−stx{Type}
Exclude archive type
−t{Type}
Set type of archive
−u[-][p#][q#][r#][x#][y#][z#][!newArchiveName]
Update options
−v{Size}[b|k|m|g]
Create volumes
−w[path]
Set working directory. Empty path means a temporary directory
−x[r[−|0]]]{@listfile|!wildcard}
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) |
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)
7zr(1), 7za(1), p7zip(1), bzip2(1), gzip(1), zip(1),
/usr/share/doc/p7zip-full/DOC/MANUAL/start.htm
Written for Debian by Mohammed Adnene Trojette. Updated by Robert
Luberda.