PiperOrigin-RevId: 598652401
3.9 KiB
NAME
brotli(1) -- brotli, brcat, unbrotli - compress or decompress files
SYNOPSIS
brotli
[OPTION|FILE]...
brcat
is equivalent to brotli --decompress --concatenated --stdout
unbrotli
is equivalent to brotli --decompress
DESCRIPTION
brotli
is a generic-purpose lossless compression algorithm that compresses
data using a combination of a modern variant of the LZ77 algorithm, Huffman
coding and 2-nd order context modeling, with a compression ratio comparable to
the best currently available general-purpose compression methods. It is similar
in speed with deflate but offers more dense compression.
brotli
command line syntax similar to gzip (1)
and zstd (1)
.
Unlike gzip (1)
, source files are preserved by default. It is possible to
remove them after processing by using the --rm
option.
Arguments that look like "--name
" or "--name=value
" are options. Every
option has a short form "-x
" or "-x value
". Multiple short form options
could be coalesced:
- "
--decompress --stdout --suffix=.b
" works the same as - "
-d -s -S .b
" and - "
-dsS .b
"
brotli
has 3 operation modes:
- default mode is compression;
--decompress
option activates decompression mode;--test
option switches to integrity test mode; this option is equivalent to "--decompress --stdout
" except that the decompressed data is discarded instead of being written to standard output.
Every non-option argument is a file entry. If no files are given or file
is "-
", brotli
reads from standard input. All arguments after "--
" are
file entries.
Unless --stdout
or --output
is specified, files are written to a new file
whose name is derived from the source file name:
- when compressing, a suffix is appended to the source filename to get the target filename
- when decompressing, a suffix is removed from the source filename to get the target filename
Default suffix is .br
, but it could be specified with --suffix
option.
Conflicting or duplicate options are not allowed.
OPTIONS
-#
: compression level (0-9); bigger values cause denser, but slower compression-c
,--stdout
: write on standard output-d
,--decompress
: decompress mode-f
,--force
: force output file overwrite-h
,--help
: display this help and exit-j
,--rm
: remove source file(s);gzip (1)
-like behaviour-k
,--keep
: keep source file(s);zstd (1)
-like behaviour-n
,--no-copy-stat
: do not copy source file(s) attributes-o FILE
,--output=FILE
output file; valid only if there is a single input entry-q NUM
,--quality=NUM
: compression level (0-11); bigger values cause denser, but slower compression-t
,--test
: test file integrity mode-v
,--verbose
: increase output verbosity-w NUM
,--lgwin=NUM
: set LZ77 window size (0, 10-24) (default: 24); window size is(pow(2, NUM) - 16)
; 0 lets compressor decide over the optimal value; bigger windows size improve density; decoder might require up to window size memory to operate-C B64
,--comment=B64
: set comment; argument is base64-decoded first; when decoding: check stream comment; when encoding: embed comment (fingerprint)-D FILE
,--dictionary=FILE
: use FILE as raw (LZ77) dictionary; same dictionary MUST be used both for compression and decompression-K
,--concatenated
: when decoding, allow concatenated brotli streams as input-S SUF
,--suffix=SUF
: output file suffix (default:.br
)-V
,--version
: display version and exit-Z
,--best
: use best compression level (default); same as "-q 11
"
SEE ALSO
brotli
file format is defined in
RFC 7932.
brotli
is open-sourced under the
MIT License.
Mailing list: https://groups.google.com/forum/#!forum/brotli
BUGS
Report bugs at: https://github.com/google/brotli/issues