এটি কাজ করে না:
tar xf /tmp/foo.tar.gz foo/bar
tar: foo/bar: Not found in archive
এটি জায়গা থেকে উত্তোলন করা এবং ফাইলগুলি ওপরে সরিয়ে নেওয়ার বাইরে এটি কী করবে তা আমার কাছে স্পষ্ট নয়।
এটি কাজ করে না:
tar xf /tmp/foo.tar.gz foo/bar
tar: foo/bar: Not found in archive
এটি জায়গা থেকে উত্তোলন করা এবং ফাইলগুলি ওপরে সরিয়ে নেওয়ার বাইরে এটি কী করবে তা আমার কাছে স্পষ্ট নয়।
উত্তর:
থেকে 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
কাজটি করা উচিত। (ফ্রিবিএসডি-তে, তবে জিএনইউ টার মূলত এই ক্ষেত্রে একই, তার ম্যানুয়ালটিতে "ওয়ার্কিং ডিরেক্টরী পরিবর্তন করা হচ্ছে" দেখুন )
এরকম:
(cd foo/bar ; tar xf /tmp/foo.tar.gz )
কাজ করতে হবে।
মূলত, যা হয় তা নতুন শেল (প্রথম বন্ধনী) তৈরি করছে, এই সাবশেলে, ডিরেক্টরিটি foo/bar
ফাইলটিতে পরিবর্তন করে এবং তারপরে ফাইলটি আনটার করা হবে।
কাজ ঠিক আছে তা নিশ্চিত করতে আপনি ;
একটি দ্বারা পরিবর্তন করতে পারেন ।&&
cd
tar -xf ancd.tar.gz my/name/file
আপনি ./file
টার ফাইল পরে ফাইলের নাম দিতে পারেন ।
tar -xf ancd.tar.gz ./my/name/file
যদি এটি কাজ করে মানে আপনি একটি টার তৈরি করেছেন ./
। টার কন্টেন্ট দেখতে কম কমান্ড ব্যবহার করুন।
less ...tar.file
আমি একই ধরণের সমস্যা বলে মনে করি এবং এটি সমাধান করেছি 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