"Gzip" কমান্ড সহ একটি সংরক্ষণাগার তৈরি করুন


12

আমাকে জিজেপ কমান্ডটি দিয়ে একটি সংরক্ষণাগার তৈরি করতে হবে (ট্যারি নয় - এটি প্রয়োজনীয়) এবং সংরক্ষণাগারটিতে অন্য ডিরেক্টরি থেকে ফাইল থাকতে হবে - উদাহরণস্বরূপ, / ইত্যাদি। কমান্ড ব্যবহার করার চেষ্টা করেছি

gzip myetc.gz /etc

তবে এটি কার্যকর হয়নি।


3
gzipনা zip। তারা বিভিন্ন সরঞ্জাম যা আলাদাভাবে কাজ করে।
রোয়াইমা

3
gzipকেবলমাত্র স্ট্রিম সংক্ষেপক or এটি ফাইল বা ডিরেক্টরি সম্পর্কে জানে না।

3
আপনি কেন ব্যবহার করতে পারবেন না?
মার্সেলেম

যদি আপনার কাছে ডাকা না থাকে, আপনার সিপিও আছে?
রুপ

2
আপনি বলছেন আপনি একটি সংরক্ষণাগার তৈরি করতে চান, তবে আপনি টার ব্যবহার করতে পারবেন না। আপনি জানেন যে "টার" শব্দটির অংশটি "আর্চাইভ" থেকে এসেছে। আমি বলতে চাইছি, ওটা এর রাইসন ডি'এত্রে। আর্কাইভ তৈরির প্রক্রিয়া থেকে কে বা কী "টার" বাদ দিতে চাইবে? মূলত আপনি কীভাবে হাতুড়ি দিয়ে স্ক্রু চালাবেন তা জিজ্ঞাসা করছেন (কোনও স্ক্রু ড্রাইভার নয় - এটি প্রয়োজনীয়)।
মাইক এস

উত্তর:


6

জিজিপ কেবল একটি একক ফাইল বা একটি স্ট্রিম দিয়ে কাজ করে - গিজিপে পাইপযুক্ত ডেটা। সুতরাং আপনাকে প্রথমে একটি ফাইল তৈরি করতে হবে যেমন টারের মতো এবং তারপরে আপনি এটি জিপ করতে পারেন। অন্য বিকল্পটি হ'ল সমস্ত স্বতন্ত্র ফাইলগুলি জিপ করা, এবং তারপরে এটিকে একটি ফাইলে অন্তর্ভুক্ত করা।

এই উভয় সমাধান বোকামি এবং ব্যবহার করা উচিত নয়। অন্তর্নির্মিত বিকল্পের সাথে আপনার টার ব্যবহার করা উচিত এবং এটি সমস্ত কমান্ডে করা উচিত।


1
প্রথম পদ্ধতিটি বোকা হওয়া উচিত কেন? এটি উত্পাদন করার স্বাভাবিক উপায় .tar.gz...
রেক্সকোগিটানস

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

জিজিপ -r বিকল্পের সাহায্যে একাধিক ফাইলের জন্য কাজ করতে পারে তবে ফোল্ডারে প্রতিটি ফাইলের জন্য একটি নতুন .gz তৈরি করবে।
লুসিয়ানো এন্ড্রেস মার্টিনি

1
@ রেক্সকোগিটানস - এটি নির্বোধের মতোই cat filename | grep blahবোকা। এটি সর্বোত্তমের চেয়ে অনেক কম কারণ এটি একটি বৃহত অন্তর্বর্তী স্থান ব্যবহার করবে। আমি জানি না আমি এটিকে যতটা অযৌক্তিক, সাবঅপটিমাল এবং সাধারণভাবে কেবল কুৎসিত হিসাবে কটূক্ত বলি। ভাল, বোকা কাজ করে।
মাইক এস

ওহ, এখন আমি দেখতে কি এত বোকা। না, `tar -czf` যাওয়ার উপায় হ'ল এটি কোনও অকেজো জড়িত না fork()
রেক্সকোগিটানস

13

gzipডিরেক্টরি নয় ফাইলগুলির সাথে কাজ করে। সুতরাং আপনাকে যে ডিরেক্টরিটি ব্যবহার করতে হবে তার একটি সংরক্ষণাগার তৈরি করতে tar(যা একাধিক ফাইলের মধ্যে একটি একক টারবাল তৈরি করবে):

tar cvf myetc.tar /etc

বা, গিজিপযুক্ত সংরক্ষণাগারটির জন্য:

tar cvzf myetc.tar.gz /etc

2
যদি কারও কাছে "-z" বিকল্পের সাথে "প্রাচীন" সিস্টেম থাকে তবে তারা এটি করতে পারে: cd / ; tar cf - ./etc | gzip -c - > myetc.tar.gz (আপনি যদি ভাবছেন যে আমি কেন "/ etc" এর পরিবর্তে "./etc" ট্যারি করি, কারণ এটি সেই পুরানো সিস্টেমে, যখন টার ব্যবহার করা হয়) এক্সভিএফ, এটি / ইত্যাদিতে আউটপুট এনে ওভাররাইট করবে ... [বা আপনাকে সেই ক্ষেত্রে "প্যাক্স" ব্যবহার করতে হবে])। বিপরীত কমান্ড, অর্থাৎ "/ কোথাও" নীচে সেই সংরক্ষণাগারটি বের করতে: cd /somewhere ; gzip -dc < /the/location/of/myetc.tar.gz | tar xvf -
অলিভিয়ার ডুলাক

1

যদি আপনার কাছে সত্যিই টার উপলব্ধ না থাকে তবে আপনি বিকল্পটি (-r - পুনরাবৃত্তভাবে) ব্যবহার করে একটি ডিরেক্টরিতে ব্যাকআপ তৈরি করতে gzip ব্যবহার করতে পারেন, তবে সম্ভবত আপনি যা প্রত্যাশা করছেন তা ঠিক তা নয় ...

প্রথমে আপনাকে নিজের ডিরেক্টরিটিকে অন্য নামে অনুলিপি করতে হবে, যদি আপনি মূল ডিরেক্টরিটি অস্পৃশ্য রাখতে চান।

#cp -a directory my_gzip_alone_backup

দ্বিতীয়ত, আপনি ডিরেক্টরীতে সমস্ত ফাইলকে পুনরাবৃত্তভাবে (-r) সংকোচিত করবেন।

#gzip -r my_gzip_alone_backup

এখন আমার-জিজিপ-একা-ব্যাকআপের ভিতরে একবার নজর দেওয়া যাক। আপনি যেমনটি আশা করছেন তেমন একটিও ফাইল myfile.gz পাবেন না, তবে প্রচুর গিজিপযুক্ত ফাইলগুলি পুনরাবৃত্তভাবে হবে। কিন্তু সিমলিংকের কারণে ইত্যাদি দিয়ে এটি করা ভাল নয় ...

ডিরেক্টরিটি সঙ্কোচিত করার জন্য একই যুক্তিটি গানজিপ দিয়ে প্রয়োগ করা যেতে পারে।

আর একটি উপায় হ'ল ডিরেক্টরিটি একটি একক ফাইলে রূপান্তর করা, যদি আপনার এটির জন্য ট্যারা না থাকে তবে ডিডি ব্যবহার করুন, যেমন এই পোস্টে প্রদর্শিত হয়েছে: /ubuntu/626634/converting-a -file টু ডিরেক্টরি

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