অন্টার, উঙজ, জিজেড, টার - কীভাবে আপনি সমস্ত দরকারী বিকল্প মনে রাখবেন?


76

আমি পুরোপুরি নিশ্চিত যে নিম্নলিখিত সমস্যাটি নিয়ে আমি একমাত্র নই: প্রতিবার যখন আমাকে * নিক্সে কোনও ফাইল সঙ্কুচিত করা দরকার তখন আমি সমস্ত সুইচগুলি মনে করতে পারি না, এবং এটি গুগলিং শেষ করতে পারি, যা আমাকে কতবার প্রয়োজন তা বিবেচনা করে উদ্বৃত্ত হয় এটা কর.

আপনার কি একটি ভাল সংকোচনের চিট শীট আছে? বা টার মধ্যে এই সমস্ত কদর্য সুইচগুলির জন্য কোনও স্মৃতিচারণ সম্পর্কে কীভাবে?

আমি এই নিবন্ধটি একটি উইকি তৈরি করছি যাতে আমরা এখানে একটি দুর্দান্ত ঠকানো শীট তৈরি করতে পারি।

ওহ, এবং ম্যান পৃষ্ঠাগুলি সম্পর্কে: কী এমন একটি জিনিস রয়েছে যার জন্য তারা সহায়ক নয়, এটি কোনও ফাইলকে কীভাবে সঙ্কুচিত করা যায় তা নির্ধারণের জন্য।


1
ম্যানুয়াল পৃষ্ঠাগুলি ব্যবহার করুন, তারপরে আপনাকে একটি উইকি তৈরি করতে হবে না, এবং কেবল ম্যান কমান্ডটি মনে রাখতে হবে :-) মানুষ (1)
ফ্লোরেনজ ক্লি

9
এক্সট্রাক্ট জি ফাইলটি আমি এটি কীভাবে মনে করি
কানাডিয়ান লুক

জি ভোকিং ফাইল তৈরি করুন .tar.gz তৈরি করার জন্য উপযুক্ত হতে পারে
কাজিনকোকেইন

উত্তর:


65

বা কীভাবে উন্নত সমাপ্তির ক্ষমতার (যেমন zsh বা ব্যাশের নতুন সংস্করণগুলি) আপনার জন্য বিকল্পগুলি সম্পূর্ণ সহায়তা দিয়ে শেষ করবে তা দিয়ে শেলটি ব্যবহার করবেন? :))

টার সম্পর্কে: কেবল "কিওয়ার্টি" কীবোর্ডটি দেখুন। একে অপরের পাশে "zxcvf" অক্ষর রয়েছে। আপনার "টার czvf file.tar.gz ফাইল" বা "টার xzvf file.tar.gz" দরকার।


প্রকৃতপক্ষে প্রশ্নের উত্তরের জন্য প্রপসগুলি :)

এখন, এটি একটি কओল "কিউয়ারটি" টিপ! :)


2
অন্য টিপটি হ'ল টার্নের আধুনিক সংস্করণগুলি বের করার সময় zবিকল্প (বা ফাইলগুলির jজন্য বিকল্প .bz2) প্রয়োজন হয় না। এটি স্বয়ংক্রিয়ভাবে ফাইলটিকে সঙ্কুচিত করে।
নট

10
আমি প্রায় দশ বিলিয়ন বার টার ব্যবহার করেছি এবং কখনই লক্ষ্য করিনি যে সমস্ত সর্বাধিক ব্যবহৃত বিকল্পগুলি কীবোর্ডের একে অপরের পাশে রয়েছে। হেডম্যাক
টাইলার ম্যাকহেনারি

41

টার বিকল্প সংক্ষিপ্তসার

আপনি আরও বেশি গৌরবময় সুইচ যোগ করতে এটি সম্পাদনা করতে আপনাকে স্বাগত জানালেন তবে এখানে বেসিকগুলি:

  • এক্স - এক্সট্রাক্ট ফাইল
  • সি - সংরক্ষণাগার তৈরি করুন
  • t - তালিকা ফাইল
  • v - verbose (ফাইলগুলি প্রসেস করার সাথে সাথে তালিকা তৈরি করুন)
  • j - bz2 সংক্ষেপণ ব্যবহার করুন
  • z - জিজেড কম্প্রেশন ব্যবহার করুন
  • f - ডিস্কে ফাইল পড়ুন বা লিখুন

উদাহরণ

একটি tar.gz ফাইলটি সঙ্কুচিত করুন: টার zxf tarball.tar.gz

একটি tar.bz2 ফাইলটি সঙ্কুচিত করুন: tar jxf tarball.tar.bz2

একটি tar.gz ফাইল তৈরি করুন: টার zcvf tarvall.tar.gz mydir / *


23

"আনপ" নামে একটি ছোট পার্ল স্ক্রিপ্ট রয়েছে।

unp filename.tar.gz

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


এমনকি দীর্ঘ সময় ধরে টার ব্যবহার করার পরেও আমাকে বোকা পতাকাগুলির জন্য গুগল করা প্রয়োজন। আনপ যাওয়ার উপায়।
ইয়াদা

8

সত্যই ঘন ঘন ব্যবহারের সাথে আমি এক্স (এক্স) ডেটা আহরণ এবং সংমিশ্রণ (সি) ডেটা:

নিষ্কর্ষ:

tar xzf data.tgz

সংকোচনের জন্য:

tar czf data.tgz

তবুও আপনি দুটি। ফাংশন যুক্ত করতে পারেন আপনার।

function extract () {     
        if ($# -ne 1); then
                echo "Usage: $0  `<compressed archive>"`
                exit 1
        fi
        tar xzf $1
}

function compress () {
        if ($# -ne 2); then
                echo "Usage: $0 `<compressed archive> <files|directories>"`
                exit 1
        fi
        tar czf $1 $2
}

আর একটি দুর্দান্ত এক্সট্র্যাক্ট ফাংশন রয়েছে এটি আপনার সংকোচিত ফাইলটির প্রসারণ সনাক্ত করে এবং আপনার জন্য কাজটি করে:

extract () {
   if [ -f $1 ] ; then
       case $1 in
           *.tar.bz2)   tar xvjf $1    ;;
           *.tar.gz)    tar xvzf $1    ;;
           *.bz2)       bunzip2 $1     ;;
           *.rar)       unrar x $1       ;;
           *.gz)        gunzip $1      ;;
           *.tar)       tar xvf $1     ;;
           *.tbz2)      tar xvjf $1    ;;
           *.tgz)       tar xvzf $1    ;;
           *.zip)       unzip $1       ;;
           *.Z)         uncompress $1  ;;
           *.7z)        7z x $1        ;;
           *)           echo "don't know how to extract '$1'..." ;;
       esac
   else
       echo "'$1' is not a valid file!"
   fi
 }

5

কেবল টাইপ করুন tar --helpএবং আপনার চিটপত্র আছে।


12
সিরিয়াসলি, আপনি কি কখনও সেই ম্যান পৃষ্ঠাটি পড়ার চেষ্টা করেছেন?
ডেডপ্রোগ্রামার

এটি কিছুটা অপঠনযোগ্য এবং দীর্ঘ হতে পারে তবে আমি মনে করি এটি কেবলমাত্র একটি বিকল্পের নাম অনুসন্ধান করার জন্য ভাল কাজ করে। আপনি যে বিকল্পটি সন্ধান করছেন তার জন্য আপনি গ্রেপ করতে পারেন, যেমন 'টার-হেল্প | গ্রেপ এক্সট্রাক্ট '।
জেরেমি রুটেন

1
গ্রেট। এবং তারপরে আপনাকে একটি ম্যান-পৃষ্ঠার মধ্য দিয়ে যেতে হবে যা (আপনি যে স্টাফটির সন্ধান করছেন) এর মধ্যে আপনাকে বিকাশকারীর প্রয়োজন ব্যতীত প্রচুর প্রত্নতাত্ত্বিক স্ট্রিমার কমান্ড এবং অপশনগুলির কথা বলা হয়েছে।

2
আমি সত্যিই এটি সম্পর্কে এত কঠিন কি দেখতে পাচ্ছি না। একটি সংরক্ষণাগার নিষ্কাশন করতে, কেবল নিষ্কর্ষের বিকল্পটি সন্ধান করুন এবং আপনার আদেশে -x যুক্ত করুন। আপনি যদি এটি ভার্বোস চান তবে সেই বিকল্পটি সন্ধান করুন এবং এক্স-এক্স পাওয়ার জন্য অ্যাভ যোগ করুন। তারপরে অবিরত করুন যতক্ষণ না আপনি সঠিক কমান্ডটি চান। এমনকি এটি সাধারণ অপারেশনগুলির জন্য উদাহরণ কমান্ড রয়েছে has
জেরেমি রুটেন

1
জেরেমি, আসল সমস্যাটি হ'ল আপনি সর্বদা যথাযথ শব্দভাণ্ডার জানেন না। যেমন, বিভ্রান্ত হওয়া এবং অনুরূপ বিকল্পগুলি খুঁজে পাওয়া এবং সেগুলি কার্যকর না করার পক্ষে সহজ। তারপরে, আপনাকে তাদের কয়েকটি (সঠিক) যথাযথভাবে স্থাপন করতে হবে। উইন্ডোজ থেকে দূরে সরে যাওয়া কারও পক্ষে এটি ক্ষুদ্র। এমনকি যদি তারা উইন্ডোজে স্ক্রিপ্টিং না জানত।
নাজাদুস

3

আপনার যদি টার বিকল্পগুলি মনে রাখতে সমস্যা হয় তবে পাইপগুলি ব্যবহার করে দেখুন:

  • zcat file.tar.gz | tar xvf -
  • bzcat file.tar.bz2 | tar xvf -

প্রতিস্থাপন tar xvসঙ্গে tar tvমাত্র tarball রূপে এর বিষয়বস্তু দেখার জন্য।

ব্যক্তিগতভাবে, আমি নিম্নলিখিত স্মৃতিস্তম্ভগুলি ব্যবহার করি:

  • t, x, বা c যথাক্রমে "ট্যাবুলেটিং", "xtracting", বা "তৈরি" এর জন্য।
  • সমস্ত ফাইল তালিকাভুক্ত জন্য v।
  • z, j, বা যথাক্রমে tar.gz, tar.bz2, বা সরল .tar এর জন্য কিছুই নয়।
  • ফাইল নাম দেওয়ার জন্য, বনাম স্ট্যান্ডিন / স্টডআউট বা কোনও টেপ ডিভাইস ব্যবহারের ডিফল্ট।

যদিও "জ" এবং "বিজিপ 2" একে অপরের সাথে কিছু করার নেই বলে মনে হচ্ছে, তবে এই ব্যতিক্রমটি মনে রাখা আমার পক্ষে সহজ মনে হয়েছে।

এছাড়াও, আমি মজার বিষয় বোধ করি যে গুগলিং "ম্যান টার" প্রতিস্থাপন করেছেন।


আপনি সর্বদা প্রদানের অভ্যাস পাওয়া উচিত fবিকল্প: এটি শুধুমাত্র সম্প্রতি যে আলকাতরা অক্ষমতার ডিস্ট্রিবিউশন থেকে f -, ঐতিহাসিক ডিফল্ট f /dev/rmt0বা অনুরূপ। সর্বোপরি, টার হ'ল টেপ আরচিভার।
21:25 এ 23

1
কি টেবুলেটিং?
ক্লাদিউ


2

তিনটি সর্বাধিক ব্যবহৃত অপারেশন :

--create -c

একটি নতুন টার সংরক্ষণাগার তৈরি করুন।

--list -t

একটি সংরক্ষণাগার বিষয়বস্তু তালিকাবদ্ধ করুন।

--extract -x

একটি সংরক্ষণাগার থেকে এক বা একাধিক সদস্যকে বের করুন।


পাঁচটি উন্নত টার অপারেশন :

--append -r

ইতিমধ্যে বিদ্যমান একটি সংরক্ষণাগারে নতুন এন্ট্রি যুক্ত করুন।

--update -u

সংরক্ষণাগার সদস্যদের উপস্থিত থাকলে একটি সংরক্ষণাগার শেষে আরও সাম্প্রতিক কপি যুক্ত করুন।

--concatenate --catenate -A

অন্য সংরক্ষণাগারটির শেষে এক বা একাধিক প্রাক-বিদ্যমান সংরক্ষণাগার যুক্ত করুন।

--delete

সংরক্ষণাগার থেকে আইটেমগুলি মুছুন (টেপগুলিতে কাজ করে না)।

--compare --diff -d

সংরক্ষণাগার সদস্যদের ফাইল সিস্টেমে তাদের সহযোগীদের সাথে তুলনা করুন।



2

টাইপ করার সময় আমি সর্বদা মনে মনে কমান্ডগুলি পড়ি

ভার্বোজ জিপ-ফাইল সংকোচন করুন

tar cvzf FILE

ভার্বোজ জিপ ফাইলটি ফাইলের এক্সট্রাক্ট করুন

tar xvzf FILE

2

আমি নিম্নলিখিতটি করি

একটি টার তৈরি করতে:

tar czvf foo.tar.gz <files to be included>

অবাস্তব থেকে:

tar zxvf foo.tar.gz

আপনার উদ্বিগ্ন হওয়া উচিত প্রাথমিক সুইচগুলি:

c - create
z - compress/uncompress
x - extracte
v - verbose
f - file

আপনি ডাইরেক্টরিগুলি জুড়ে ফাইলগুলি সরানোর চেষ্টা করার সময় আপনি কিছু ফ্যানসিয়ার স্টাফ যেমন টার এবং আনতার ইনলাইন করতে পারেন:

tar cf - <files to be copied> | (cd <target directory>; tar xvf - )

1

আমি মাত্র 90% সময় ব্যবহার করি

tar -xvf file.*  

x: নিষ্কাশন
v: be verbose ( alচ্ছিক )
f: ইনপুট ফাইল (টার, জিজেড, bzip2, ইত্যাদি ...)

সহজ, হাহ? :)
কনসোলে না থাকলে ফাইল্রোলার বা অর্ক ব্যবহার করুন।


এখন অবধি, আমি ফাইলরোলার ব্যবহার করে আসছি তবে বর্তমানে আমি ভাগ্যের বাইরে আছি কারণ আমার যে সংস্করণটি রয়েছে সেটিতে 1.1 গিগাবাইট মেমরি ব্যবহার করা হয়েছে।
অ্যান্ড্রু গ্রিম

1

আমি বেশ aunpackকয়েক বছর ধরে পার্ল স্ক্রিপ্ট ব্যবহার করি , এটি অটল প্রকল্পের অংশ, যা এখন থেকে। সুতরাং আপনি কেবল চালান: aunpack foo.{zip/tar.gz/tar.bz2}এবং এটি ফাইল এক্সটেনশনের উপর ভিত্তি করে সঠিক কাজটি করে।

এর অন্য সুবিধাটি aunpackহ'ল এটি প্রচুর ফাইল সহ বর্তমান ডিরেক্টরিটি কলুষিত করবে না। বলুন এখানে 20 টি ফাইল রয়েছে foo.zipযা উপ-ডিরেক্টরিতে নেই। বর্তমান ডিরেক্টরিতে এই ফাইলগুলি বানানের পরিবর্তে aunpackএকটি fooউপ-ডিরেক্টরি তৈরি করবে এবং সমস্ত ফাইল সেখানে রেখে দেবে।


1

আপনার প্রয়োজন হয় tar x(stdin থেকে নির্যাস), tar c(stdout- এ আলকাতরা), gzip -c(; stdout- এ stdin থেকে gzip, -1করতে -9কম্প্রেশন স্তরের জন্য; একই জন্য যায় bzip2) এবং gunzip -c(stdout- এ stdin থেকে gunzip প্রয়োগ) - অন্য সব কিছুর পাইপ হয়।

টার এবং জিজিপ করতে:

$ tar c * | gzip -c > out.tar.gz

আন-জিজিপ এবং অবারিত করা

$ gunzip -c < out.tar.gz | tar x

আপনি যদি মিষ্টি অগ্রগতি বার চান, পিভি ব্যবহার করুন যা বিড়ালের অনুরূপ তবে অগ্রগতি বারগুলি দেখায়:

$ tar c * | bzip2 -c | pv > out.tar.gz
 22.6MiB 0:00:03 [3.64MiB/s] [  <=>                           ]
$ pv in.tar.gz | bunzip2 -c | tar x
   80MiB 0:00:00 [  58MiB/s] [===============================>] 100%

0

আমি মনে করি আপনি কী চান এবং এটি কেবল কয়েকটি চিঠিই নয় এটি ভাবতে সহজ।

উদাহরণস্বরূপ, আমি কীভাবে file.tar.gz এক্সট্রাক্ট করতে পারি তার একটি উদাহরণ ব্যবহার করব:

যেহেতু এটি টার ফাইল, আপনার উচিত টার প্রোগ্রামটি ব্যবহার করা। তারপরে এটি বিকল্পগুলি:

  1. এক্স যেহেতু আপনি ই এক্স ট্র্যাক্ট করতে চান ।
  2. z ফাইলটি .gz দিয়ে শেষ হলে। (gz ফাইলের নামের পরে রয়েছে) এই বিকল্পটি সংরক্ষণাগারটি বন্দুক করে।
  3. সংরক্ষণাগারের নাম অনুসারে ফাইলের জন্য চ।

এটি নীচের উদাহরণে প্রদর্শিত হয়:

tar xzf file.tar.gz

0

আমার যেভাবে মনে আছে তা হ'ল এটি সর্বদা "টার XXvf", যেখানে দুটি এক্স রয়েছে two

  • এক্স এক্স ট্র্যাক্টের জন্য এক্স বা সি রেটের জন্য সি এবং,
  • হয় z = gzip, j = bzip2 (gzip বেশি সাধারণ তাই এটি সাধারণত z, যে কারণেই j = bzip2 আমার মাথায় আটকে থাকে)।

মাঝেমধ্যে আপনি যেখানে আপনি যোগ সংকুচিত কিন্তু tarred না ফাইল মধ্যে চালানো উন যাই হোক না কেন কম্প্রেশন ধরনের হয়। যেমন g আন জিপ বা বি আন জিপ 2।

যদি কিছু হয় তবে আমি 2 টি ভুলে যাই এবং মাঝে মাঝে "bzip" টাইপ করি।


0

আপনি একটি উপনামও তৈরি করতে পারেন। আপনার ~/.bash_aliasesফাইলটিতে কেবল এই দুটি লাইন যুক্ত করুন:

alias untar="tar xvf"
alias dotar="tar cvf"

তারপরে untar foo.tar.gzআপনি নিষ্কাশন করতে এবং dotar foo.barসংকোচনের জন্য ব্যবহার করতে পারেন । আপনার মনে রাখা সহজ যে আপনি অন্যান্য উপাধি ব্যবহার করতে পারেন।


0

সি reate জেড আইপি থেকে এফ ilename

tar -czf myfile.tar.gz myfile.sql

এক্স ট্র্যাক্ট জেড আইপি সহ এফ ilename

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