Я создал файл tar в терминале. Скажем, я в настоящее время нахожусь в каталоге test7. Я создаю tar в своем текущем каталоге файла, который является в другом каталоге (test8).
tar -czvf example.tgz ../test8/a/b
вывод:
example.tgz
Теперь, я untar этот файл с помощью следующей команды:
tar -xzvf example.tgz
Я получаю результат и каталог, названный, поскольку test8 производится.
$) cd test8
$) ls
-> a
$) cd a
$) ls
-> b
Теперь я могу войти в каталог b и видеть мои файлы.
Я хочу, чтобы вывод был только каталогом a и в котором b будет присутствовать т.е. Вывод после того, чтобы несмолить это, я хочу, должен иметь эту иерархию: a/b
Но нет: test8/a/b
Кто-либо может выручить меня с этим? Я был через страницу справочника tar, но не мог получить много справки от него.
Можно использовать -C
опция эффективно измениться на целевой каталог
Напр. вместо
$ tar cvf example.tar ../Apple/Banana/Papaya
tar: Removing leading `../' from member names
../Apple/Banana/Papaya/
../Apple/Banana/Papaya/Papaya.md
использовать
$ tar cvf example.tar -C ../Apple Banana/Papaya
Banana/Papaya/
Banana/Papaya/Papaya.md
Кроме того, можно удалить ведущие каталоги после извлечения с помощью --strip-components
опция:
tar --strip-components=1 -xzvf example.tgz