Прежде всего, некоторые команды используются для создания архивов - т.е. файл, содержащий другие файлы, часто со структурой каталогов, владельцем, разрешениями и датами. Наиболее распространенными из них являются ar
(используется при создании библиотек), tar
(TapeARchive) и cpio
(CoPyInOut).
Тогда у нас есть несколько команд, которые используются для сжатия файлов - т.е. чтобы файл занимал меньше места на диске. Сжатие также может быть сделано для архивов. Наиболее распространенными программами сжатия являются gzip
, bzip2
, xz
, 7zip
..., а также две старые программы, compress
и compact
.
Это в значительной степени соответствует «философии Unix», где каждая команда делает только одну вещь (но делает это хорошо)... здесь, либо создает архивы, либо сжимает файл, но не то и другое одновременно. Конечно, одна команда может вызывать другую, так как tar
может вызывать gzip
или bzip2
.
Для Windows более распространено создание программ, которые сочетают в себе связанные задачи - или, скорее, для задач, которые кажутся пользователю похожими ... Как создание и архивирование и сжатие - хотя это очень разные задачи. Следовательно, у нас также есть некоторые инструменты в Unix/Linux для обработки, а иногда и создания таких архивов. zip
, rar
и arj
являются примерами таких архивов, которые более или менее поддерживаются в Linux. Обычно они одновременно сжимают и архивируют (например, zip
сначала сжимает файлы, а затем создает архив сжатых файлов).
rar
и zip
do AFAIK знают, что поддерживают своего рода "шифрование" и пароль, но они довольно плохие. Вам, вероятно, было бы лучше (а также более правильно в Unix) использовать отдельный инструмент для шифрования и / или защиты паролем файлов - возможно, gnupg
или truecrypt
?
По крайней мере zip
, rar
и tar
поддерживают создание архивов из нескольких частей. Однако другой приемлемый "Unix-способ" сделать это; было бы использовать split
либо в несжатом архиве (tar или cpio) и сжать каждую часть отдельно, либо в сжатом (например, с помощью bzip2) файле - и позже использовать cat
для объединения частей. Разделение сжатого архива, возможно, будет лучше, так как после повторного слияния программа сжатия (например, bzip2) обнаружит любые ошибки. Хотя происходит сжатие каждой части по отдельности, можно было бы восстановить другие части (с большей частью их файлов), если одна часть была повреждена.