Soru tar - Çıkarmada öncü dizin bileşenlerini kaldırın


Tam dir direkten değil, sadece hedef direkten nasıl çıkarsınız?

kompres

tar cf /var/www/site.tar /var/www_bak/site

Ayıkla

tar xf /var/www/site.tar -C /tmp

Bu üretecek:

/tmp/var/www/site

Dosya ayıklandığında tüm dir ağacının oluşturulmasını önlemek nasıl mümkün olabilir?

Ayıklamak istediğim şey:

/tmp/site

75
2017-11-11 14:58


Menşei




Cevaplar:


Neden kullanılmaz -C oluştururken seçenek:

$ tar cf /var/www/site.tar -C /var/www_bak/ site

28
2017-11-11 15:12



TMTOWTDI. Aynı işe yaramazdı. -C seçenek;) - MikeyB
Çıkış dizinini değiştirmeyecek şekilde, bazı öncü bileşenlerden yolu soymak istiyor. Doğru cevap için aşağıya bakın. - aymericbeaumet
Birisi arşivi hazırladığında kullanamıyoruz. - jww
Çünkü `` `_t = önek - $ (tarih +% Y% m% d); tar -cjf ".backups / $ _ t.tar.bz2" --transform = "s # ^ (\ ./)? # $ _ t / # x;" -- Dosyalar...; tar -df ".backups / $ _ t.tar.bz2" --strip bileşenleri = 1 `` ` - AnrDaemon


Sen kullanmak istiyorsun --strip-components=NUMBER seçeneği tar:

 --strip-components=NUMBER
       strip NUMBER leading components from file names on extraction

Emriniz şöyle olurdu:

tar xfz /var/www/site.gz --strip-components=2 -C /tmp

206
2017-11-11 15:04



Bu cevap daha iyidir çünkü katranın yaratılmasından önce düşünmek zorunda değilsiniz. Önceden oluşturulmuş bir tar dosyası ile kullanabilirsiniz. Teşekkürler @MikeyB! - Fabien Quatravaux
Bu bir çekicilik gibi çalıştı! Teşekkürler! - Marcello de Sales
Bu çalışmaları hem GNU katranı hem de BSD katranında bildirmekten memnuniyet duyuyorum. - Nathan Osman
ve çünkü sen tar yaratıcısı olamazsın ... (ya da başka bir araçla yapıyorsan ve bu araç aptalca şeyler yapıyorsa ...) - xenoterracide
hala kayıp olabilirsin --strip-components busybox gömülü uygulama kullanıyorsanız tarolsa da. - sylvainulg