Rahatça bir dizin öneki eklemek için farklı bir ayırıcı kullanmak /içinde --transformargüman, örneğin +veya ,Andy'nin yanıtında gibi.
Böylece, daha basit bir durum için, geçerli dizinde bir sürü dosya var ve bir tarbomb oluşturmak istemiyorsunuz .
tar czf logs_nightly.tar.gz --tranform 's+^+logs_nightly/+' *.log
Sözdizimi s+search+replace+ve ^dosya adının başlangıcıyla eşleşir.
Ve şimdi, sadece OP'yi cevaplamak için - peki, /tmpçalıştırarak tüm dizininizi kopyalamaktan kaçınabilirsiniz :
mv $MYPATH $VERSION
tar cjf archive.tar.bz2 $VERSION
mv $VERSION $MYPATH
Alternatif:
ln $MYPATH $VERSION
tar cjf archive.tar.bz2 $VERSION
(sabit bağlantı, sembolik sorunlardan kaçınır)
Son ikisi eğlence değeri için dahil edildi, ben kendim toro2k'ın cevabına sadık kalacağım.
tar cjf archive.tar.bz2 $MYPATH?