Заставьте Tar + gzip игнорировать пути к каталогам - PullRequest
2 голосов
/ 24 мая 2010

Возможно ли при создании tar + gzip с помощью команды tar c ... иметь относительные пути, которые будут игнорироваться при расширении?

Например,

tar cvf test.tgz foo ../../files/bar

И затем расширение test.tgz с

tar xvf test.tgz

дает каталог, содержащий:

foo files/bar

Я хочу, чтобы каталог содержал файлы:

foo bar

Возможно ли это?

1 Ответ

4 голосов
/ 24 мая 2010

Если все пути начинаются с одного и того же начального списка каталогов, то вы можете использовать, например, tar cvf test.tgz -C ../.. other/dir. Помните, что оболочка не будет расширять символы подстановки в путевых именах "должным образом", потому что -C просит tar изменить каталог.

В противном случае единственный способ, который я когда-либо придумал, - создать временный каталог, заполненный соответствующими символическими ссылками, и использовать параметр -h для разыменования через символические ссылки. Конечно, это не сработает, если некоторые файлы, которые вы хотите сохранить, сами являются символическими ссылками.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...