আমাকে জিজেপ কমান্ডটি দিয়ে একটি সংরক্ষণাগার তৈরি করতে হবে (ট্যারি নয় - এটি প্রয়োজনীয়) এবং সংরক্ষণাগারটিতে অন্য ডিরেক্টরি থেকে ফাইল থাকতে হবে - উদাহরণস্বরূপ, / ইত্যাদি। কমান্ড ব্যবহার করার চেষ্টা করেছি
gzip myetc.gz /etc
তবে এটি কার্যকর হয়নি।
আমাকে জিজেপ কমান্ডটি দিয়ে একটি সংরক্ষণাগার তৈরি করতে হবে (ট্যারি নয় - এটি প্রয়োজনীয়) এবং সংরক্ষণাগারটিতে অন্য ডিরেক্টরি থেকে ফাইল থাকতে হবে - উদাহরণস্বরূপ, / ইত্যাদি। কমান্ড ব্যবহার করার চেষ্টা করেছি
gzip myetc.gz /etc
তবে এটি কার্যকর হয়নি।
উত্তর:
জিজিপ কেবল একটি একক ফাইল বা একটি স্ট্রিম দিয়ে কাজ করে - গিজিপে পাইপযুক্ত ডেটা। সুতরাং আপনাকে প্রথমে একটি ফাইল তৈরি করতে হবে যেমন টারের মতো এবং তারপরে আপনি এটি জিপ করতে পারেন। অন্য বিকল্পটি হ'ল সমস্ত স্বতন্ত্র ফাইলগুলি জিপ করা, এবং তারপরে এটিকে একটি ফাইলে অন্তর্ভুক্ত করা।
এই উভয় সমাধান বোকামি এবং ব্যবহার করা উচিত নয়। অন্তর্নির্মিত বিকল্পের সাথে আপনার টার ব্যবহার করা উচিত এবং এটি সমস্ত কমান্ডে করা উচিত।
.tar.gz...
cat filename | grep blahবোকা। এটি সর্বোত্তমের চেয়ে অনেক কম কারণ এটি একটি বৃহত অন্তর্বর্তী স্থান ব্যবহার করবে। আমি জানি না আমি এটিকে যতটা অযৌক্তিক, সাবঅপটিমাল এবং সাধারণভাবে কেবল কুৎসিত হিসাবে কটূক্ত বলি। ভাল, বোকা কাজ করে।
fork()।
gzipডিরেক্টরি নয় ফাইলগুলির সাথে কাজ করে। সুতরাং আপনাকে যে ডিরেক্টরিটি ব্যবহার করতে হবে তার একটি সংরক্ষণাগার তৈরি করতে tar(যা একাধিক ফাইলের মধ্যে একটি একক টারবাল তৈরি করবে):
tar cvf myetc.tar /etc
বা, গিজিপযুক্ত সংরক্ষণাগারটির জন্য:
tar cvzf myetc.tar.gz /etc
cd / ; tar cf - ./etc | gzip -c - > myetc.tar.gz (আপনি যদি ভাবছেন যে আমি কেন "/ etc" এর পরিবর্তে "./etc" ট্যারি করি, কারণ এটি সেই পুরানো সিস্টেমে, যখন টার ব্যবহার করা হয়) এক্সভিএফ, এটি / ইত্যাদিতে আউটপুট এনে ওভাররাইট করবে ... [বা আপনাকে সেই ক্ষেত্রে "প্যাক্স" ব্যবহার করতে হবে])। বিপরীত কমান্ড, অর্থাৎ "/ কোথাও" নীচে সেই সংরক্ষণাগারটি বের করতে: cd /somewhere ; gzip -dc < /the/location/of/myetc.tar.gz | tar xvf -
যদি আপনার কাছে সত্যিই টার উপলব্ধ না থাকে তবে আপনি বিকল্পটি (-r - পুনরাবৃত্তভাবে) ব্যবহার করে একটি ডিরেক্টরিতে ব্যাকআপ তৈরি করতে gzip ব্যবহার করতে পারেন, তবে সম্ভবত আপনি যা প্রত্যাশা করছেন তা ঠিক তা নয় ...
প্রথমে আপনাকে নিজের ডিরেক্টরিটিকে অন্য নামে অনুলিপি করতে হবে, যদি আপনি মূল ডিরেক্টরিটি অস্পৃশ্য রাখতে চান।
#cp -a directory my_gzip_alone_backup
দ্বিতীয়ত, আপনি ডিরেক্টরীতে সমস্ত ফাইলকে পুনরাবৃত্তভাবে (-r) সংকোচিত করবেন।
#gzip -r my_gzip_alone_backup
এখন আমার-জিজিপ-একা-ব্যাকআপের ভিতরে একবার নজর দেওয়া যাক। আপনি যেমনটি আশা করছেন তেমন একটিও ফাইল myfile.gz পাবেন না, তবে প্রচুর গিজিপযুক্ত ফাইলগুলি পুনরাবৃত্তভাবে হবে। কিন্তু সিমলিংকের কারণে ইত্যাদি দিয়ে এটি করা ভাল নয় ...
ডিরেক্টরিটি সঙ্কোচিত করার জন্য একই যুক্তিটি গানজিপ দিয়ে প্রয়োগ করা যেতে পারে।
আর একটি উপায় হ'ল ডিরেক্টরিটি একটি একক ফাইলে রূপান্তর করা, যদি আপনার এটির জন্য ট্যারা না থাকে তবে ডিডি ব্যবহার করুন, যেমন এই পোস্টে প্রদর্শিত হয়েছে: /ubuntu/626634/converting-a -file টু ডিরেক্টরি
gzipনাzip। তারা বিভিন্ন সরঞ্জাম যা আলাদাভাবে কাজ করে।