'বিড়াল' কীসের জন্য ব্যবহৃত হয়?


14

আমি বিড়াল কমান্ডটি কিছু অনলাইন স্টাফটিতে আসতে দেখেছি এবং আমি কৌতূহল বোধ catকরেছি যে কেবল কিছু সাধারণ কমান্ড লাইনের স্টাফ করছে এমন কোনও ব্যক্তির প্রসঙ্গে কী করেছে এবং এটি কীসের জন্য।

উত্তর:


12

catএর প্রাথমিক উদ্দেশ্য হ'ল বিড়ালকে এনটেইট করা ফাইল। cat file1 file2 ...বিষয়বস্তু প্রদর্শন করা হবে file, file2একের পর এক এবং অন্যদের হিসাবে যদি বিষয়বস্তু একটি একক ফাইলের মধ্যে ছিল। ম্যানপেজটি দেখুন :

NAME
       cat - concatenate and print files

এটি ব্যবহারের জন্য বোঝানো হয়েছে যেখানে হয়:

  • একটি লক্ষ্য কমান্ড ফাইলগুলি থেকে পড়তে পারে না এবং আপনার এটিতে একাধিক ফাইল পাস করার প্রয়োজন। একটি উদাহরণ trইউটিলিটি হয়। সাধারণত, একটি ফাইল সহ, আপনি এটি করতে চান:

    tr < file
    

    তবে একাধিক ফাইলের সাথে, পুনর্নির্দেশটি ব্যবহার করা যাবে না, তাই আপনাকে এটি করতে হবে:

    cat file1 file2 ... | tr
    
  • লক্ষ্য কমান্ড করতে একাধিক ফাইল থেকে পড়া, কিন্তু আপনার এটি একাধিক ফাইল দেওয়া তার আচরণ পরিবর্তন করতে পারে। একটি উদাহরণ wc, যা ফাইলের সাথে প্রতিটি ফাইলের জন্য মুদ্রণ করে, যেখানে আপনি ফাইলের নাম ছাড়াই মোট মোট চেয়েছিলেন।

মনে রাখবেন বেশিরভাগ কমান্ড আপনি সম্মুখীন ( grep, sed, awk, sort, ...) ফাইল পুরোপুরি জরিমানা পড়তে পারেন।

আপনি যদি কোনও ফাইলের বিষয়বস্তু দেখতে চান তবে একটি পেজার ব্যবহার করুন - lessএবং moreউভয়ই দেখার জন্য ফাইল উপস্থাপনে যথেষ্ট দক্ষ, এবং ব্যবহারে আরও সুবিধাজনক।


পুনঃনির্দেশ একাধিক ফাইলের সাথে খুব ভালভাবে ব্যবহার করা যেতে পারে কারণ আপনি এটি প্রক্রিয়া এবং কমান্ড প্রতিস্থাপনের সাথে একত্রিত করতে পারেন: < <(cat file[12]) trপাশাপাশি <<<$(cat file[12]) trএকাধিক ফাইল পুনর্নির্দেশের উভয়ই সঠিক উপায়। অবশ্যই আপনার এটির catজন্যও প্রয়োজন , কেবল পাইপিংই একমাত্র উপায় নয়।
মিষ্টান্ন

@ পেজেন্টিক হতে হলে ডেজার্ট, সেই পুনঃনির্দেশটি এখনও কেবল একটি একক ফাইল ব্যবহার করে - ফাইলটি কমান্ডের স্টডআউট (বা অন্যদিকে যদি স্টিডিন) উপস্থাপন করে। বাশ zsh এর মতো সত্য মাল্টি-ফাইল পুনঃনির্দেশকে সমর্থন করে না।
মুরু

9

catইউনিক্স-এর মতো অপারেটিং সিস্টেমগুলিতে সর্বাধিক ব্যবহৃত কমান্ডগুলির মধ্যে একটি। এটি পাঠ্য ফাইল সম্পর্কিত তিনটি সম্পর্কিত ফাংশন রয়েছে:

  1. তাদের প্রদর্শিত হচ্ছে
  2. তাদের অনুলিপি সংযুক্ত
  3. নতুন তৈরি করা।
  4. ফাইলগুলি অনুলিপি করুন

বিড়ালের সাধারণ বাক্য গঠন:

cat [options] [filenames] [-] [filenames]

ফাইল পড়া

বিড়ালের সর্বাধিক সাধারণ ব্যবহার হ'ল ফাইলগুলির বিষয়বস্তু পড়া, এবং বিড়াল প্রায়শই এই উদ্দেশ্যে সবচেয়ে সুবিধাজনক প্রোগ্রাম। ডিসপ্লে মনিটরে দেখার জন্য একটি টেক্সট ফাইল খোলার জন্য প্রয়োজনীয় সমস্ত কিছুই হ'ল বিড়াল শব্দটি লিখে স্পেস এবং ফাইলটির নাম এবং তারপরে ENTER কী টিপুন। উদাহরণস্বরূপ, নীচে ফাইল 1 নামক কোনও ফাইলের সামগ্রী প্রদর্শিত হবে:

cat file1

শ্রেণীপরংপরা

বিড়ালের দ্বিতীয় ভূমিকাটি সংমিশ্রণ। (এটি বিড়ালের কৌতূহলের নামের উত্স)) মূল ফাইলগুলিতে কোনও প্রভাব নেই।

উদাহরণস্বরূপ, নিম্নলিখিত কমান্ডটি ফাইল ফাইল 1, ফাইল 2 এবং ফাইল 3 এর সামগ্রীর অনুলিপিগুলি একত্রিত করবে:

cat file1 file2 file3

প্রতিটি ফাইলের বিষয়বস্তু মনিটরের স্ক্রিনে প্রদর্শিত হবে। এই আউটপুটটিকে আউটপুট পুনর্নির্দেশ অপারেটরটিকে অন্য ফাইলে যেমন ফাইল 4 এর সাথে নিম্নলিখিতগুলি ব্যবহার করে খুব সহজেই পুনঃনির্দেশ করা যায়:

cat file1 file2 file3 > file4

ফাইল তৈরি

@ মুরু মন্তব্যের জন্য ধন্যবাদ : বিড়াল নিজেই নয় শেল পুনর্নির্দেশ বৈশিষ্ট্যের উপর নির্ভর করে নতুন ফাইল তৈরি করতে সক্ষম

ছোট ফাইলগুলির জন্য এটি প্রায়শই vi, gedit বা অন্যান্য পাঠ্য সম্পাদক ব্যবহার করার চেয়ে সহজ। এটি বিড়াল টাইপ করে তারপরে আউটপুট পুনর্নির্দেশ অপারেটর এবং ফাইলটির নাম তৈরি করা হবে, তারপরে টিপুন ENTERএবং অবশেষে Ctrl& dকীগুলি টিপুন ।

উদাহরণস্বরূপ, টাইপ করে ফাইল 1 নামের একটি নতুন ফাইল তৈরি করা যেতে পারে

cat > file1

তারপরে টিপুন ENTERএবং একই সাথে Ctrl& dকীগুলি টিপুন ।

পিএস 1: ফাইল 1 নামের কোনও ফাইল যদি ইতিমধ্যে উপস্থিত থাকে তবে এটি ওভাররাইট করা হবে

পিএস 2: আপনি অ্যাপেন্ড অপারেটরের >>উদাহরণ বিড়াল >> ফাইল 1 ব্যবহার করে প্রস্থানিত ফাইলটিতে সংযোজন করতে পারেন

ফাইলগুলি অনুলিপি করুন

একটি নতুন ফাইল তৈরি করতে এবং বিদ্যমান ফাইল থেকে এটিতে ডেটা স্থানান্তর করতে ক্যাট কমান্ডটিও ( শেল পুনর্নির্দেশ বৈশিষ্ট্যের উপর নির্ভর করে) ব্যবহার করা যেতে পারে। উদাহরণ: ফাইলের একটি অনুলিপি তৈরি করুন oldfile.txt:

cat oldfile.txt > newfile.txt

তথ্যসূত্র:


1
পুনরায় 3: catএই ফাইলগুলি তৈরি করছে না - শেলটি যখন আপনি পুনঃনির্দেশ ব্যবহার করেন। আপনি ভাল করতে পারে echo foo > file1
মুড়ু

@ মুরু আপনি পুরোপুরি ঠিক বলেছেন, তবে এটি এখনও বিড়াল কমান্ডের ব্যবহার
মেথাক্স

1
না, তা নয়। আপনি catআসলে অন্য কিছু দ্বারা যা করা হচ্ছে তার জন্য আপনি দায়ী করছেন । উদাহরণস্বরূপ, করছেন less file1 > file2(বা grep '.*' file1 > fileবা awk 1 file1 > file2বা ...) একই প্রভাব রয়েছে। 4 এর জন্য Ditto এগুলি কেবল অপব্যবহার।
মুড়ু

আমি জানি আমি এটি ব্যবহার করতে পারি > fileএবং একই ফল দিতে পারি, তবে আমি কি বিড়ালের সাথে এটি করা বৈধ মনে করতে পারি না ?!
মেথক্স

1
আপনি করতে পারেন, যদি আপনি এটি নির্দিষ্ট করেন catতবে ফাইলটি তৈরি হচ্ছে না। বলছে catসৃষ্টি বা কপি ফাইল শুধু সাধারণ মিথ্যা।
মুড়ু

1

এটি কোনও ফাইলের বিষয়বস্তু প্রদর্শন করতে ব্যবহার করা যেতে পারে। উদাহরণ: cat "my file.txt"। আপনি man catকী কী catব্যবহার করতে পারবেন সে সম্পর্কে বিস্তারিত জানাতে আপনিও করতে পারেন ।


0

শেল পুনর্নির্দেশ (বা পাইপিং) ব্যবহার করে ফাইল তৈরির অন্য উপায় এখানে রয়েছে cat:

cat << EOF > foo.sh
#!/bin/sh
echo 'Hello World!'
EOF

cat << EOFস্ট্রিং EOFআবার সম্মুখীন না হওয়া পর্যন্ত নিম্নলিখিত লাইনগুলি আউটপুট দেবে । তারপরে >( >>) আউটপুটটিকে ফাইলে পুনর্নির্দেশ করবে foo.sh। বিকল্প হিসাবে, যদি আপনাকে রুট হিসাবে কোনও ফাইল তৈরি করতে হয়, আপনি আউটপুটটি কমান্ড tee( tee -a) দ্বারা নির্বাহ করা কমান্ডটিতে পাইপ করতে পারেন sudo:

cat << EOF | sudo tee foo.sh && sudo chmod +x foo.sh
#!/bin/sh
HELLO='Hello World!'
echo "\$HELLO"
EOF
  • উপরের ফাইলটি chmod +xসফলভাবে তৈরি করা হলে ( ) নির্বাহযোগ্য করে তুলবে ( &&)।
  • কিছু অক্ষরের বিশেষ অর্থ (হিসাবে $) \এর আউটপুটটির মধ্যে (সহ ) এড়ানো উচিত cat
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.