Для удобного добавления префикса каталога используйте другой разделитель, чем /
в --transform
аргументе, например +
или ,
как в ответе Энди.
Итак, для более простого случая у вас есть куча файлов в текущем каталоге, и вы не хотите создавать tarbomb .
tar czf logs_nightly.tar.gz --tranform 's+^+logs_nightly/+' *.log
Синтаксис s+search+replace+
, и для ^
него просто совпадает с началом имени файла.
А теперь, просто чтобы ответить на OP - вы можете избежать копирования всего каталога /tmp
, выполнив:
mv $MYPATH $VERSION
tar cjf archive.tar.bz2 $VERSION
mv $VERSION $MYPATH
В качестве альтернативы:
ln $MYPATH $VERSION
tar cjf archive.tar.bz2 $VERSION
(жесткая ссылка, избегает проблем с символическими ссылками)
Последние два были включены для развлекательной ценности, я сам придерживался ответа toro2k.
tar cjf archive.tar.bz2 $MYPATH
?