Home | History | Annotate | Download | only in programs
      1 Command Line Interface for LZ4 library
      2 ============================================
      3 
      4 Command Line Interface (CLI) can be created using the `make` command without any additional parameters.
      5 There are also multiple targets that create different variations of CLI:
      6 - `lz4` : default CLI, with a command line syntax close to gzip
      7 - `lz4c` : Same as `lz4` with additional support legacy lz4 commands (incompatible with gzip)
      8 - `lz4c32` : Same as `lz4c`, but forced to compile in 32-bits mode
      9 
     10 
     11 #### Aggregation of parameters
     12 CLI supports aggregation of parameters i.e. `-b1`, `-e18`, and `-i1` can be joined into `-b1e18i1`.
     13 
     14 
     15 
     16 #### Benchmark in Command Line Interface
     17 CLI includes in-memory compression benchmark module for lz4.
     18 The benchmark is conducted using a given filename.
     19 The file is read into memory.
     20 It makes benchmark more precise as it eliminates I/O overhead.
     21 
     22 The benchmark measures ratio, compressed size, compression and decompression speed.
     23 One can select compression levels starting from `-b` and ending with `-e`.
     24 The `-i` parameter selects a number of seconds used for each of tested levels.
     25 
     26 
     27 
     28 #### Usage of Command Line Interface
     29 The full list of commands can be obtained with `-h` or `-H` parameter:
     30 ```
     31 Usage :
     32       lz4 [arg] [input] [output]
     33 
     34 input   : a filename
     35           with no FILE, or when FILE is - or stdin, read standard input
     36 Arguments :
     37  -1     : Fast compression (default)
     38  -9     : High compression
     39  -d     : decompression (default for .lz4 extension)
     40  -z     : force compression
     41  -f     : overwrite output without prompting
     42 --rm    : remove source file(s) after successful de/compression
     43  -h/-H  : display help/long help and exit
     44 
     45 Advanced arguments :
     46  -V     : display Version number and exit
     47  -v     : verbose mode
     48  -q     : suppress warnings; specify twice to suppress errors too
     49  -c     : force write to standard output, even if it is the console
     50  -t     : test compressed file integrity
     51  -m     : multiple input files (implies automatic output filenames)
     52  -r     : operate recursively on directories (sets also -m)
     53  -l     : compress using Legacy format (Linux kernel compression)
     54  -B#    : Block size [4-7] (default : 7)
     55  -BD    : Block dependency (improve compression ratio)
     56 --no-frame-crc : disable stream checksum (default:enabled)
     57 --content-size : compressed frame includes original size (default:not present)
     58 --[no-]sparse  : sparse mode (default:enabled on file, disabled on stdout)
     59 Benchmark arguments :
     60  -b#    : benchmark file(s), using # compression level (default : 1)
     61  -e#    : test all compression levels from -bX to # (default : 1)
     62  -i#    : minimum evaluation time in seconds (default : 3s)
     63  -B#    : cut file into independent blocks of size # bytes [32+]
     64                       or predefined block size [4-7] (default: 7)
     65 ```
     66 
     67 #### License
     68 
     69 All files in this directory are licensed under GPL-v2.
     70 See [COPYING](COPYING) for details.
     71 The text of the license is also included at the top of each source file.
     72