একটি সংরক্ষণাগার তৈরি করার সময় আমি স্নো চিতাবাঘের উপর কীভাবে টার-সি ব্যবহার করব?


4

ম্যান পেজ জানিয়েছে

-C directory
      In c and r mode, this changes the directory before adding the following files.

যাইহোক, আমার উল্লেখ করা ডিরেক্টরিটিতে টার পরিবর্তন হয় না, তবে পরিবর্তে প্রতিবেদন করে

tar: <folder name>: Cannot stat: No such file or directory

ডিরেক্টরিতে প্রতিটি ফোল্ডারের জন্য আমি টার কমান্ডটি চালিত করি।

আমাকে কি আসলেই কিছু করতে হবে

cd <folder> && tar ... && cd -

বা এই কাজ পেতে একটি উপায় আছে?


3
আপনি যে কমান্ড লাইনটি চালাচ্ছেন তা হ'ল ...?
Ignacio Vazquez-Abram

হ্যাঁ, আপনি যে কমান্ডলাইনটি কাজ করার চেষ্টা করছেন তা সরবরাহ করুন, কেবল ত্রুটি বার্তা নয়।
আকির

দুঃখিত, এটি ফিরে পেতে আমার এত দীর্ঘ সময় লেগেছে। কমান্ড লাইনটি খুব দর্শনীয় নয়:
এসএসসি

উত্তর:


2

আমি মনে করি আপনি -Cএই প্রশ্নটিতে অনুমান মতো বিকল্পটি ব্যবহার করতে পারবেন না ।

6.10.1 Changing the Working DirectoryGNU ম্যানুয়ালটিতে বিভাগটি এই বিকল্পটির tarবর্ণনা দেয় -C,

ফাইলের নামের তালিকার মাঝখানে ওয়ার্কিং ডিরেক্টরিটি পরিবর্তন করতে, কমান্ড লাইনে অথবা '--files-from' ('-T') ব্যবহার করে নির্দিষ্ট করা ফাইলটিতে, '--directory' ('-C ব্যবহার করুন) ')। এটি তালিকার সেই বিন্দুটির পরে কার্যকরী ডিরেক্টরিকে নির্দিষ্ট ডিরেক্টরিতে পরিবর্তন করবে।

‘--directory=directory’
‘-C directory’

একটি কমান্ড লাইনের মাঝখানে ওয়ার্কিং ডিরেক্টরি পরিবর্তন করে।

উদাহরণ স্বরূপ,

$ tar -c -f jams.tar grape prune -C food cherry

বর্তমান ডিরেক্টরি থেকে 'আঙ্গুর' এবং 'ছাঁটাই' ফাইলগুলি সংরক্ষণাগার 'জ্যামস.টার' এ সংরক্ষণ করবে, তারপরে 'খাদ্য' ডিরেক্টরি থেকে 'চেরি' ফাইলটি স্থাপন করবে। এই বিকল্পটি বিশেষত কার্যকর যখন আপনি একইভাবে সংরক্ষণাগারে সংরক্ষণ করতে চান এমন বহু বিস্তৃত ফাইল রয়েছে।

দ্রষ্টব্য যে 'চেরি' ফাইলটি সংরক্ষণাগারে 'চেরি' নাম অনুসারে রেকর্ড করা হয়েছে, 'খাদ্য / চেরি' নয়। সুতরাং, সংরক্ষণাগারটিতে তিনটি ফাইল থাকবে যা সমস্ত একই ডিরেক্টরি থেকে এসেছে বলে মনে হয়; যদি সংরক্ষণাগারটি সরল 'টার - এক্সট্র্যাক্ট' দিয়ে বের করা হয় তবে তিনটি ফাইলই বর্তমান ডিরেক্টরিতে লেখা থাকবে।

ম্যানুয়াল পৃষ্ঠায় আরও কয়েকটি উদাহরণ রয়েছে ...


আপডেট:
আমি সাধারণত বিভিন্ন পাথ থেকে ফাইলগুলিকে একক টার-বলের সাথে মিশ্রিত করি না।
তবে এটি যদি আপনার ইচ্ছা হয় তবে দুটি জিনিস করা যেতে পারে,

  1. -Tআপনি একসাথে প্যাক করতে চান ডিরেক্টরি / ফাইলগুলির তালিকা সহ বিকল্পটি ব্যবহার করুন ।
    এটি অতিরিক্ত পথ-উপসর্গগুলির সাথে একসাথে সমস্ত জিনিস সংগ্রহ করবে।
  2. -h'লিঙ্ক ইমেজ' ডিরেক্টরিতে বিকল্পটি ব্যবহার করুন
    (একটি নতুন এবং খালি ডিরেক্টরিতে আগ্রহী ডিরেক্টরিতে ফাইল এবং ডিরেক্টরিতে লিঙ্ক তৈরি করতে আপনি স্ক্রিপ্টযুক্ত একটি তৈরি করেন)
    এই জাতীয় ডিরেক্টরিতে -hব্যবহৃত বিকল্পটি একটি একক টার-বল তৈরি করবে যা যে ডিরেক্টরি অধীন ফাইল বিন্যাস উপস্থাপন করে।

আমি নিশ্চিত নই যে ওএস এক্স জিএনইউ টার ব্যবহার করে (যদি না এটি ওপি নির্দিষ্টভাবে ইনস্টল না করে)। আমি এটি ডিফল্টরূপে একটি BSD টার সরবরাহ আশা করি। (প্রদত্ত উদাহরণ সিনট্যাক্সটি পরীক্ষা করার জন্য ভাল))
কোয়াকোট quixote

আমি এটা পড়েছি। উদাহরণটি চেষ্টা করে দেখে কাজ করে। দেখে মনে হচ্ছে যে আমি যে ডিরেক্টরিতে গিয়েছি তার সমস্ত ফাইল যুক্ত করতে সি-এর সাথে ওয়াইল্ডকার্ড ব্যবহার করতে পারি না, যেমন-সি খাদ্য *
এসএসসি

2
না, প্রকৃতপক্ষে, *টি আপনার বর্তমান ডিরেক্টরি অনুসারে শেল দ্বারা প্রসারিত করা হবে, এটি তার কাছে হস্তান্তর করার আগে
হেন্নো

1

ব্যক্তিগতভাবে, আমি "পজিশনে" টার পেতে সাবশেলগুলি ব্যবহার পছন্দ করি । আমি -Cবিকল্পটি কখনই শিখিনি , সুতরাং এটি কীভাবে কাজ করে তা আমি নিশ্চিত নই।

ধরুন আমার সিডাব্লুডিটি / পাথ / এ , এবং আমি / পথ / বি / ফু এর একটি টারবাল তৈরি করতে / নেতৃত্বাধীন / পথ / বি ছাড়াই তৈরি করতে চাই :

user@host:/path/a$ ( cd /path/b && tar czf ~/tarball.tgz foo )
user@host:/path/a$

ফলস্বরূপ টারবাল ডিরেক্টরি foo / এবং এর সমস্ত বিষয়বস্তু ধারণ করে তবে অগ্রণী / পথ / বি নয় । Subshell executes সিডি , তারপর আলকাতরা যদি সিডি সফল হয়, তারপর একই CWD আমার মূল শেল ফিরে প্রস্থান করে।


আমাকে হয়ত এই সমাধানটি নিতে হবে, তবে কারণগুলির কারণে -C বিকল্পটি পেতে আমি পছন্দ করব।
এসএসসি

1

টার-সি ওয়াইল্ডকার্ডের সাথে কাজ করে না কারণ হেন্নো একটি মন্তব্যে বলেছিলেন:

* এটি আপনার বর্তমান ডিরেক্টরিতে টারেলের হাতে দেওয়ার আগে শেল দ্বারা প্রসারিত করা হবে

সুতরাং আপনি যদি কিছু করার চেষ্টা করছেন:

tar -cvzf myfile.tgz -C somepath *

এটি কাজ করবে না। আমি যতদূর বলতে পারি কোয়াকোটের পরামর্শ অনুসারে আপনাকে প্রথমে ডিরেক্টরি পরিবর্তন করতে হবে।

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