Compressors & Stuff

I have no idea what I’m talking about. I don’t know how any of this actually works.

Algorithms

LZ77
back-references to the sliding window of uncompressed data
LZ78
something something LZ77 but with a dictionary
LZW
something something LZ78 but with … idk
Huffman
fun-looking tree with prefix codes
adaptive Huffman
Huffman, but without having weighted the input first
Arithmetic coding
a fraction in a base
DEFLATE
combination of LZ77 and Huffman
LZ4
yet another LZ77 descendant
LZMA
still more LZ77
LZO
LZ overload
Zstandard
fast
Brotli
Web

Software

pack
.z. Once POSIX, now obsolete. Huffman.
compact
.C. Obsolete. Huffman.
compress
.Z. POSIX. LZW. The format is not standardized.
gzip
.gz. Something like a de-facto standard. DEFLATE.
bzip2
.bz2.
lz4
.lz4. LZ4.
xz
.lzma, .xz. LZMA.
lzip
.lz. LZMA. Its maintainer doesn’t like xz.
lzop
.lzo. LZO.
zstd
.zst. Zstandard.
brotli
.br. Brotli. Hardly ever used for files on disk.

Relevant RFCs and I-Ds

Also, Archivers

not directly related

tar
ubiquitous; used to be POSIX
pax
not ubiquitous; is POSIX
cpio
widespread, yet little used

Standards

(This is separate from Relevant RFCs and I-Ds because there doesn’t seem to be any Internet Standard for any of this.)

TODO: Fill this section. Find all the XCU, POSIX.2 (since Issue 6 .1), and SVIDs, as well as the 1984 /usr/group standard and the 1983 Uniforum Draft Standard. Check the availability of compress, pack, perhaps compact, cpio, tar, and pax. Also check where the programs appeared originally. Make it pleasant to look at, as a table, a list, a graphic, or whatever.

UtilityStandard
compressPOSIX.2-1992, Issue 7, Issue 8
packPOSIX.2-1992
cpioPOSIX.2-1992
paxPOSIX.2-1992, Issue 7, Issue 8
tarPOSIX.2-1992

Conclusio

pax -w -x ustar dir | compress >dir.tar.Z