7

Я хочу , чтобы сделать обычный zip так что мой файл CW3 становится CW3.zip Я попытался использовать некоторые примеры команд, найденных в Интернете, но они, похоже, не работают.

Я пробовал следующее, в результате чего ошибка ниже:

$ zip CW3
zip error: Nothing to do! (CW3.zip)

Я также попробовал:

compress -If CW3

Итог: как мне сжать файл в UNIX?

4 ответа4

7

Синтаксис почтового индекса

zip archivefile1 file1 file2 file3

для сжатия,

unzip archivefile1

для декомпрессии.

Так что в вашем случае для сжатия:

zip CW3.zip CW3

Смотрите здесь.

3

Если вы гибко относитесь к формату, вы можете сжать файл в 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
1

zip обычно не устанавливается по умолчанию. Это скорее инструмент архивирования, чем инструмент сжатия отдельного файла.

Следует установить gzip или compress . Это инструменты сжатия файлов, которые добавляют .gz или .Z расширение сжатого файла. Также может быть установлена программа bzip2 .

gzip и bzip2 обычно устанавливаются с набором программ для файлов cat , diff или grep . Это могут быть zcat , zdiff и zgrep или bzcat , bzdiff и bzgrep соответственно.

0

Есть много способов сделать

Первый способ: пример zip zip cw3.zip * .sh

Приведенная выше команда заархивирует все * .sh файлы в cw3.zip

Второй способ: если вы хотите сжать все файлы, которые также находятся в подкаталогах, zip -r пример zip cw3.zip * .sh

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .