Scroll to navigation

7z(1) General Commands Manual 7z(1)

NAME

7z - A file archiver with high compression ratio format

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 (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.

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 7z,
-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.
March 6th, 2016 7-Zip