Rahatça bir dizin öneki eklemek için farklı bir ayırıcı kullanmak /
içinde --transform
argü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
?