tar -xvf * .tar.gz bana çıkarma konusunda tuhaf bir isim verir


-1

"Elasticsearch-servicewrapper.tar.gz" adlı bir dosyam var. Koşmaya çalıştığımda:

tar -xvf elasticsearch-servicewrapper.tar.gz

Çıkarılan klasörün "elasticsearch-elasticsearch-servicewrapper" olarak adlandırılmasını bekliyorum. Fakat bunun yerine, "elasticsearch-elasticsearch-servicewrapper-d47d048" aldım. Hedef klasör adını zorlayabilmemin bir yolu var mı?

Bu 12.04 Ubuntu'da.


tararşivde bulunan dosya adları ile dosyaları kendi içinde bulduğu dizine çıkarır. Arşivdeki adlar "elasticsearch-elasticsearch-servicewrapper-d47d048 /" ile başlıyorsa, tar'in bu dizini oluşturmasını kolayca önleyemezsiniz. Belki de, açmadan önce istediğiniz yere işaretleyin.
Henning Makholm

... hmm, aslında GNU tar --strip-components 1ile her arşivlenmiş dosya adının ilk yol adı öğesini yoksaymak için kullanabilirsiniz.
Henning Makholm

Yanıtlar:


5

Bu tar'a bağlı değildir - dizin sadece zaten tarball'ın içindeyken oluşturulur, bu yüzden tarball'ın içinde saklanmış olan adı vardır.

Önde gelen yol işaretlerini geçici bir çözüm olarak almak için --strip-components kullanarak kendi hedef klasörünüzü oluşturabilir ve içine çıkarabilirsiniz.


0

Neden sadece onu yeniden adlandırmıyorsun mv elasticsearch-elasticsearch-servicewrapper-d47d048 elasticsearch-elasticsearch-servicewrapper?

Sen de deneyebilirsin tar -xvf elasticsearch-servicewrapper.tar.gz -C /tmp/elasticsearch-servicewrapper.


bu kukla kodun bir parçası, bu yüzden şöyle bir şey yapmaya çalışıyorum: 11 / bin

Anlıyorum. Cevabımı güncelledim. Bakalım işe yarayacak mı.
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.