7z - Man Page

A file archiver with high compression ratio format

Examples (TL;DR)

Synopsis

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

Description

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.

Commands

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

Switches

--

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

Diagnostics

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")

Example 1

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

Example 2

7z a -sfx archive.exe dir1

add all files from directory "dir1" to SFX archive archive.exe (Remark : SFX archive MUST end with ".exe")

Example 3

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)

See Also

7zr(1), 7za(1), p7zip(1), bzip2(1), gzip(1), zip(1),

HTML Documentation

/usr/share/doc/p7zip-full/DOC/MANUAL/start.htm

Author

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

Referenced By

7za(1), clifm(1), xz(1).

March 6th, 2016 7-Zip