সমস্ত সাব-ডিরেক্টরিতে সমস্ত ফাইলকে কীভাবে ব্যাশে একটি সংক্রামিত ফাইল হিসাবে জিজিপ করা যায়


201

সম্ভাব্য সদৃশ:
ডিরেক্টরিগুলির সেট আপ এবং একটি সংক্ষেপিত ফাইল তৈরি করা

এই পোস্টে ডিরেক্টরি স্ট্রাকচারের মধ্যে প্রতিটি ফাইল পৃথকভাবে জিজপ করার পদ্ধতি বর্ণনা করে। তবে আমার কিছুটা আলাদা করা দরকার। একটি নির্দিষ্ট ডিরেক্টরিতে সমস্ত ফাইলের জন্য আমার একটি বড় গিজিপ ফাইল তৈরি করতে হবে। সংক্ষিপ্ত ফাইলের জন্য আউটপুট ফাইলের নাম উল্লেখ করতে সক্ষম হওয়া প্রয়োজন (যেমন, ফাইল.gz) এবং যদি ইতিমধ্যে বিদ্যমান থাকে তবে পুরানো সংক্ষেপিত ফাইল ফাইলটি ওভাররাইট করতে পারি।


gzipএর প্রকৃতি দ্বারা কেবল একটি একক ফাইলকে সংকুচিত করে। পরবর্তী জিজপিংয়ের জন্য একাধিক ফাইল এক ফাইলে রাখতে, ব্যবহার করুন tar
থমাস

উত্তর:


387
tar -zcvf compressFileName.tar.gz folderToCompress

ফোল্ডারটোকম্প্রেসে সমস্ত কিছু কম্প্রেসফিলনেমে যাবে

সম্পাদনা: পর্যালোচনা এবং মন্তব্যের পরে আমি বুঝতে পেরেছি যে লোকেরা কোনও এক্সটেনশন ছাড়াই কমপ্রেসফিলনেমে বিভ্রান্ত হতে পারে। আপনি চাইলে কমপ্রেসফিলনেম দিয়ে .tar.gz এক্সটেনশন (প্রস্তাবিত) ব্যবহার করতে পারেন


2
ধন্যবাদ। এটি কি "ফোল্ডারটোকম্প্রেস" (অর্থাত্ পুনরাবৃত্তভাবে) এর অধীনে সমস্ত কিছু সংকুচিত করবে?
ডগ

2
ফোল্ডারটোকম্প্রেসে সমস্ত কিছুই কম্প্রেসফিলনেমে যাবে
amitchhajer

80
আপনি সম্ভবত compressFileNameএটি চয়ন করতে চান যাতে এটিতে .tar.gzএক্সটেনশন অন্তর্ভুক্ত হয় বা আপনি অন্য সবাইকে পাগল করে তুলবেন।
অনুমান করুন

9
এটি একটি নির্বিচার সংখ্যক ডিরেক্টরিগুলির জন্যও কাজ করে, যেমন tar -zcvf two-dirs.tar.gz dir-one dir-twoদুটি ডিরেক্টরি সম্বলিত একটি সংরক্ষণাগার তৈরি করবে।
জুলটান

5
*বর্তমান tar -zcvf all.tar.gz *

61

প্রচুর সংকোচনের পদ্ধতি রয়েছে যা পুনরাবৃত্তভাবে কমান্ড লাইনটি কাজ করে এবং শেষ শ্রোতা কে তা জেনে রাখা ভাল।

উদাহরণস্বরূপ, যদি এটি উইন্ডো চলমান কারও কাছে প্রেরণ করা হয় তবে জিপ সম্ভবত সেরা হবে:

zip -r file.zip folder_to_zip

unzip filenname.zip

অন্যান্য লিনাক্স ব্যবহারকারীদের জন্য বা আপনার স্ব-টর দুর্দান্ত

tar -cvzf filename.tar.gz folder

tar -cvjf filename.tar.bz2 folder  # even more compression

#change the -c to -x to above to extract

একজনকে অবশ্যই টার এবং কীভাবে জিনিসগুলি আপ / উত্তোলন করা হয় সে সম্পর্কে সতর্ক থাকতে হবে, উদাহরণস্বরূপ যদি আমি চালনা করি I

cd ~
tar -cvzf passwd.tar.gz /etc/passwd
tar: Removing leading `/' from member names
/etc/passwd


pwd

/ হোম / myusername

tar -xvzf passwd.tar.gz

এটি / home / myusername / etc / passwd তৈরি করবে

সমস্ত সংস্করণের টর যদি এটি করে তবে অনিশ্চিত:

 Removing leading `/' from member names

18

@ মমিছাজারের পোস্ট জিএনইউ ট্যারে কাজ করে। যদি কেউ এই পোস্টটি খুঁজে পান এবং এটি কোনও NON GNUসিস্টেমে কাজ করার প্রয়োজন হয় তবে তারা এটি করতে পারেন:

tar cvf - folderToCompress | gzip > compressFileName

সংরক্ষণাগারটি প্রসারিত করতে:

zcat compressFileName | tar xvf -

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

এটি বহুমুখী, যেহেতু আপনি অন্যান্য সংক্ষেপকগুলিও ব্যবহার করতে পারেন। উদাহরণস্বরূপ, pigzযা সিপিইউকে আরও ভালভাবে ব্যবহার করতে পারে (জিপের বহু-থ্রেডড প্রয়োগ) faster
অর্টউইন অ্যাঞ্জারমেয়ার
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.