$ curl cheat.sh/
 cheat:7z 
---
tags: [ compression ]
---
7z [Args] [archive.7z] [files / folders to archive]
A file archiver with highest compression ratio

Args:
a       add
d       delete
e       extract
l       list
t       test
u       update
x       extract with full paths

    DO NOT USE the 7-zip format for backup purpose on Linux/Unix.
    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 1: Quick and Easy - Add all files in dir1 to archive.7z with Default Settings.
7z a archive.7z  dir1

Example 2: Add all files in dir1 to archive.7z with Max Compression
7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on archive.7z dir1

    -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 Mb
    -ms=on      solid archive = on

Example 3: Add (store) all files in dir1 to archive.7z with No Compression
7z a -m0=copy archive.7z dir1

7z exit codes:

    0       normal (no errors or warnings)
    1       warning (non-fatal errors)
    2       fatal error
    7       bad cli arguments
    8       not enough memory for operation
    255     process was interrupted

 tldr:7z 
# 7z
# File archiver with a high compression ratio.
# More information: <https://www.7-zip.org>.

# [a]dd a file or directory to a new or existing archive:
7z a path/to/archive.7z path/to/file_or_directory

# Encrypt an existing archive (including filenames):
7z a path/to/encrypted.7z -ppassword -mhe=on path/to/archive.7z

# E[x]tract an archive preserving the original directory structure:
7z x path/to/archive.7z

# E[x]tract an archive to a specific directory:
7z x path/to/archive.7z -opath/to/output

# E[x]tract an archive to `stdout`:
7z x path/to/archive.7z -so

# [a]rchive using a specific archive type:
7z a -t7z|bzip2|gzip|lzip|tar|zip path/to/archive.7z path/to/file_or_directory

# [l]ist the contents of an archive:
7z l path/to/archive.7z

# List available archive types:
7z i

$
Follow @igor_chubin cheat.sh