PLZIP(1)

πŸ¦‹ PLZIP(1) β€” the girlies' guide to plzip πŸ¦‹

okay so bestie, welcome to the plzip manual page πŸ’– (that's it in the User Commands corner of the manual, section 1, iykyk). this is the ✨full✨ rundown and i'm gonna hold your hand through every single flag, no cap.


🌸 NAME 🌸

plzip β€” reduces the size of files πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

plzip [options] [files]

✨ DESCRIPTION ✨

Okay so, plzip? It's a massively parallel (read: multithreaded, all the cores are invited to the party πŸŽ‰) implementation of lzip. And it uses the compression library lzlib. Periodt.

Now, lzip itself: it's a lossless data compressor, and its user interface is giving very much gzip-or-bzip2 energy. lzip uses a simplified form of LZMA (that's Lempel-Ziv-Markov chain-Algorithm, bestie, say it with your chest) and it's designed so that every implementation can fully interoperate with every other one. 🌈

The maximum dictionary size is 512 MiB, so literally any lzip file can be decompressed on 32-bit machines. iconic. And lzip provides accurate and robust 3-factor integrity checking β€” she's thorough, she's checking everything, she's not about to let a corrupted bit sneak past her πŸ’….

Some numbers for the vibe check:

  • lzip -0 compresses about as fast as gzip πŸƒβ™€οΈ
  • 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 🫢

And honestly? lzip has been designed, written, and tested with great care to replace gzip and bzip2 as the general-purpose compressed format for Unix-like systems. main character energy fr fr πŸ‘‘

Now back to plzip: she can compress/decompress large files on multiprocessor machines way faster than lzip, at the cost of a slightly reduced compression ratio (we're talking 0.4 to 2 percent larger compressed files β€” a tiny little trade-off, she's worth it).

⚠️ but bestie listen: the number of usable threads is limited by file size. On files larger than a few GB, plzip can use hundreds of processors, but on files smaller than 1 MiB plzip is no faster than lzip β€” not even at compression level -0. πŸ’€

And the number of threads defaults to the number of processors. cute.


πŸ’– OPTIONS πŸ’–

  • -h β€” display usage help and exit
  • --help β€” display full help and exit
  • -V, --version β€” output version information and exit
  • -a, --trailing-error β€” exit with error status if trailing data
  • -B, --data-size=<bytes> β€” set size of input data blocks [2x8=16 MiB]
  • -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
  • -l, --list β€” print (un)compressed file sizes
  • -m, --match-length=<bytes> β€” set match length limit in bytes [36]
  • -n, --threads=<n> β€” set number of (de)compression threads [2]
  • -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]
  • --loose-trailing β€” allow trailing data seeming corrupt header
  • --in-slots=<n> β€” number of 1 MiB input packets buffered [4]
  • --out-slots=<n> β€” number of 1 MiB output packets buffered [64]
  • --check-lib β€” compare version of lzlib.h with liblz.{a,so}

If no file names are given, or if a file is '-', plzip compresses or decompresses from standard input to standard output. 🫢

Numbers may contain underscore separators between groups of digits, and may be followed by a SI or binary multiplier: 1_234_567kB, 4KiB. And dictionary sizes 12 to 29 are interpreted as powers of two, meaning 2^12 to 2^29 bytes.

The bidimensional parameter space of LZMA can't be mapped to a linear scale optimal for all files. So 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. she said fine, do it yourself then πŸ’…

And to extract all the files from archive foo.tar.lz, use the commands:

tar -xf foo.tar.lz
plzip -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 plzip to panic πŸ’€

πŸ› REPORTING BUGS πŸ›

Report bugs to lzip-bug@nongnu.org

Plzip home page: http://www.nongnu.org/lzip/plzip.html


Copyright Β© 2009 Laszlo Ersek.

Copyright Β© 2026 Antonio Diaz Diaz. License GPLv2+: GNU GPL version 2 or later <http://gnu.org/licenses/gpl.html>

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.

Using lzlib 1.16

Using LZ_API_VERSION = 1016


🧚 SEE ALSO 🧚

The full documentation for plzip is maintained as a Texinfo manual. If the info and plzip programs are properly installed at your site, the command

info plzip

should give you access to the complete manual. πŸ“–βœ¨


okay bestie that's the whole page, you're basically a plzip expert now, go forth and compress πŸ’– this was plzip 1.13, from March 2026, hanging out in PLZIP(1) β€” love u, bye πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from