Как преобразовать tar.bz2 в .bz2?

Как преобразовать tar.bz2 в .bz2?

У меня есть файл со сжатием tar.bz2, я хотел бы преобразовать его в .bz2. Есть ли команда, которая делает это за один раз?

Я попробовал сделать следующее, но безрезультатно!

 tar -xvjf US.tar.bz2
 US

 bzip2: Compressed file ends unexpectedly;
         perhaps it is corrupted?  *Possible* reason follows.
 bzip2: Inappropriate ioctl for device
         Input file = (stdin), output file = (stdout)

 It is possible that the compressed file(s) have become corrupted.
 You can use the -tvv option to test integrity of such files.

 You can use the `bzip2recover' program to attempt to recover
 data from undamaged sections of corrupted files.

 tar: Unexpected EOF in archive
 tar: Unexpected EOF in archive

ПС

Я также попробовал следующее:

bunzip2 -c < US.tar.bz2 | gzip -c > us.bz2

который дает:

bunzip2: Compressed file ends unexpectedly;
    perhaps it is corrupted?  *Possible* reason follows.
bunzip2: Inappropriate ioctl for device
    Input file = (stdin), output file = (stdout)

It is possible that the compressed file(s) have become corrupted.
You can use the -tvv option to test integrity of such files.

You can use the `bzip2recover' program to attempt to recover
data from undamaged sections of corrupted files.

решение1

tarпохож на zip-файл, который хранит кучу других файлов, но не сжимает их. bzip2сжимает файл, но только по одному за раз. .tar.bz2Файл, скорее всего, указывает на кучу файлов, которые были помещены в tarи впоследствии заархивированы. Вы не можете заархивировать их вместе, не заархивировав их сначала.

Ваша ошибка в том, что ваш .tar.bz2файл поврежден. Смотрите пример правильно работающего файла ниже.

$ ls
test_file.tar.bz2
$ tar xvjf test_file.tar.bz2 
test_file
$ ls
test_file  test_file.tar.bz2

РЕДАКТИРОВАТЬ


В приведенном выше примере в tar был только один файл. Если вы хотите заархивировать только эту папку:

$ bzip2 test_file
$ ls
test_file.bz2

Связанный контент