मैं tar -xvf
कमांड का उपयोग कर रहा हूं और यह स्पष्ट रास्ता अपना रहा है। हालांकि, रास्ता भरा हुआ है।
उदाहरण:
tar -xvf 13.2.tar
यह /mnt
फ़ोल्डर का पथ ले रहा है । /
फ़ोल्डर भरा हुआ है।
मैं अंतर्निहित पथ के साथ फ़ाइल को कैसे टार कर सकता हूं?
मैं tar -xvf
कमांड का उपयोग कर रहा हूं और यह स्पष्ट रास्ता अपना रहा है। हालांकि, रास्ता भरा हुआ है।
उदाहरण:
tar -xvf 13.2.tar
यह /mnt
फ़ोल्डर का पथ ले रहा है । /
फ़ोल्डर भरा हुआ है।
मैं अंतर्निहित पथ के साथ फ़ाइल को कैसे टार कर सकता हूं?
जवाबों:
आमतौर पर संग्रह बनाते समय रूट भाग को बनाए रखने के लिए या विकल्प की tar
आवश्यकता होती है । यहां तक कि अगर आप इसे इस तरह से मजबूर करते हैं, तो भी अर्क अग्रणी को छोड़ देता है।--absolute-names
--absolute-paths
'/'
'/'
हालांकि, यदि आपके पास अग्रणी के साथ एक संग्रह है '/'
और आप टार निकालते समय इसे नहीं छोड़ते हैं, तो नूह के जवाब को इस रूप में काम करना चाहिए,
pax -r -s ',/mnt,/new/path,' -v -f 13.2.tar
मुझे लगता pax
है कि संपीड़ित फ़ाइलों को संभालना नहीं है, इसलिए आपको डिकम्प्रेस के बाद पाइप करना होगा pax
।
यह इस तरह से चलेगा (यह मानते हुए कि आपके पास एक gzipped संग्रह है)
gunzip -c 13.2.tar.gz | pax -r -s ',/mnt,/new/path,' -v
मुझे Google पर अभी यह विकी पृष्ठ मिला है ।
विहित (उर्फ स्पष्ट) और रिश्तेदार (जिसे आप शायद निहित कह रहे हैं) का उपयोग करने के बीच का अंतर यह है कि क्या आप /
शुरुआत में उपयोग करते हैं ।
उदाहरण के लिए, यदि वर्तमान वर्किंग डायरेक्टरी है /usr/home/bob
, तो निम्न कमांड्स का समान प्रभाव पड़ता है
tar -xvf foo.tar * टार -xvf ./foo.tar * टार -xvf ./foo.tar ./* tar -xvf /usr/home/bob/foo.tar * tar -xvf /usr/home/bob/foo.tar// tar -xvf /usr/home/bob/foo.tar / usr / होम / बॉब / *
लेकिन मुझे संदेह है कि यह वास्तव में आपका सवाल नहीं है। ऐसा लगता है जैसे आपको डिस्क उपयोग निर्धारित करने की आवश्यकता है, और एक निर्देशिका का पता लगाएं जो पूर्ण नहीं है। यह df
कमांड के साथ किया जा सकता है ।
df -k # space on disk in kilobytes
df -m # as above, but in meg
df -g # as above, but in gig
और आप यह mount
दिखाने के लिए उपयोग कर सकते हैं कि किस डिवाइस पर फ़ाइल सिस्टम माउंट किए गए हैं।
एक रिश्तेदार पथ के साथ एक टार फ़ाइल बनाने के लिए,
cd /parent/of/dir/to/tar
tar cvf subdir.tar subdir
वर्तमान कार्य निर्देशिका के अलावा किसी विशिष्ट निर्देशिका में टार को अनपैक करने के लिए, -C (अपरकेस सी) स्विच का उपयोग करें।
यदि आप किसी फ़ाइल को रूट के अलावा किसी अन्य बिंदु पर पूर्ण पथनाम के साथ खोलना चाहते हैं, तो आपको इसके साथ गड़बड़ करने की आवश्यकता हो सकती है chroot(1)
।