আমি বিড়াল কমান্ডটি কিছু অনলাইন স্টাফটিতে আসতে দেখেছি এবং আমি কৌতূহল বোধ catকরেছি যে কেবল কিছু সাধারণ কমান্ড লাইনের স্টাফ করছে এমন কোনও ব্যক্তির প্রসঙ্গে কী করেছে এবং এটি কীসের জন্য।
আমি বিড়াল কমান্ডটি কিছু অনলাইন স্টাফটিতে আসতে দেখেছি এবং আমি কৌতূহল বোধ catকরেছি যে কেবল কিছু সাধারণ কমান্ড লাইনের স্টাফ করছে এমন কোনও ব্যক্তির প্রসঙ্গে কী করেছে এবং এটি কীসের জন্য।
উত্তর:
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ইউনিক্স-এর মতো অপারেটিং সিস্টেমগুলিতে সর্বাধিক ব্যবহৃত কমান্ডগুলির মধ্যে একটি। এটি পাঠ্য ফাইল সম্পর্কিত তিনটি সম্পর্কিত ফাংশন রয়েছে:
বিড়ালের সাধারণ বাক্য গঠন:
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
তথ্যসূত্র:
catএই ফাইলগুলি তৈরি করছে না - শেলটি যখন আপনি পুনঃনির্দেশ ব্যবহার করেন। আপনি ভাল করতে পারে echo foo > file1।
catআসলে অন্য কিছু দ্বারা যা করা হচ্ছে তার জন্য আপনি দায়ী করছেন । উদাহরণস্বরূপ, করছেন less file1 > file2(বা grep '.*' file1 > fileবা awk 1 file1 > file2বা ...) একই প্রভাব রয়েছে। 4 এর জন্য Ditto এগুলি কেবল অপব্যবহার।
> fileএবং একই ফল দিতে পারি, তবে আমি কি বিড়ালের সাথে এটি করা বৈধ মনে করতে পারি না ?!
catতবে ফাইলটি তৈরি হচ্ছে না। বলছে catসৃষ্টি বা কপি ফাইল শুধু সাধারণ মিথ্যা।
শেল পুনর্নির্দেশ (বা পাইপিং) ব্যবহার করে ফাইল তৈরির অন্য উপায় এখানে রয়েছে 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।
< <(cat file[12]) trপাশাপাশি<<<$(cat file[12]) trএকাধিক ফাইল পুনর্নির্দেশের উভয়ই সঠিক উপায়। অবশ্যই আপনার এটিরcatজন্যও প্রয়োজন , কেবল পাইপিংই একমাত্র উপায় নয়।