Farklı bir dizinde tar arşivi nasıl oluşturulur?


38

Geçerli dizin yerine farklı bir dizinde bir tar arşivi oluşturmak istiyorum.

Bu komutu denedim:

tar czf file.tar.gz file1 -C /var/www/

ancak mevcut dizinde arşivi oluşturur. Neden?


3
Anlamını yanlış anlamış gibi görünüyorsunuz -C(belli bir şekilde belgelendiği kadar garip değil). Ayrıntılar için bkz. Serverfault.com/q/416002/86283 .
— NN

Yanıtlar:


47

Eğer özellikle yoksa kolay yolu, gerek kullanımı -Canlatmak için tarbaşka dizine değişikliği, sadece komut satırında arşivine tam yolunu belirtmektir. Ardından, arşiv içinde istediğiniz dizin yapısını oluşturmak için hangi dizinde olursanız olun.

Aşağıdaki arşivini oluşturacak /var/www/file.tar.gzve koyun file1hiçbir in-arşiv yol bilgileri ile, içinde (yani olur her neyse) geçerli dizinden.

tar czf /var/www/file.tar.gz file1

Elbette (arşive, kurucu dosyalara veya her ikisine) giden yol da göreceli olabilir. Eğer file1içindedir /tmp, içinde bulunduğunuz /var/spoolve arşiv oluşturmak istiyorum /var/wwwgibi bir şey kullanabilirsiniz:

tar czf ../www/file1.tar.gz /tmp/file1

Temada milyonlarca varyasyon var, ancak bu başlamanıza neden olabilir. vNe yaptığını görmek istiyorsanız bayrak ekleyin tar.


1
Göreceli bir yol da kullanabilirsiniz.
— NN

@NN Kesinlikle, ancak ne $PWDolduğu hakkında hiçbir fikrimiz olmadığı için, örnekte mutlak bir yol kullanmak en güvenli göründü.
— CVn

Gerçekten de, sorunu çözmek için uygun bir seçenek olduğunu göstermek için bunu dahil etmenin bir anlamı olsa da.
— NN

Bu şekilde, file1katran arşivindeki yol olacaktır /tmp. Beklediğiniz gibi olabilir veya olmayabilir.
— mouviciel

8

Sıkıştırılmış verileri bir akışa (-) dönüştürürüm ve nerede seçersem seçer (>) kolayca yeniden adlandırır ve konumlandırırım (Ayrıca, her zaman göreceli yolu tar.

tar -cvf - ./dir-to-compress/* > /location-of-new-file/filename.tar

Bu bireysel dosyalara yardımcı olmuyor ve -Cçok daha deyimsel (ve daha kısa).
— Mahmoud Al-Qudsi,

3

Bence, olması gereken:
tar czf file.tar.gz -C /var/www/ file1

Bu benim için çalışıyor. Dizin değiştirmeyi ve ardından dosyayı seçmeyi söyler.


-2

Mükemmel çalıştı

cd /home; tar -czvf - /var/log/* > varlog.tar.gz
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.