4

Я всегда извлекаю файлы такого типа на маршруте, где я хочу эти файлы:

# tar -xvf file.tar.bz2 

Но он всегда создает folder именем "file" (для этого примера) и хранит все внутри нее.

У меня никогда не было проблем с этим, но теперь мне нужно избегать этой папки и просто извлекать все на маршруте, где я хочу, чтобы все было.

Я читал man tar (manual) .. но я все еще не могу найти конкретный атрибут, который делает это.

Как я могу это сделать? (All in terminal)

1 ответ1

4

tar не создает папку с именем file ; файл папки хранится в архиве. Это потому, что tarball создавался командой

tar cf foo.tar.bz2 foo

скорее, чем

cd foo
tar cf foo.tar.bz2 .

Согласно man tar, вы можете использовать переключатель --strip-components (--strip-path в более старых версиях), чтобы переопределить это.

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

tar xvf file.tar.bz2 --strip-components 1

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