zstd(1)

NAME
zstd, unzstd, zstdcat - Compress or decompress .zst files

SYNOPSIS

zstd [OPTIONS] [-|INPUT-FILE] [-o <OUTPUT-FILE>]

unzstd is equivalent to zstd -d
zstdcat is equivalent to zstd -dc

DESCRIPTION

zstd is a fast lossless compression algorithm. It is based on the LZ77 family, with further FSE & huff0 entropy stages. zstd offers configurable compression speed, with fast modes at > 200 MB/s per core. It also features a very fast decoder, with speed > 500 MB/s per core. zstd command line is generally similar to gzip, but features the following differences :
 - Source files are preserved by default
   It's possible to remove them automatically by using --rm command
 - By default, when compressing a single file, zstd displays progress notifications and result summary.
     Use -q to turn them off

OPTIONS

-#
     # compression level [1-22] (default:3)

-d, --decompress
     decompression

-D file
     use `file` as Dictionary to compress or decompress FILE(s)

-o file
     save result into `file` (only possible with a single INPUT-FILE)

-f, --force
     overwrite output without prompting

-c, --stdout
     force write to standard output, even if it is the console

--rm
     remove source file(s) after successful compression or decompression

-k, --keep
     keep source file(s) after successful compression or decompression.
     This is the default behavior.

-r
     operate recursively on directories

-h/-H, --help
     display help/long help and exit

-V, --version
     display Version number and exit

-v, --verbose
     verbose mode

-q, --quiet
     suppress warnings, interactivity and notifications.
     specify twice to suppress errors too.

-C, --check
     add integrity check computed from uncompressed data

-t, --test
     Test the integrity of compressed files. This option is equivalent to --decompress --stdout > /dev/null.
     No files are created or removed.

DICTIONARY

zstd offers dictionary compression, useful for very small files and messages. It's possible to train zstd with some samples, the result of which is saved into a file called `dictionary`. Then during compression and decompression, make reference to the same dictionary. It will improve compression ratio of small files. Typical gains range from ~10% (at 64KB) to x5 better (at <1KB).

--train FILEs
     use FILEs as training set to create a dictionary.
     The training set should contain a lot of small files (> 100).
     and weight typically 100x the target dictionary size
     (for example, 10 MB for a 100 KB dictionary)

-o file
     dictionary saved into `file` (default: dictionary)

--maxdict #
     limit dictionary to specified size (default : 112640)

--dictID #
     A dictionary ID is a locally unique ID that a decoder can use to verify it is using the right dictionary.
     By default, zstd will create a 4-bytes random number ID.
     It's possible to give a precise number instead.
     Short numbers have an advantage : an ID < 256 will only need 1 byte in the compressed frame header,
     and an ID < 65536 will only need 2 bytes. This compares favorably to 4 bytes default.
     However, it's up to the dictionary manager to not assign twice the same ID to 2 different dictionaries.

-s#
     dictionary selectivity level (default: 9)
     the smaller the value, the denser the dictionary, improving its efficiency but reducing its possible maximum size.

BENCHMARK

-b#
     benchmark file(s) using compression level #

-i#
     minimum evaluation time, in seconds (default : 3s), benchmark mode only

-B#
     cut file into independent blocks of size # (default: no block)

BUGS
Report bugs at:- https://github.com/facebook/zstd/issues

AUTHOR
Yann Collet