PDLZIP(1)

NAME
pdlzip - reduces the size of files

SYNOPSIS
pdlzip [options] [files]

DESCRIPTION
Pdlzip is a permissively licensed implementation of the lzip data compressor, intended for those who can't distribute (or even use) GPL licensed Free Software. The name of pdlzip comes from 'public domain lzip'. Pdlzip is written in C.

Lzip is a lossless data compressor with a user interface similar to the one of gzip or bzip2. Lzip uses a simplified form of LZMA (Lempel-Ziv-Markov chain-Algorithm) designed to achieve complete interoperability between implementations. The maximum dictionary size is 512 MiB so that any lzip file can be decompressed on 32-bit machines. Lzip provides accurate and robust 3-factor integrity checking. 'lzip -0' compresses about as fast as gzip, while 'lzip -9' compresses most files more than bzip2. Decompression speed is intermediate between gzip and bzip2. Lzip provides better data recovery capabilities than gzip and bzip2. Lzip has been designed, written, and tested with great care to replace gzip and bzip2 as general-purpose compressed format for Unix-like systems.

Pdlzip is also able to decompress legacy lzma-alone (.lzma) files. Lzma-alone is a very bad format; it is essentially a raw LZMA stream. If you keep any lzma-alone files, it is advisable to recompress them to lzip format. Lziprecover can convert some lzma-alone files to lzip format without recompressing.

OPTIONS

-h, --help
    display this help and exit

-V, --version
    output version information and exit

-a, --trailing-error
    exit with error status if trailing data

-c, --stdout
    write to standard output, keep input files

-d, --decompress
    decompress, test compressed file integrity

-f, --force
    overwrite existing output files

-F, --recompress
    force re-compression of compressed files

-k, --keep
    keep (don't delete) input files

-m, --match-length=<bytes>
    set match length limit in bytes [36]

-o, --output=<file>
    write to <file>, keep input files

-q, --quiet
    suppress all messages

-s, --dictionary-size=<bytes>
    set dictionary size limit in bytes [8 MiB]

-t, --test
    test compressed file integrity

-v, --verbose
    be verbose (a 2nd -v gives more)

-0 .. -9
    set compression level [default 6]

--fast
    alias for -0

--best
    alias for -9

--loose-trailing
    allow trailing data seeming corrupt header

If no file names are given, or if a file is '-', pdlzip compresses or decompresses from standard input to standard output. Numbers may be followed by a multiplier: k = kB = 10^3 = 1000, Ki = KiB = 2^10 = 1024, M = 10^6, Mi = 2^20, G = 10^9, Gi = 2^30, etc... Dictionary sizes 12 to 27 are interpreted as powers of two, meaning 2^12 to 2^27 bytes.

The bidimensional parameter space of LZMA can't be mapped to a linear scale optimal for all files. If your files are large, very repetitive, etc, you may need to use the options --dictionary-size and --match-length directly to achieve optimal performance. For example, -9m64 usually compresses executables more (and faster) than -9.

To extract all the files from archive 'foo.tar.lz', use the commands 'tar -xf foo.tar.lz' or 'pdlzip -cd foo.tar.lz | tar -xf -'.

Exit status: 0 for a normal exit, 1 for environmental problems (file not found, invalid command-line options, I/O errors, etc), 2 to indicate a corrupt or invalid input file, 3 for an internal consistency error (e.g., bug) which caused pdlzip to panic.

Pdlzip includes public domain compression/decompression code from the LZMA SDK (Software Development Kit) written by Igor Pavlov.

REPORTING BUGS
Report bugs to lzip-bug@nongnu.org
Pdlzip home page: http://www.nongnu.org/lzip/pdlzip.html

COPYRIGHT
Copyright © 2025 Antonio Diaz Diaz. Public Domain 2009 Igor Pavlov. License 2-clause BSD.
This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.