2015-10-27 10 views
5

Aynı dosyayı katran dosyasına birden çok kez ekler ve sonra bu dosyayı ayıklarsanız, çıkarılan sürümün son eklenene eşdeğer olduğunu garanti edersiniz?Yinelenen giriş adlarıyla bir tar dosyasından ayıklama

~/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 

Olması mantıklı, ancak bu etkiyle ilgili herhangi bir belge bulamıyorum. Bildiğim kadarıyla bilen birinin, ya da birinin bunun doğru olmadığı bir durumu bilip bilmediğini merak ediyorum.

cevap

2

Some documentation for tar diyor bu:

Eğer arşivden dosya, dosya sisteminde sona erecek son saklanan yalnızca versiyonunu ayıklamak

. Çünkü '--extract' ('-x') sırayla bir arşivden dosyalarını ayıklar ve dosya sisteminde aynı adıyla dosyaların üzerine yazar, bir dosya adı bir kez daha arşivi arşivi dosya, daha önce çıkarılmış olan önceki sürümlerinin üzerine yazacaktır. Bir dosyanın daha sonraki eski sürümlerini arşivde saklamaktan kaçınmalısınız.

Anladığım kadarıyla -k seçeneğini kullanmadığınız sürece, -x hep arşivde saklanan son dosya ile üzerine yazar, olmasıdır.

Düzenleme: ayrıca bkz. GNU documenation for tar.

+0

Ayrıca, kılavuzun [tar Seçenekler] (https://www.gnu.org/software/tar/manual/tar.html#SEC42) bölümünde '--occurrence 'kısmına da bakınız. –

İlgili konular