\" \" zstd.1: This is a manual page for 'zstd' program. This file is part of the \" zstd project. \" Author: Yann Collet \" \" No hyphenation .hy 0 .nr HY 0 .TH zstd "1" "2015-08-22" "zstd" "User Commands" .SH NAME \fBzstd, unzstd, zstdcat\fR - Compress or decompress .zst files .SH SYNOPSIS .TP 5 \fBzstd\fR [\fBOPTIONS\fR] [-|INPUT-FILE] [-o ] .PP .B unzstd is equivalent to .BR "zstd \-d" .br .B zstdcat is equivalent to .BR "zstd \-dc" .br .SH DESCRIPTION .PP \fBzstd\fR is a fast lossless compression algorithm. It is based on the \fBLZ77\fR family, with further FSE & huff0 entropy stages. \fBzstd\fR 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. \fBzstd\fR command line is generally similar to gzip, but features the following differences : - Original files are preserved - By default, when compressing a single file, \fBzstd\fR displays progress notifications and result summary. Use \fB-q\fR to turn them off \fBzstd\fR supports the following options : .SH OPTIONS .TP .B \-# # compression level [1-22] (default:1) .TP .BR \-d ", " --decompress decompression .TP .B \-D file use `file` as Dictionary to compress or decompress FILE(s) .TP .B \-o file save result into `file` (only possible with a single INPUT-FILE) .TP .BR \-f ", " --force overwrite output without prompting .TP .BR \-h/\-H ", " --help display help/long help and exit .TP .BR \-V ", " --version display Version number and exit .TP .BR \-v ", " --verbose verbose mode .TP .BR \-q ", " --quiet suppress warnings and notifications; specify twice to suppress errors too .TP .BR \-c ", " --stdout force write to standard output, even if it is the console .TP .BR \-C ", " --check add integrity check computed from uncompressed data .TP .BR \-t ", " --test Test the integrity of compressed files. This option is equivalent to \fB--decompress --stdout > /dev/null\fR. No files are created or removed. .SH DICTIONARY .PP \fBzstd\fR offers \fIdictionary\fR compression, useful for very small files and messages. It's possible to train \fBzstd\fR 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). .TP .B \--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) .TP .B \-o file dictionary saved into `file` (default: dictionary) .TP .B \--maxdict # limit dictionary to specified size (default : 112640) .TP .B \--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. .TP .B \-s# dictionary selectivity level (default: 9) the smaller the value, the denser the dictionary, improving its efficiency but reducing its possible maximum size. .SH BENCHMARK .TP .B \-b# benchmark file(s) using compression level # .TP .B \-i# iteration loops [1-9](default : 3), benchmark mode only .TP .B \-B# cut file into independent blocks of size # (default: no block) .TP .B \-r# test all compression levels from 1 to # (default: disabled) .SH BUGS Report bugs at:- https://github.com/Cyan4973/zstd/issues .SH AUTHOR Yann Collet