रूट फ़ोल्डर के बिना एक संग्रह को कैसे खोलना है, लेकिन इसके अंदर पूर्ण पदानुक्रम रखते हुए?


26

अगर मुझे एक .tarसंग्रह मिला है , और जब मैं इसे निकालता हूं, तो यह मुझे एक फ़ोल्डर देता है fooजिसमें कुछ और सामान होते हैं, जैसे:

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

क्या कोई तरीका है कि मैं .tarरूट फ़ोल्डर ( fooइस मामले में) को "स्किप" करने के लिए कमांड को संशोधित कर सकता हूं और बस उस फ़ोल्डर की सभी सामग्री को सीधे इस तरह से मेरे cwd में निकाल सकता हूं:

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

जवाबों:


30

आसान। बस --strip-components=1इस तरह संग्रह पर उपयोग करें:

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

और जैसा कि आधिकारिक tarमैन पेज में बताया गया है :

--strip घटकों = संख्या

निष्कर्षण पर फ़ाइल नामों से स्ट्रिप नंबर के प्रमुख घटक

इस तर्क के साथ कि यदि कोई पथ शामिल है, foo/something.txtतो उस पथ का पहला "घटक" foo/ऐसा --strip-components=1होगा जो प्रभावी रूप foo/से पथ से गिर जाएगा foo/something.txt

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.