Compressing directories in linux is easy.
By default, Most Linux guis give users a few options to choose from. .zip, .tar, and .7z to name a few.
But compressing a ton of data can take a fair bit of time due to the single core nature of these compression solutions. This is where libs like pigz and libz come in handy. Here is my cheat sheet for multi-core compression
To Zip Multiple Files Recursively on All CPU Cores
tar -I pigz -cf archive.tgz archive
Split large archives into smaller chunks
split -b -d 50G archive.tgz "archive.tgz.part"
Combine multiple files into one with cat
cat archive.tgz.* > archive.tgz
Resources: Linux split command help and examples