Создать архив tar текущего каталога без предшествующего периода

Когда я делаю следующее:

tar czvf ../myarchive.tar.gz ./ 

Я получаю одну (раздражающую) корневую папку в моем архиве tar:

раздражающий

Как удалить этот ужасный период при создании архива?

Вы этого не сделаете.

 name=${PWD##*/} cd .. tar czf "$name.tar.gz" "$name" 

(Примечание: это не работает, если ваша оболочка имеет текущее отслеживание ссылок на символические ссылки в каталоге, и к текущему каталогу обращается через символическую ссылку.)

Да, это не то, что вы просили, но это то, что вы должны делать. Архивы, которые расширяют большое количество файлов в текущем каталоге, раздражают: он ставит бремя создания целевого каталога для файла на каждого человека, который распаковывает архив, и если они случайно распаковывают их в непустой каталог, трудно очистить. В большинстве случаев архив должен создать единый файл верхнего уровня, имя которого является базовым именем архива.

Точка появляется, потому что tar создает структуру пути так, как вы указываете в аргументах. Так что вы дали . как источник, архив также создается в той же структуре.

Вы можете попробовать это и проверить:

 tar -czvf ../myarchive.tar.gz * 

Обновление ответа с помощью комментария от n.st

tar –xform s: './' :: -czvf ../myarchive.tar.gz ./