আমি কীভাবে একটি আলাদা ডিরেক্টরিতে টর দিয়ে এক্সট্রাক্ট করব?


18

এটি কাজ করে না:

tar xf /tmp/foo.tar.gz foo/bar
tar: foo/bar: Not found in archive

এটি জায়গা থেকে উত্তোলন করা এবং ফাইলগুলি ওপরে সরিয়ে নেওয়ার বাইরে এটি কী করবে তা আমার কাছে স্পষ্ট নয়।

উত্তর:


28

থেকে man tar:

     -C directory
         In c and r mode, this changes the directory before adding the
         following files.  In x mode, change directories after opening the
         archive but before extracting entries from the archive.

অর্থাত্ tar xC /foo/bar -f /tmp/foo.tar.gzকাজটি করা উচিত। (ফ্রিবিএসডি-তে, তবে জিএনইউ টার মূলত এই ক্ষেত্রে একই, তার ম্যানুয়ালটিতে "ওয়ার্কিং ডিরেক্টরী পরিবর্তন করা হচ্ছে" দেখুন )


4
আমি এই আচরণটি টার -নন-জিএনইউ সংস্করণ দিয়ে পরীক্ষা করার পরামর্শ দিয়েছি । সোলারিস ম্যানুয়াল পৃষ্ঠায় কেবল যুক্ত এবং প্রতিস্থাপন অপারেশনগুলির সংমিশ্রণে এই বিকল্পটি উল্লেখ করা হয়েছে । কৌতূহলী হওয়ার সাথে সাথে আমি এটি একটি এক্সট্রাক্ট অপারেশন দিয়ে পরীক্ষা করেছি । সোলারিস ' আলকাতরা হয়নি না কোনো ত্রুটি বা সতর্কতা জারি এবং = বর্তমান ফোল্ডারে সংরক্ষণাগার নিষ্কাশিত: - /
ktf

1
টারের এআইএক্স সংস্করণেও কাজ করে না: 'ফাইল-সি সংরক্ষণাগারে উপস্থিত নেই' - '-সি' টারবল তৈরির জন্য কাজ করে।
ডার্কহার্ট

নতুন ডিরেক্টরি দিয়ে মূল ডিরেক্টরিটি বদলানো কি সম্ভব?
tofutim

9

আপনি যদি অন্য কোনও জায়গায় একটি সংরক্ষণাগার সংগ্রহ করতে চান তবে গন্তব্য ডিরেক্টরিতে সিডি করুন এবং এটি অনার্ট করুন:

 mkdir -p foo/bar
 cd foo/bar
 tar xzvf /tmp/foo.tar.gz

আপনি যে কমান্ডটি ব্যবহার করেছেন foo/barসেটি আর্কাইভটিতে ফাইলটি অনুসন্ধান করবে এবং এটি বের করবে।


9

এরকম:

(cd foo/bar ; tar xf /tmp/foo.tar.gz )

কাজ করতে হবে।

মূলত, যা হয় তা নতুন শেল (প্রথম বন্ধনী) তৈরি করছে, এই সাবশেলে, ডিরেক্টরিটি foo/barফাইলটিতে পরিবর্তন করে এবং তারপরে ফাইলটি আনটার করা হবে।

কাজ ঠিক আছে তা নিশ্চিত করতে আপনি ;একটি দ্বারা পরিবর্তন করতে পারেন ।&&cd


1
বাহ যে আপনি খুব সুন্দর যেমন একটি শেল শুরু করতে পারেন! আপনি এটা করতে পারেন আমার ধারণা ছিল না।
কিট সান্দে

0
tar -xf ancd.tar.gz my/name/file

আপনি ./fileটার ফাইল পরে ফাইলের নাম দিতে পারেন ।

tar -xf ancd.tar.gz ./my/name/file

যদি এটি কাজ করে মানে আপনি একটি টার তৈরি করেছেন ./। টার কন্টেন্ট দেখতে কম কমান্ড ব্যবহার করুন।

less ...tar.file  

0

আমি একই ধরণের সমস্যা বলে মনে করি এবং এটি সমাধান করেছি into

সমস্যাটি তৈরি ফাইলের চেয়ে ফাইল তৈরিতে ছিল।

দির এ-তে একটি ফাইল টান আপ করার এবং স্থানান্তর করার চেষ্টা করার সময়, আমি তারার কমান্ডের মূল ফাইলটির পথ সরবরাহ করেছি

tar -cvf MyFile.tar /foo/bar/dir/not/needed/path/*

সমাধান করতে আমি যা করতে পেরেছি তা হ'ল

cd /foo/bar/dir/not/needed/
tar -cvf /tmp/MyFile.tar path*

টার্বল স্থানান্তর এবং উত্তোলনের সময়, প্রয়োজনীয় সাবডিয়ার তৈরি করা হয়।

tar -xvf MyFile.tar

0

ডিরেক্টরিটি যেখানে আপনি নিষ্কাশন করতে চান তা পরিবর্তন করুন

cd /u02/restore

যদি /u01/backup.tar এর অধীন এক্সট্র্যাক্ট ফাইলের অবস্থান থাকে

নীচের হিসাবে নিষ্কাশন করুন:

cd /u02/restore
tar -xvf /u01/backup.tar

0

আদেশ:

tar -xzvf foo.tar.gz -C /home/user/bar/

/home/user/barপ্রক্রিয়াজাত ফাইলগুলি মুদ্রণের সময় ডিরেক্টরিতে ইনপুট ফাইল "foo.tar.gz" এক্সট্রাক্ট করবে ।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.