С 7zip вы должны выполнить команду дважды: один раз для распаковки и еще раз для распаковки. Формат файла tar - это всего лишь «пачка» всего, что застряло от начала до конца. Затем весь tar-файл сжимается с использованием различных алгоритмов сжатия, в вашем примере bzip. В основном полученный файл имеет два слоя. Когда вы «извлекаете» слой bzip, вы получаете файл tar, затем, когда вы извлекаете файл tar, вы получаете кучу отдельных файлов.
7zip не обрабатывает несколько слоев одновременно, хотя может обрабатывать оба слоя:
7z x foo.tar.bz2
7z x foo.tar
На самом деле стандартные инструменты Unix работают так же:
bunzip2 foo.tar.bz2
tar xf foo.tar
Однако команда unix tar
имеет удобные функции, которые вызывают вторичные этапы сжатия и распаковки с использованием другой программы до / после обработки части tar. В основном -j
аргумент вызывает bzip2
/ bunzip2
, вы просто не видите второй шаг. Аналогично -z
позвоню gzip
/ gunzip
и т. Д.