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

7z - A file archiver with highest compression ratio

7z [adeltux] [-] [SWITCH] <ARCHIVE_NAME> <ARGUMENTS>...

7-Zip is a file archiver with the highest compression ratio. The program supports 7z (that implements LZMA compression algorithm), ZIP, CAB, ARJ, GZIP, BZIP2, TAR, CPIO, RPM 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.

eXtract with full paths

Include archives
eXclude archives
Disable percentage indicator
Include filenames
don't store symlinks; store the files/directories they point to (CAUTION : the scanning stage can never end because of recursive symlinks like 'ln -s .. ldir')
Set Compression Method (see /usr/share/doc/p7zip/DOC/MANUAL/cmdline/switches/method.htm for a list of methods)
7z format only : enables or disables archive header encryption (Default : off)
Set Output directory
Set Password
Recurse subdirectories (CAUTION: this flag does not do what you think, avoid using it)
Create SFX archive
Read data from StdIn (eg: tar cf - directory | 7z a -si directory.tar.7z)
Write data to StdOut (eg: % echo foo | 7z a dummy -tgzip -si -so > /dev/null)
Sets technical mode for l (list) command
Type of archive (7z, zip, gzip, bzip2, lzip or tar. 7z format is default)
Create volumes
Update options
Set Working directory
Exclude filenames
Assume Yes on all queries

7-Zip returns the following exit codes:

Normal (no errors or warnings detected)
Warning (Non fatal error(s)). For example, some files cannot be read during compressing. So they were not compressed
Fatal error
Bad command line parameters
Not enough memory for operation
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 | 7za a -si directory.tar.7z
- to restore your backup : 7za 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 : 7za 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"
7z archive
lzma method
level of compression = 9 (Ultra)
number of fast bytes for LZMA = 64
dictionary size = 32 megabytes
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)

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


September 1 2006 Mohammed Adnene Trojette