Я пытаюсь разархивировать очень большой каталог. Вот что работает для распаковки всего этого:
$ sudo tar -xjf itunes20140618.tbz --verbose
x itunes20140618/
x itunes20140618/genre_artist
x itunes20140618/imix_type
...etc...
Однако, если я попытаюсь разархивировать только один файл, это будет сделано правильно, но затем команда зависнет на неопределенный срок. Кроме того, она не выводит никаких выходных данных при использовании оператора --verbose. Вот пример:
$ sudo tar -xjf itunes20140618.tbz itunes20140618/imix --verbose
[ nothing prints...it just hangs. But it does un-tar that single file ]
решение1
Не указывайте параметры после аргументов, не являющихся параметрами, особенно с помощью tar
which, которая является нестандартной командой с несколькими реализациями, поддерживающими несколько старых и новых способов анализа параметров, действий и аргументов.
В:
tar -xjf itunes20140618.tbz itunes20140618/imix --verbose
itunes20140618.tbz
будет аргументом для -f
опции, itunes20140618/imix
дополнительный неопциональный аргумент, взятый как имя члена для извлечения из архива. --verbose
Будет ли рассматриваться как дополнительный аргумент (имя другого члена для извлечения) или как опция, будет зависеть от реализации и версии tar
и даже, возможно, от того, как он был скомпилирован или от среды выполнения.
В вашем случае вполне может быть, что вы tar
один из тех (большинства), кто не считает это --verbose
глобальным вариантом.
Здесь используйте:
tar -xjf itunes20140618.tbz --verbose itunes20140618/imix
Или более портативный:
bunzip2 < itunes20140618.tbz | tar xvf - itunes20140618/imix
Или замените tar
на стандартный (хотя и менее переносимый) pax
:
bunzip2 < itunes20140618.tbz | pax -vr itunes20140618/imix
решение2
Вы используете, bzip2
что не являетсяархиватор файловпоэтому tar
по сути действует как file archiver
и bzip2
сжимает их.
Например, архивация набора файлов с помощью tar и последующее сжатие полученного архивного файла с помощью gzip приводит к созданию файла с расширением .tar.gz.
Однако этот подход имеет один недостаток, как указано в статье в Википедии:
Извлечение или изменение одного файла — сложная задача. Извлечение одного файла требует распаковки всего архива, что может занять много времени и места.
Поэтому я предлагаю использовать только .tar
или , .zip
или .rar
, если вы часто извлекаете один файл.