Yanıtlar:
Eğer özellikle yoksa kolay yolu, gerek kullanımı -C
anlatmak için tar
baş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.gz
ve koyun file1
hiç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 file1
içindedir /tmp
, içinde bulunduğunuz /var/spool
ve arşiv oluşturmak istiyorum /var/www
gibi bir şey kullanabilirsiniz:
tar czf ../www/file1.tar.gz /tmp/file1
Temada milyonlarca varyasyon var, ancak bu başlamanıza neden olabilir. v
Ne yaptığını görmek istiyorsanız bayrak ekleyin tar
.
$PWD
olduğu hakkında hiçbir fikrimiz olmadığı için, örnekte mutlak bir yol kullanmak en güvenli göründü.
file1
katran arşivindeki yol olacaktır /tmp
. Beklediğiniz gibi olabilir veya olmayabilir.
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
-C
çok daha deyimsel (ve daha kısa).
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.
-C
(belli bir şekilde belgelendiği kadar garip değil). Ayrıntılar için bkz. Serverfault.com/q/416002/86283 .