Если вы гибко относитесь к формату, вы можете сжать файл в Unix, сделав именно это :-)
compress some_file
недостаток: вам нужно указать каждый файл для сжатия.
Вы также можете использовать zip
, который не всегда доступен на платформах UNIX, или gzip. В то время как compress
и gzip
просто сжимают один файл, zip
- это инструмент, который обрабатывает упаковку одного или нескольких файлов или каталогов и сжатие всего за один раз. Традиционная философия UNIX состоит в том, чтобы иметь один инструмент для одной работы, чтобы его создателю было легче сделать инструмент превосходным в этой одной работе, объясняя, почему сжатие и gzip только сжимают, а не упаковывают. Для вас как для пользователя это означает, что вы будете использовать один инструмент для упаковки, а затем другой для сжатия пакета (или "архива"), если вы не используете zip, а UNIX собственный tar
, ленточный архиватор, для упаковки сначала:
tar -c -f archive_name.tar some_file some_dir
упакуют some_file
и some_dir
рекурсивно, в архиве archive_name.tar
Теперь сожмите это:
gzip archive_name.tar
даст вам сжатый файл archive_name.tar.gz
(и удалит исходный archive_name.tar
).
Но подождите, это еще не все: на самом деле так часто сжимают архивы, что tar может вызвать gzip одной командой:
tar -c -z -f archive_name.tar.gz some_file some_dir
даст вам archive_name.tar.gz
содержащий some_file
и some_dir
упакованные рекурсивно и прессуют.
Для получения дополнительной информации:
man 1 tar