233 lines
11 KiB
Plaintext
233 lines
11 KiB
Plaintext
|
LZ4(1) Cosmopolitan User Commands -*-text-*-
|
|||
|
|
|||
|
๐๐๐๐
|
|||
|
๐น๐๐ฐ - lz4, unlz4, lz4cat - Compress or decompress .lz4 files
|
|||
|
|
|||
|
๐๐๐๐๐๐๐๐
|
|||
|
๐น๐๐ฐ [OฬฒPฬฒTฬฒIฬฒOฬฒNฬฒSฬฒ] [-|INPUT-FILE] OฬฒUฬฒTฬฒPฬฒUฬฒTฬฒ-ฬฒFฬฒIฬฒLฬฒEฬฒ
|
|||
|
|
|||
|
๐๐ป๐น๐๐ฐ is equivalent to ๐น๐๐ฐ -๐ฑ
|
|||
|
|
|||
|
๐น๐๐ฐ๐ฐ๐ฎ๐ is equivalent to ๐น๐๐ฐ -๐ฑ๐ฐ๐ณ๐บ
|
|||
|
|
|||
|
When writing scripts that need to decompress files, it is recomโ
|
|||
|
mended to always use the name ๐น๐๐ฐ with appropriate arguments (๐น๐๐ฐ
|
|||
|
-๐ฑ or ๐น๐๐ฐ -๐ฑ๐ฐ) instead of the names ๐๐ป๐น๐๐ฐ and ๐น๐๐ฐ๐ฐ๐ฎ๐.
|
|||
|
|
|||
|
๐๐๐๐๐๐๐๐๐๐๐
|
|||
|
๐น๐๐ฐ is an extremely fast lossless compression algorithm, based on
|
|||
|
๐ฏ๐๐๐ฒ-๐ฎ๐น๐ถ๐ด๐ป๐ฒ๐ฑ ๐๐๐ณ๐ณ family of compression scheme. ๐น๐๐ฐ offers comโ
|
|||
|
pression speeds of 400 MB/s per core, linearly scalable with
|
|||
|
multi-core CPUs. It features an extremely fast decoder, with
|
|||
|
speed in multiple GB/s per core, typically reaching RAM speed
|
|||
|
limit on multi-core systems. The native file format is the .๐น๐๐ฐ
|
|||
|
format.
|
|||
|
|
|||
|
๐๐ถ๐ณ๐ณ๐ฒ๐ฟ๐ฒ๐ป๐ฐ๐ฒ ๐ฏ๐ฒ๐๐๐ฒ๐ฒ๐ป ๐น๐๐ฐ ๐ฎ๐ป๐ฑ ๐ด๐๐ถ๐ฝ
|
|||
|
๐น๐๐ฐ supports a command line syntax similar bฬฒuฬฒtฬฒ nฬฒoฬฒtฬฒ iฬฒdฬฒeฬฒnฬฒtฬฒiฬฒcฬฒaฬฒlฬฒ to
|
|||
|
๐ด๐๐ถ๐ฝ(๐ญ). Differences are :
|
|||
|
|
|||
|
ยท ๐น๐๐ฐ preserves original files
|
|||
|
|
|||
|
ยท ๐น๐๐ฐ compresses a single file by default (see -๐บ for multiple
|
|||
|
files)
|
|||
|
|
|||
|
ยท ๐น๐๐ฐ ๐ณ๐ถ๐น๐ฒ๐ญ ๐ณ๐ถ๐น๐ฒ๐ฎ means : compress file1 iฬฒnฬฒtฬฒoฬฒ file2
|
|||
|
|
|||
|
ยท ๐น๐๐ฐ ๐ณ๐ถ๐น๐ฒ.๐น๐๐ฐ will default to decompression (use -๐ to force
|
|||
|
compression)
|
|||
|
|
|||
|
ยท ๐น๐๐ฐ shows real-time notification statistics during compresโ
|
|||
|
sion or decompression of a single file (use -๐พ to silence
|
|||
|
them)
|
|||
|
|
|||
|
ยท If no destination name is provided, result is sent to ๐๐๐ฑ๐ผ๐๐
|
|||
|
eฬฒxฬฒcฬฒeฬฒpฬฒtฬฒ iฬฒfฬฒ sฬฒtฬฒdฬฒoฬฒuฬฒtฬฒ iฬฒsฬฒ tฬฒhฬฒeฬฒ cฬฒoฬฒnฬฒsฬฒoฬฒlฬฒeฬฒ.
|
|||
|
|
|||
|
ยท If no destination name is provided, ๐ฎ๐ป๐ฑ if ๐๐๐ฑ๐ผ๐๐ is the conโ
|
|||
|
sole, ๐ณ๐ถ๐น๐ฒ is compressed into ๐ณ๐ถ๐น๐ฒ.๐น๐๐ฐ.
|
|||
|
|
|||
|
ยท As a consequence of previous rules, note the following examโ
|
|||
|
ple : ๐น๐๐ฐ ๐ณ๐ถ๐น๐ฒ | ๐ฐ๐ผ๐ป๐๐๐บ๐ฒ๐ฟ sends compressed data to ๐ฐ๐ผ๐ป๐๐๐บ๐ฒ๐ฟ
|
|||
|
through ๐๐๐ฑ๐ผ๐๐, hence it does nฬฒoฬฒtฬฒ create ๐ณ๐ถ๐น๐ฒ.๐น๐๐ฐ.
|
|||
|
|
|||
|
ยท Another consequence of those rules is that to run ๐น๐๐ฐ under
|
|||
|
๐ป๐ผ๐ต๐๐ฝ, you should provide a destination file: ๐ป๐ผ๐ต๐๐ฝ ๐น๐๐ฐ ๐ณ๐ถ๐น๐ฒ
|
|||
|
๐ณ๐ถ๐น๐ฒ.๐น๐๐ฐ, because ๐ป๐ผ๐ต๐๐ฝ writes the specified commandยดs output
|
|||
|
to a file.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Default behaviors can be modified by opt-in commands, detailed
|
|||
|
below.
|
|||
|
|
|||
|
ยท ๐น๐๐ฐ -๐บ makes it possible to provide multiple input filenames,
|
|||
|
which will be compressed into files using suffix .๐น๐๐ฐ.
|
|||
|
Progress notifications are also disabled by default (use -๐
|
|||
|
to enable them). This mode has a behavior which more closely
|
|||
|
mimics ๐ด๐๐ถ๐ฝ command line, with the main remaining difference
|
|||
|
being that source files are preserved by default.
|
|||
|
|
|||
|
ยท Similarly, ๐น๐๐ฐ -๐บ -๐ฑ can decompress multiple *.๐น๐๐ฐ files.
|
|||
|
|
|||
|
ยท Itยดs possible to opt-in to erase source files on successful
|
|||
|
compression or decompression, using --๐ฟ๐บ command.
|
|||
|
|
|||
|
ยท Consequently, ๐น๐๐ฐ -๐บ --๐ฟ๐บ behaves the same as ๐ด๐๐ถ๐ฝ.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
๐๐ผ๐ป๐ฐ๐ฎ๐๐ฒ๐ป๐ฎ๐๐ถ๐ผ๐ป ๐ผ๐ณ .๐น๐๐ฐ ๐ณ๐ถ๐น๐ฒ๐
|
|||
|
It is possible to concatenate .๐น๐๐ฐ files as is. ๐น๐๐ฐ will decomโ
|
|||
|
press such files as if they were a single .๐น๐๐ฐ file. For example:
|
|||
|
|
|||
|
|
|||
|
|
|||
|
lz4 file1 > foo.lz4
|
|||
|
lz4 file2 >> foo.lz4
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Then ๐น๐๐ฐ๐ฐ๐ฎ๐ ๐ณ๐ผ๐ผ.๐น๐๐ฐ is equivalent to ๐ฐ๐ฎ๐ ๐ณ๐ถ๐น๐ฒ๐ญ ๐ณ๐ถ๐น๐ฒ๐ฎ.
|
|||
|
|
|||
|
๐๐๐๐๐๐๐
|
|||
|
๐๐ต๐ผ๐ฟ๐ ๐ฐ๐ผ๐บ๐บ๐ฎ๐ป๐ฑ๐ ๐ฐ๐ผ๐ป๐ฐ๐ฎ๐๐ฒ๐ป๐ฎ๐๐ถ๐ผ๐ป
|
|||
|
In some cases, some options can be expressed using short command
|
|||
|
-๐
or long command --๐น๐ผ๐ป๐ด-๐๐ผ๐ฟ๐ฑ. Short commands can be concateโ
|
|||
|
nated together. For example, -๐ฑ -๐ฐ is equivalent to -๐ฑ๐ฐ. Long
|
|||
|
commands cannot be concatenated. They must be clearly separated
|
|||
|
by a space.
|
|||
|
|
|||
|
๐๐๐น๐๐ถ๐ฝ๐น๐ฒ ๐ฐ๐ผ๐บ๐บ๐ฎ๐ป๐ฑ๐
|
|||
|
When multiple contradictory commands are issued on a same command
|
|||
|
line, only the latest one will be applied.
|
|||
|
|
|||
|
๐๐ฝ๐ฒ๐ฟ๐ฎ๐๐ถ๐ผ๐ป ๐บ๐ผ๐ฑ๐ฒ
|
|||
|
-๐ --๐ฐ๐ผ๐บ๐ฝ๐ฟ๐ฒ๐๐
|
|||
|
Compress. This is the default operation mode when no operโ
|
|||
|
ation mode option is specified, no other operation mode is
|
|||
|
implied from the command name (for example, ๐๐ป๐น๐๐ฐ implies
|
|||
|
--๐ฑ๐ฒ๐ฐ๐ผ๐บ๐ฝ๐ฟ๐ฒ๐๐), nor from the input file name (for example,
|
|||
|
a file extension .๐น๐๐ฐ implies --๐ฑ๐ฒ๐ฐ๐ผ๐บ๐ฝ๐ฟ๐ฒ๐๐ by default). -๐
|
|||
|
can also be used to force compression of an already comโ
|
|||
|
pressed .๐น๐๐ฐ file.
|
|||
|
|
|||
|
-๐ฑ --๐ฑ๐ฒ๐ฐ๐ผ๐บ๐ฝ๐ฟ๐ฒ๐๐ --๐๐ป๐ฐ๐ผ๐บ๐ฝ๐ฟ๐ฒ๐๐
|
|||
|
Decompress. --๐ฑ๐ฒ๐ฐ๐ผ๐บ๐ฝ๐ฟ๐ฒ๐๐ is also the default operation
|
|||
|
when the input filename has an .๐น๐๐ฐ extension.
|
|||
|
|
|||
|
-๐ --๐๐ฒ๐๐
|
|||
|
Test the integrity of compressed .๐น๐๐ฐ files. The decomโ
|
|||
|
pressed data is discarded. No files are created nor
|
|||
|
removed.
|
|||
|
|
|||
|
-๐ฏ# Benchmark mode, using # compression level.
|
|||
|
|
|||
|
๐๐ฝ๐ฒ๐ฟ๐ฎ๐๐ถ๐ผ๐ป ๐บ๐ผ๐ฑ๐ถ๐ณ๐ถ๐ฒ๐ฟ๐
|
|||
|
-# Compression level, with # being any value from 1 to 12.
|
|||
|
Higher values trade compression speed for compression
|
|||
|
ratio. Values above 12 are considered the same as 12. Recโ
|
|||
|
ommended values are 1 for fast compression (default), and
|
|||
|
9 for high compression. Speed/compression trade-off will
|
|||
|
vary depending on data to compress. Decompression speed
|
|||
|
remains fast at all settings.
|
|||
|
|
|||
|
-๐ ๐ฑ๐ถ๐ฐ๐๐ถ๐ผ๐ป๐ฎ๐ฟ๐๐๐ฎ๐บ๐ฒ
|
|||
|
Compress, decompress or benchmark using dictionary dฬฒiฬฒcฬฒtฬฒiฬฒoฬฒโฬฒ
|
|||
|
nฬฒaฬฒrฬฒyฬฒNฬฒaฬฒmฬฒeฬฒ. Compression and decompression must use the same
|
|||
|
dictionary to be compatible. Using a different dictionary
|
|||
|
during decompression will either abort due to decompresโ
|
|||
|
sion error, or generate a checksum error.
|
|||
|
|
|||
|
-๐ณ --[๐ป๐ผ-]๐ณ๐ผ๐ฟ๐ฐ๐ฒ
|
|||
|
This option has several effects:
|
|||
|
|
|||
|
If the target file already exists, overwrite it without
|
|||
|
prompting.
|
|||
|
|
|||
|
When used with --๐ฑ๐ฒ๐ฐ๐ผ๐บ๐ฝ๐ฟ๐ฒ๐๐ and ๐น๐๐ฐ cannot recognize the
|
|||
|
type of the source file, copy the source file as is to
|
|||
|
standard output. This allows ๐น๐๐ฐ๐ฐ๐ฎ๐ --๐ณ๐ผ๐ฟ๐ฐ๐ฒ to be used
|
|||
|
like ๐ฐ๐ฎ๐ (๐ญ) for files that have not been compressed with
|
|||
|
๐น๐๐ฐ.
|
|||
|
|
|||
|
-๐ฐ --๐๐๐ฑ๐ผ๐๐ --๐๐ผ-๐๐๐ฑ๐ผ๐๐
|
|||
|
Force write to standard output, even if it is the console.
|
|||
|
|
|||
|
-๐บ --๐บ๐๐น๐๐ถ๐ฝ๐น๐ฒ
|
|||
|
Multiple input files. Compressed file names will be
|
|||
|
appended a .๐น๐๐ฐ suffix. This mode also reduces notificaโ
|
|||
|
tion level. ๐น๐๐ฐ -๐บ has a behavior equivalent to ๐ด๐๐ถ๐ฝ -๐ธ
|
|||
|
(it preserves source files by default).
|
|||
|
|
|||
|
-๐ฟ operate recursively on directories. This mode also sets -๐บ
|
|||
|
(multiple input files).
|
|||
|
|
|||
|
-๐# Block size [4-7](default : 7)
|
|||
|
-๐๐ฐ= 64KB ; -๐๐ฑ= 256KB ; -๐๐ฒ= 1MB ; -๐๐ณ= 4MB
|
|||
|
|
|||
|
-๐๐ Block Dependency (improves compression ratio on small
|
|||
|
blocks)
|
|||
|
|
|||
|
--๐ณ๐ฎ๐๐[=#]
|
|||
|
switch to ultra-fast compression levels. If =# is not
|
|||
|
present, it defaults to ๐ญ. The higher the value, the
|
|||
|
faster the compression speed, at the cost of some compresโ
|
|||
|
sion ratio. This setting overwrites compression level if
|
|||
|
one was set previously. Similarly, if a compression level
|
|||
|
is set after --๐ณ๐ฎ๐๐, it overrides it.
|
|||
|
|
|||
|
--[๐ป๐ผ-]๐ณ๐ฟ๐ฎ๐บ๐ฒ-๐ฐ๐ฟ๐ฐ
|
|||
|
Select frame checksum (default:enabled)
|
|||
|
|
|||
|
--[๐ป๐ผ-]๐ฐ๐ผ๐ป๐๐ฒ๐ป๐-๐๐ถ๐๐ฒ
|
|||
|
Header includes original size (default:not present)
|
|||
|
Note : this option can only be activated when the original
|
|||
|
size can be determined, hence for a file. It wonยดt work
|
|||
|
with unknown source size, such as stdin or pipe.
|
|||
|
|
|||
|
--[๐ป๐ผ-]๐๐ฝ๐ฎ๐ฟ๐๐ฒ
|
|||
|
Sparse mode support (default:enabled on file, disabled on
|
|||
|
stdout)
|
|||
|
|
|||
|
-๐น Use Legacy format (typically for Linux Kernel compression)
|
|||
|
Note : -๐น is not compatible with -๐บ (--๐บ๐๐น๐๐ถ๐ฝ๐น๐ฒ) nor -๐ฟ
|
|||
|
|
|||
|
๐๐๐ต๐ฒ๐ฟ ๐ผ๐ฝ๐๐ถ๐ผ๐ป๐
|
|||
|
-๐ --๐๐ฒ๐ฟ๐ฏ๐ผ๐๐ฒ
|
|||
|
Verbose mode
|
|||
|
|
|||
|
-๐พ --๐พ๐๐ถ๐ฒ๐
|
|||
|
Suppress warnings and real-time statistics; specify twice
|
|||
|
to suppress errors too
|
|||
|
|
|||
|
-๐ต -๐ --๐ต๐ฒ๐น๐ฝ
|
|||
|
Display help/long help and exit
|
|||
|
|
|||
|
-๐ --๐๐ฒ๐ฟ๐๐ถ๐ผ๐ป
|
|||
|
Display Version number and exit
|
|||
|
|
|||
|
-๐ธ --๐ธ๐ฒ๐ฒ๐ฝ
|
|||
|
Preserve source files (default behavior)
|
|||
|
|
|||
|
--๐ฟ๐บ Delete source files on successful compression or decomโ
|
|||
|
pression
|
|||
|
|
|||
|
-- Treat all subsequent arguments as files
|
|||
|
|
|||
|
๐๐ฒ๐ป๐ฐ๐ต๐บ๐ฎ๐ฟ๐ธ ๐บ๐ผ๐ฑ๐ฒ
|
|||
|
-๐ฏ# Benchmark file(s), using # compression level
|
|||
|
|
|||
|
-๐ฒ# Benchmark multiple compression levels, from b# to e#
|
|||
|
(included)
|
|||
|
|
|||
|
-๐ถ# Minimum evaluation time in seconds [1-9] (default : 3)
|
|||
|
|
|||
|
๐๐๐๐
|
|||
|
Report bugs at: https://github.com/lz4/lz4/issues
|
|||
|
|
|||
|
๐๐๐๐๐๐
|
|||
|
Yann Collet
|
|||
|
|
|||
|
lz4 1.8.3 September 2018 LZ4(1)
|