Unix tar komutunu örtük bir dosyayoluyla nasıl kullanabilirim?


9

Ben tar -xvfkomut kullanıyorum ve açık yolu alıyor. Ancak, yol dolu.
Misal:

tar -xvf 13.2.tar

/mntKlasörün yolunu alıyor . /Klasör doludur.

Dosyayı örtülü yolla nasıl tarlayabilirim?


Mevcut soruyu sormanın en karmaşık kristal topunun bile biraz puslu görünmesini sağladığından, tam olarak neler olup bittiğini açıkça belirtmelisiniz.

Yanıtlar:


2

Genellikle tar, bir arşiv oluştururken kök kısmını korumak için --absolute-namesveya --absolute-pathsseçeneğine ihtiyaç duyar '/'. Bu şekilde zorlansanız bile, ekstrakt da öncüyü atlar '/'.


Ancak, önde gelen bir arşiviniz varsa '/'ve çıkartırken katranı atlamıyorsanız, NoahD'nin cevabı bu formda çalışmalıdır,

pax -r -s ',/mnt,/new/path,' -v -f 13.2.tar

paxSıkıştırılmış dosyaları işlemediğini düşünüyorum , bu yüzden sıkıştırıldıktan sonra sıkıştırmanız gerekir pax.
Bu böyle gider (gziplenmiş bir arşiviniz olduğu varsayılarak)

gunzip -c 13.2.tar.gz | pax -r -s ',/mnt,/new/path,' -v

Bu wiki sayfasını şimdi Google'da buldum .


2

Kurallı (aka açık) ve göreli (muhtemelen örtük olarak adlandırdığınız şey) kullanma /arasındaki fark, başında a kullanıp kullanmadığınızdır .

Örneğin, geçerli çalışma dizini ise /usr/home/bob, aşağıdaki komutlar tam olarak aynı etkiye sahiptir

tar -xvf foo.tar *
tar -xvf ./foo.tar *
tar -xvf ./foo.tar ./*
tar -xvf /usr/home/bob/foo.tar *
katran -xvf /usr/home/bob/foo.tar ./*
tar -xvf /usr/home/bob/foo.tar / usr / home / bob / *

Ama bunun gerçekten senin sorunun olmadığını sanıyorum. Disk kullanımını belirlemeniz ve dolu olmayan bir dizini bulmanız gerekiyor gibi görünüyor. Bu dfkomutla yapılabilir .

df -k # space on disk in kilobytes
df -m # as above, but in meg
df -g # as above, but in gig

Ayrıca mounthangi dosya sistemlerine hangi cihazlara monte edildiğini göstermek için kullanabilirsiniz .


0

Göreli bir yola sahip bir tar dosyası oluşturmak için,

cd /parent/of/dir/to/tar
tar cvf subdir.tar subdir

Bir tar'ı geçerli çalışma dizini dışındaki belirli bir dizine açmak için -C (büyük harf C) anahtarını kullanın.

İçinde mutlak yol adları olan bir dosyayı kökten başka bir noktaya açmak istiyorsanız, uğraşmanız gerekebilir chroot(1).


0

Pax'ın hile yapacağına inanıyorum

pax -r -s, / mnt, / gooddir, -f 13.2.tar

Yeni bir kök dizinde değişiklik yapmanıza izin vermelidir.

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.