Как bzip2 несколько файлов в один файл архива

1216
Cat Hariss

Я читаю автономный документ bzip2, и мне сказали, что я могу сжать несколько файлов в один архив с помощью bzip2 следующим образом:

bzip2 finalArchive.bz2 file1 file2 file2 

Но когда я пытаюсь это сделать, я получаю

Не могу открыть входной файл finalArchive.bz2: Нет такого файла или каталога.

и я получаю эти 3 файла по отдельности, сжатые как file1.gz2 file2.gz2 и file3.gz2, и я также знаю, что я мог бы объединить catих в один файл, но я хочу быть готовым сделать это с помощью одной команды.

Я могу сделать это, используя zip:

zip finalArchive.zip file1 file2 file3 

и я получаю ожидаемый finalArchive.zipфайл

0

3 ответа на вопрос

0
ivanivan

Оба bzip2и gzipработают на одном файле. Когда этот файл сжат, несжатая версия удаляется. При извлечении происходит обратное.

Чтобы поместить несколько файлов в bzip2архив, сначала используйте tarих, чтобы поместить в один файл, а затем сожмите этот файл. Или, поскольку tarон «осведомлен о zip», вы можете использовать этот -jфлаг, чтобы использовать сжатие bzip2 при создании архива tar всего за один шаг.

Итак, вы говорите, что такой команды не существует: `bzip2 finalArchive.bz2 file1 file2 file3`? Cat Hariss 6 лет назад 0
0
jjlin

Наиболее распространенные утилиты сжатия Unix ( gzip, bzip2, xz) все работают на отдельных файлов и стандартный способ сделать архив мульти-файл, чтобы объединить их с tar.

Вы получаете Can't open input file finalArchive.bz2: No such file or directory.ошибку, потому bzip2что думаете, что хотите сжать файл с именем finalArchive.bz2, который, конечно, не существует.

Чтобы выполнить то, что вы хотите, используйте эту команду:

tar -cjf finalArchive.tar.bz2 file1 file2 file3 

где jопция указывает tarиспользовать bzip2для сжатия tarархива. См. Соответствующий раздел в tarруководстве для получения дополнительной информации об этом.

Если вы используете очень старую версию tarбез поддержки сжатия, вам необходимо выполнить шаг сжатия вручную:

tar -cf - file1 file2 file3 | bzip2 -c > finalArchive.tar.bz2 
0
DRP

Удалите finalArchive.zip, просто введите список файлов. Пример скриншота ниже:

enter image description here

Похожие вопросы