Kök klasörü olmayan bir arşivi nasıl kaldırırsınız, ancak tam bir hiyerarşiyi içinde tutarsınız?


21

Eğer bir .tararşivim varsa ve çıkarttığımda, bana foobiraz daha fazla şey içeren tek bir klasör veriyor, şöyle :

foo/
  something.txt
  another.txt
  bar/
    something-else.txt

.tarKök klasörü "atlamak" komutunu değiştirebilmemin bir yolu var mı ( foobu durumda) ve bu klasörün tüm içeriğini doğrudan bu şekilde cwd'mize çıkartın:

something.txt
another.txt
bar/
  something-else.txt

Yanıtlar:


24

Kolay. Sadece --strip-components=1şu şekilde arşivde kullanın :

tar -xf archive.tar --strip-components=1

Ve resmi tarman sayfasında açıklandığı gibi :

--strip bileşenler = SAYI

NUMBER önde gelen bileşenlerini dosya çıkarımında dosya adlarından çıkar

Bir yol oluşuyorsa o olmanın mantığı ile foo/something.txto yolun ilk “bileşen” olacağını foo/bu yüzden --strip-components=1etkili bir düşeceği foo/yolundan foo/something.txt.

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.