एक निर्देशिका उपसर्ग आराम से जोड़ने के लिए, तुलना में एक अलग विभाजक का उपयोग /
में --transform
तर्क, जैसे +
या ,
एंडी जवाब में की तरह।
तो, एक सरल मामले के लिए, आपके पास वर्तमान निर्देशिका में फ़ाइलों का एक गुच्छा है, और आप एक तारकोल नहीं बनाना चाहते हैं ।
tar czf logs_nightly.tar.gz --tranform 's+^+logs_nightly/+' *.log
वाक्यविन्यास है s+search+replace+
, और इसके लिए ^
केवल फ़ाइल नाम की शुरुआत से मेल खाता है।
और अब, बस ओपी को जवाब देने के लिए - ठीक है, आप अपनी पूरी निर्देशिका को कॉपी करके इससे बच सकते हैं /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
?