হাওটো পাইপ: সিপি | তার | মধ্যস্থতাকারী ফাইল তৈরি না করেই জিজিপ?


31

পাইপ করা সম্ভব কিনা কেউ আমাকে বলতে পারবেন | এ এবং বিটার.gz এর মধ্যে যে কোনও জায়গায় কোনও শারীরিক ফাইল তৈরি না করেই এটি?

এটি আমি যা করার চেষ্টা করছি:

  1. ফাইল এ
  2. এ থেকে বি নামকরণ করুন
  3. তার বিটার
  4. gzip -9 B.tar.gz

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

cp A B | tar cvf - B | gzip -9 B.tar.gz
gzip  pipe  tar 

আপনি পাইপ করতে চান কেন cp A B?
দুর

1
নামকরণ হয় mv
করলি হরভথ

3
দয়া করে ব্যাখ্যা করুন কেন আপনি কপি করতে চাই Aথেকে Bপ্রথম।
স্পিকার

উত্তর:


42

মধ্যস্থতাকারী ফাইলগুলি এড়ানোর জন্য নিম্নলিখিত উদাহরণগুলি ব্যবহার করা যেতে পারে:

জিজিপ সহ টার:

tar cf - A | gzip -9 > B.tar.gz

বিনা জাজিপ:

gzip -9c A > B.gz

জিজিপ ছাড়াই টর:

tar cf B.tar A

পুনঃনামকরণ করা (সরানো হচ্ছে) Aথেকে Bপ্রথম আমাকে অর্থে দেখা যায় না। যদি এটি দেয়ার উদ্দেশ্যে করা হচ্ছে, তারপর শুধু একটি করা mv A B &&উপরে কমান্ড অ্যান্ড এক্সচেঞ্জ যেকোন সামনে Aদিয়ে Bআছে।

টার এবং জিজিপ সহ উদাহরণ:

mv A B && tar cf - B | gzip -9 > B.tar.gz


1
এটি সঠিক এবং এটিরূপে চিহ্নিত করা উচিত। পাইপযুক্ত বিকল্পের জন্য আপনাকে "টার" পরে "-" অন্তর্ভুক্ত করতে হবে অন্যথায় আপনি "টার: কাপুরুষোচিতভাবে একটি খালি সংরক্ষণাগার তৈরি করতে অস্বীকৃতি" পাবেন।
অ্যাডামিন

6

এটি আপনার টারের সংস্করণের উপর নির্ভর করে

আপনার যদি এমন সংস্করণ রয়েছে যা সদস্য ট্রান্সফর্মগুলি (- ট্রান্সফর্ম বা --xfor) সমর্থন করে তবে আপনি কেবল তা করতে পারেন

tar -c --transform=s/A/B/ A | gzip -9 > B.tar.gz

| gzip -9> B.tar.gz এড়ানো যায় যদি আপনার টার--z বিকল্পটি সমর্থন করে

tar -zcvf B.tar.gz --transform=s/A/B/ A

যদি আপনার টারের সংস্করণটি - ট্রান্সফর্ম সমর্থন করে না তবে আপনাকে প্রথমে ফাইলটি অনুলিপি করতে হবে যেমন, যেমন

 cp A B && tar -zcvf B.tar.gz B

তবে আপনি যদি কেবল একটি ফাইল সংকুচিত করে থাকেন তবে কেন সমস্ত অংশটি একসাথে বাদ দিন এবং কেবল করুন

cat A | gzip -9 > B.gz

আপনি যেমন আপনার সিপি ব্যবহার করেছিলেন তেমনই আমি সিপি ব্যবহার করেছি তবে নামটি এমভি

0

আপনি যদি অন্য কোনও cpনাম / অবস্থানের সাথে একটি অনুলিপি তৈরি করতে ব্যবহার করছেন তবে আপনার সম্পূর্ণ .gzip ফাইল তৈরি করার সময় আপনি যে সম্পূর্ণ / চূড়ান্ত পথের নামটি চান তা অন্তর্ভুক্ত করুন:

tar -cvf existing.file | gzip -1 > ./newdirectory/newnamed.file.tgz

এটি কাজ করে না, "টার তৈরি করে: কাপুরুষোচিতভাবে একটি খালি সংরক্ষণাগার তৈরি করতে অস্বীকার করছে"।
অ্যাডামিন

@ অ্যাডাবিন সম্ভবত আপনি ব্যবহার করতে চান tar -czf - some-folder > some-archive.tar.gz?
tsauerwein

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