'টার' কমান্ড ব্যবহার করে অন্য ডিরেক্টরিতে ফাইলগুলি কীভাবে বের করবেন?

আমি ভেবেছিলাম tar archive.tar /users/mylocation আমি কিভাবে এটা করতে পারি?

বর্তমান থেকে ভিন্ন একটি ডিরেক্টরিতে একটি সংরক্ষণাগার নিষ্কাশন করতে, ব্যবহার করুন -C, বা --directory, টার বিকল্প, হিসাবে

tar -xf archive.tar -C /target/directory

নোট করুন যে কমান্ডটি চালানোর আগে লক্ষ্য ডিরেক্টরিটি উপস্থিত থাকতে হবে (এটি দ্বারা তৈরি করা যেতে পারে mkdir /target/directory).

পড়ুন ম্যানুয়াল পৃষ্ঠা (কমান্ড: man tar) অন্যান্য বিকল্পের জন্য .

মনে রাখবেন যে যদি আপনার টারবলে ইতিমধ্যে একটি ডিরেক্টরি নাম থাকে যা আপনি পরিবর্তন করতে চান তবে যুক্ত করুন --strip-components=1 অপশন:

tar xf archive.tar -C /target/directory --strip-components=1

পূর্ববর্তী উত্তর এবং মন্তব্য মিশ্রন:

এটি অনুপস্থিত থাকলে কেবল বিষয়বস্তু নিষ্কাশন এবং লক্ষ্য ডিরেক্টরি তৈরি করতে:

mkdir -p /target/directory && tar xf archive.tar -C /target/directory

জিপ মধ্যে রুট(প্রথম স্তর) ডিরেক্টরি নিষ্কাশন এবং অপসারণ

mkdir -p /target/directory && tar xf archive.tar -C /target/directory --strip-components=1

আরেকটি বিকল্প ব্যবহার করা হয় --এক-টপ লেভেল. এটি স্বয়ংক্রিয়ভাবে মূল ফাইলের নামের উপর ভিত্তি করে একটি ডিরেক্টরি তৈরি করবে

tar zxvf filename.tgz --one-top-level

উপরন্তু যদি আপনি চান, আপনি আপনার নিজের নির্দিষ্ট করতে পারেন এবং আলকাতরা স্বয়ংক্রিয়ভাবে এটি তৈরি করবে.

tar zxvf filename.tgz --one-top-level=new_directory

নিষ্কাশন সম্পর্কিত আমি যা আকর্ষণীয় পেয়েছি তা হ ' ল এটি নির্ভর করে আপনি কীভাবে সংরক্ষণাগারটি তৈরি করেছেন, এই উদাহরণটি দেখুন

cd /tmpmkdir foldertouch folder/file.txt

আপনি যখন করবেন tar -zcvf folder.tar.gz folder সবকিছু প্রত্যাশিত হিসাবে = যখন আপনি এখন এটি আনটার করবেন তখন এটি অপ্রচলিত হবে (ফোল্ডারটি তৈরি করা হবে, যদি আপনি এটি মুছে ফেলেন) /tmp/folder/.

কিন্তু, যখন আপনি টর তৈরি করবেন tar -zcvf tmp-folder.tar.gz /tmp/folder এবং আপনি এটি /টিএমপি ফোল্ডারে আনটার করুন, ফলাফল হবে /tmp/tmp/folder ডিরেক্টরি ! এই ক্ষেত্রে আপনাকে এটি আনটারে করতে হবে / - tar -xf tmp-folder.tar.gz -C /

@ উজওয়াল সিং: প্রকৃতপক্ষে, টার ম্যান পৃষ্ঠাটি তেমন সহায়ক নয়. এটি বর্ণনা করে “- সি দির “হিসাবে” ডিরেক্টরি পরিবর্তন করুন”. আরও খারাপ: "টার-সি মাইডির এক্সএফ সংরক্ষণাগার.আলকাতরা “কাজ করে না, যখন” আলকাতরা এক্সএফ আর্কাইভ.টার-সি মাইডির " করে.

এছাড়াও,- সি, --ডিরেক্টরি ডিআইআর\এন পরিবর্তন ডিরেক্টরি ডিআইআরবরং হিসাবে বর্ণনা করা উচিত`ডিআইআর আউটপুট ডিরেক্টরি পরিবর্তন করুন (ডিআইআর উপস্থিত না থাকলে ব্যর্থ হবে)’. ধন্যবাদ @ মিচ . আরো দেখুন @ ব্রায়ান_লারসনের উত্তর .

@ প্যাটমোরিন ন্যায্য হবে, একবার আপনি যে যুক্তি কলিং কনভেনশনগুলি ব্যবহার করছেন তা বুঝতে পারলে তা বোধগম্য হয় . আপনি ’ টার এক্সএফসি সংরক্ষণাগারও করতে পারেনটার মাইডির বা ’ টার-সি মাইডির-এক্সএফ সংরক্ষণাগার.টার’` এটা শুধুমাত্র প্রথাগত-শৈলী এবং গনুহ-শৈলী পতাকা যে কিছু ভঙ্গ মিশ, যেমন… সত্যিই ধরনের আশা করা হয়. পরম্পরাগত পতাকা প্রথম যুক্তি হিসেবে এক ছিটে হিসাবে সব পাস করা হয়. তারা প্রথম না হন, তাহলে আপনি তাদের কাজ আশা করতে পারে না. (আমি বলতে চাচ্ছি, হ্যাঁ, যাইহোক এটি ব্যাখ্যা করা সম্ভব - আমার বিন্দু যে উপরে এবং তার পরেও হবে, মান নয়)