উত্তর:
এর -J
জন্য সংকোচন বিকল্পটি ব্যবহার করুন xz
। এবং মনে রাখবেন man tar
:)
tar cfJ <archive.tar.xz> <files>
2015-08-10 সম্পাদনা করুন:
যদি আপনি tar
ড্যাশগুলি দিয়ে যুক্তিগুলি পাস করেন (যেমন: এর tar -cf
বিপরীতে tar cf
), তবে -f
বিকল্পটি অবশ্যই শেষ অবধি আসবে , যেহেতু এটি ফাইলের নামটি নির্দিষ্ট করে (এটি নির্দেশ করার জন্য @ ABB কে ধন্যবাদ !)! সেক্ষেত্রে কমান্ডটি দেখতে পাওয়া যায়:
tar -cJf <archive.tar.xz> <files>
f
ড্যাশ ছাড়াই শেষ রাখা উচিত put
tar
ম্যাকোজে অন সমর্থন করে বলে মনে হচ্ছে -J
তবে ম্যান পৃষ্ঠাতে বৈশিষ্ট্যটি দেওয়া হয়নি। এখানে এটি তাকান ছিল। যদিও তারা --options
...
স্যুইচ -J
শুধুমাত্র নতুন সিস্টেমে কাজ করে। সর্বজনীন আদেশ হ'ল:
.Tar.xz সংরক্ষণাগার তৈরি করতে
tar cf - directory/ | xz -z - > directory.tar.xz
ব্যাখ্যা
tar cf - directory
ডিরেক্টরি পড়ে / এবং এটি টিআর ফরমেটে লাগানো শুরু করে। এই অপারেশনের আউটপুট স্ট্যান্ডার্ড আউটপুটে উত্পন্ন হয়।
|
অন্য প্রোগ্রামের ইনপুটটিতে পাইপগুলি স্ট্যান্ডার্ড আউটপুট ...
... যা হতে পারে xz -z -
। এক্সজেড -z
স্ট্যান্ডার্ড ইনপুট থেকে সংরক্ষণাগারটি সঙ্কুচিত করতে ( ) কনফিগার করা হয়েছে-
) ।
আপনি এর থেকে আউটপুট পুনর্নির্দেশ xz
করতে tar.xz
ফাইল।
-f
পাস করার সময় "ফাইল থেকে" বোঝায় না xz
। এর পরিবর্তে এটি জন্য ছোট --force
(দেখুন ভাবে XZ লস (1) বিস্তারিত জানার জন্য), এবং শ্রেষ্ঠ, যদি না প্রয়োজন ব্যবহার করা হয় না।
tar cf - directory/ | xz -z -T0 - > directory.tar.xz
-1 -T0
বা -0 -T0
অপশন হিসাবে খুব বেশি যত্নশীল না হন যা সাধারণত আপনাকে তুলনীয় বা দ্রুত সময়ে জিজিপের চেয়ে একটি ছোট ফাইল দেয়, যখন ডিফল্টটি -6
যথেষ্ট ধীর হয় while gzip চেয়ে।
আপনি যদি পাইপ মোডটি পছন্দ করেন তবে এটি সবচেয়ে পরিষ্কার সমাধান:
tar c some-dir | xz > some-dir.tar.xz
f
ফাইলগুলির সাথে ডিল করার জন্য এবং তারপরে -
ফাইলটি স্ট্যান্ডার্ড ইনপুট কিনা তা নির্দিষ্ট করার জন্য বিকল্পটি রাখার প্রয়োজন নেই । এটির -z
জন্য বিকল্পটি নির্দিষ্ট করারও দরকার নেইxz
, কারণ এটি ডিফল্ট।
এটা দিয়ে কাজ করে gzip
এবং bzip2
খুব:
tar c some-dir | gzip > some-dir.tar.gz
অথবা
tar c some-dir | bzip2 > some-dir.tar.bz2
সঙ্কোচন করাও বেশ সোজা:
xzcat tarball.tar.xz | tar x
bzcat tarball.tar.bz2 | tar x
zcat tarball.tar.gz | tar x
আপনার যদি কেবল tar
সংরক্ষণাগার থাকে তবে আপনি এটি ব্যবহার করতে পারেন cat
:
cat archive.tar | tar x
আপনার যদি কেবলমাত্র ফাইলগুলির তালিকা তৈরি করতে হয় তবে ব্যবহার করুন tar t
।
আপনি যদি এর জন্য সংক্ষেপণ বিকল্পগুলি ব্যবহার করতে চান xz
বা আপনি tar
ম্যাকওএস ব্যবহার করছেন তবে আপনি সম্ভবত tar -cJf
বাক্য গঠনটি এড়াতে চান want
মতে এটি করার man xz
উপায় হ'ল:
tar cf - baz | xz -4e > baz.tar.xz
কারণ আমি ভোজাইচ অ্যাডাম কোসেকের ফর্ম্যাটটি পছন্দ করেছি , তবে তথ্যটি নয়:
c
নির্দিষ্ট ফাইলগুলির জন্য একটি নতুন সংরক্ষণাগার তৈরি করে। f
একটি ডিরেক্টরি থেকে পড়ুন (এটি সেরা দ্বিতীয়টি কারণ -cf
! = -fc
)-
স্ট্যান্ডার্ড আউটপুট আউটপুট|
পাইপ আউটপুট পরবর্তী কমান্ডxz -4e
সংকোচন বিকল্পের xz
সাথে কল -4e
। (সমান -4
--extreme
)> baz.tar.xz
টার্ডযুক্ত এবং সংকুচিত ফাইলটিতে নির্দেশ দেয় baz.tar.xz
কোথায় -4e
, আপনার নিজের সংকোচন বিকল্পগুলি ব্যবহার করুন। আমি প্রায়ই ব্যবহার -k
করতে --keep
মূল ফাইল এবং -9
সত্যিই ভারী কম্প্রেশন জন্য। -z
ম্যানুয়ালি জিপতে সেট xz
করতে, যদিও এটি অন্যথায় নির্দেশিত না হলে জিপিংয়ের জন্য ডিফল্ট হয়।
রাফায়েল ভ্যান হর্ন প্রতিধ্বনিত করতে , সঙ্কুচিত করা এবং আনতার (নীচের নোটটি দেখুন):
xz -dc baz.tar.xz | tar x
দ্রষ্টব্য: রাফেলের উত্তরের বিপরীতে , xz -dc
পরিবর্তে ব্যবহার করুন catxz
। আপনি যদি স্ক্রিপ্টিংয়ের জন্য এটি ব্যবহার করেন তবে ডকসই এটিকে সুপারিশ করে। শ্রেষ্ঠ ব্যবহারের একটি অভ্যাস আছে -d
বা --decompress
পরিবর্তে unxz
হিসাবে ভাল। তবে, যদি আপনার অবশ্যই হয়, কমান্ড লাইন থেকে এই কমান্ডগুলি ব্যবহার করা ভাল।
tar -cJf
MacOS এ সিনট্যাক্স ব্যবহার না করার জন্য কোনও বিশেষ কারণ ? শুধু কৌতূহলী, কারণ আমি এখনই এটি করছিলাম এবং মনে হচ্ছে এটি কাজ করছে।
এটা চেষ্টা কর: tar -cf file.tar file-to-compress ; xz -z file.tar
বিঃদ্রঃ:
|
কারণ এটি একই সাথে আদেশগুলি চালায় runs একের পর এক কমান্ড ব্যবহার করে ;
বা &
সম্পাদন করে।J
বিকল্প দেখতে পাচ্ছি না , তবে এটি কাজ করে। আমার মনে হয় আপনার RHEL6 দরকার 6
tar -c file-to-compress | xz -z > file.tar.xz
।
&
একের পর এক কমান্ড আরম্ভ করবে না। পরিবর্তে, এটি পটভূমি প্রক্রিয়া হিসাবে প্রথমটি চালু করবে।
v
কমান্ড সুইচ করার জন্য (tar -cJvf
) দেখায় ফাইল সংরক্ষণাগার যোগ করা হচ্ছে বাগাড়ম্বরপূর্ণ যাবে।