2015-10-27 5 views
5

यदि आप एक ही फ़ाइल को टैर फ़ाइल में कई बार जोड़ते हैं, और फिर उस फ़ाइल को निकालें, तो क्या आप गारंटी देते हैं कि निकाला गया संस्करण आखिरी जोड़ा गया था?डुप्लिकेट एंट्री नामों के साथ एक टैर फ़ाइल से निकालने

~/tmp> echo hi > foo 
~/tmp> tar -cf bar.tar foo 
~/tmp> echo bye > foo 
~/tmp> tar -uf bar.tar foo 
~/tmp> tar -tf bar.tar 
foo 
foo 
~/tmp> rm foo 
~/tmp> tar -xf bar.tar foo 
~/tmp> cat foo 
bye 

यह समझ में आता है कि यह होगा, लेकिन मुझे उस प्रभाव पर कोई दस्तावेज नहीं मिल रहा है। मैं सोच रहा हूं कि अगर किसी को पता हो सकता है, या अगर कोई परिस्थिति जानता है जहां यह सच नहीं है?

उत्तर

2

Some documentation for tar कहना है कि यह:

आप संग्रह से एक फ़ाइल, फाइल सिस्टम में हवा जाएगा केवल संस्करण पिछले संग्रहीत निकालने है। चूंकि '--extract' ('-x') अनुक्रम में संग्रह से फ़ाइलों को निकालता है, और फ़ाइल सिस्टम में उसी नाम वाली फ़ाइलों को ओवरराइट करता है, यदि फ़ाइल नाम में एक से अधिक बार प्रकट होता है तो अंतिम संस्करण संग्रहित करें फ़ाइल पिछले संस्करणों को ओवरराइट कर देगी जिन्हें अभी निकाला गया है। आपको संग्रह में बाद में फ़ाइल के पुराने संस्करणों को संग्रहीत करने से बचना चाहिए।

मेरे समझ के साथ कि, जब तक आप -k विकल्प का उपयोग, -x हमेशा संग्रह में संग्रहीत पिछले फ़ाइल के साथ ऊपर लिख देगा है।

संपादित करें: GNU documenation for tar भी देखें।

+0

मैन्युअल के [tar विकल्प] (https://www.gnu.org/software/tar/manual/tar.html#SEC42) अनुभाग में '--occurrence' भी देखें। –

संबंधित मुद्दे