The RAR archiver. Supports multi-volume archives that can be optionally self-extracting.

# To archive 1 or more files:
rar a <path/to/archive_name.rar> <path/to/file1> <path/to/file2> <path/to/file3>

# To archive a directory:
rar a <path/to/archive_name.rar> <path/to/directory>

# To split the archive into parts of equal size (50M):
rar a -v<50M> -R <path/to/archive_name.rar> <path/to/file_or_directory>

# To password protect the resulting archive:
rar a -p<password> <path/to/archive_name.rar> <path/to/file_or_directory>

# To encrypt file data and headers with password:
rar a -hp<password> <path/to/archive_name.rar> <path/to/file_or_directory>

# To use a specific compression level (0-5):
rar a -m<compression_level> <path/to/archive_name.rar> <path/to/file_or_directory>