কম্পিউটার

লিনাক্সে টি কমান্ড - স্প্লিট শেল আউটপুট [উদাহরণ]

টি লিনাক্স শেল/কমান্ড লাইনের কমান্ড একটি অ্যাপ্লিকেশনের আউটপুটকে বিভক্ত করে - একটি ফাইল এবং উভয়েই আউটপুট প্রেরণ করে STDOUT (কনসোল বা অন্য অ্যাপ্লিকেশন)। এটি কীভাবে ব্যবহার করবেন তা এখানে।

টি কমান্ডের নামকরণ করা হয়েছে প্লাম্বিং-এ ব্যবহৃত একটি টি-স্প্লিটারের জন্য - একটি পাইপ যা একটি একক উৎস থেকে জলকে দুটি দিক থেকে পুনঃনির্দেশিত করে।

tee কমান্ড সিনট্যাক্স

টি একটি সাধারণ উদ্দেশ্য এবং সহজ সিনট্যাক্স সহ একটি কমান্ড:

tee OPTIONS FILE

মনে রাখবেন:

  • বিকল্পগুলি৷ নীচের টেবিল থেকে বিকল্পগুলির একটি তালিকা
  • ফাইল আপনি যে ফাইলের আউটপুট সংরক্ষণ করতে চান সেটির পথ হল
  • ইনপুটকে পাইপ করা বা টি-তে পুনঃনির্দেশিত করা দরকার – অন্যথায়, এটির সাথে কাজ করার কিছু নেই
    • এটি স্ট্যান্ডার্ড ইনপুট/আউটপুট পুনঃনির্দেশ করে করা হয় – উদাহরণের জন্য নীচে দেখুন
  • টি এটিকে দেওয়া ডেটা উভয়ই FILE এ আউটপুট করবে সেইসাথে STDOUT নির্দিষ্ট করা হয়েছে (স্ট্যান্ডার্ড আউটপুট)
    • ডিফল্টরূপে, এটি কনসোলে আউটপুট হবে, তবে এটি অন্যান্য অ্যাপ্লিকেশনগুলিতেও পুনঃনির্দেশিত হতে পারে

বিকল্পগুলি

এখানে tee-এর জন্য সবচেয়ে বেশি ব্যবহৃত বিকল্পগুলি রয়েছে৷ কমান্ড:

-a, –append প্রদত্ত ফাইলগুলিতে যোগ করুন, ওভাররাইট করবেন না
-i, -ignore-interrupts বিঘ্নিত সংকেত উপেক্ষা করুন

আরও বিকল্পের জন্য, কীভাবে ত্রুটি নির্ণয় করতে হয়, আপনি ব্যবহার করে ম্যানুয়ালটি দেখতে পারেন:

man tee

tee কমান্ডের উদাহরণ

কিভাবে tee তার কিছু সহজ উদাহরণ এখানে দেওয়া হল ব্যবহার করা যেতে পারে।

এই সমস্ত উদাহরণ ইকো ব্যবহার করে কমান্ড, যা কেবলমাত্র এটিতে সরবরাহ করা পাঠ্যকে আউটপুট করে।

একটি কমান্ড থেকে একটি নতুন ফাইলে আউটপুট দেখুন এবং সংরক্ষণ করুন

প্রতিধ্বনি-এর আউটপুট কমান্ডটি টি-তে পাইপ করা হবে, যা এটিকে একটি ফাইলে সংরক্ষণ করবে পাশাপাশি কনসোলে আউটপুট করবে:

echo "hello!" | tee hello.txt

যদি ফাইল hello.txt বিদ্যমান, এটি ওভাররাইট করা হবে।

একটি কমান্ড থেকে একটি বিদ্যমান ফাইলে আউটপুট দেখুন এবং সংরক্ষণ করুন

এই উদাহরণটি উপরের মতই করে, কিন্তু এটি একটি বিদ্যমান ফাইলের শেষে এটিকে ওভাররাইট করার পরিবর্তে যুক্ত করবে:

echo "hello again!" | tee -a hello.txt

একাধিক ফাইলে আউটপুট সংরক্ষণ বা যুক্ত করুন

একাধিক ফাইল স্পেস দিয়ে আলাদা করে নির্দিষ্ট করা যেতে পারে:

echo "hello several files!" | tee hello1.txt hello2.txt hello3.txt

পুনঃনির্দেশ/পাইপ tee আউটপুট

tee-এর আদর্শ আউটপুট পাইপ করা এবং পুনঃনির্দেশিত করা যেতে পারে। নিচের উদাহরণটি ইকোর আউটপুট hello.txt-এ সেভ করবে। দ আউটপুট তারপর grep-এ পাঠানো হবে কনসোলে আউটপুটের পরিবর্তে কমান্ড:

echo "hello!" | tee hello.txt | grep hello

উদাহরণস্বরূপ, grep কমান্ড (যা টেক্সট ইনপুট অনুসন্ধানের জন্য ব্যবহৃত হয়) কেবল "হ্যালো" শব্দের জন্য tee থেকে আউটপুট অনুসন্ধান করে৷

বিঘ্ন উপেক্ষা করা

বাধা উপেক্ষা করা (উদাহরণস্বরূপ CTRL + C টিপলে কমান্ডটি ছেড়ে দেওয়া) tee থেকে ক্লিনার আউটপুট হতে পারে :

echo "hello!" | tee -i hello.txt

tee ব্যবহার করা sudo এর সাথে

সুডো কমান্ড আপনাকে রুট হিসাবে লগ ইন না করেই রুট ব্যবহারকারী হিসাবে কমান্ডগুলি চালানোর অনুমতি দেয় এবং এটি সাধারণত ব্যবহৃত হয়৷

নিম্নলিখিত স্নিপেটে – sudo করে না আপনাকে sudo হিসাবে কমান্ডের আউটপুট পুনর্নির্দেশ করার অনুমতি দেয় কমান্ড নিজেই পুনঃনির্দেশ সঞ্চালন করে না যেভাবে এটি পুনঃনির্দেশ চিহ্নের আগে প্রদর্শিত হয় (> ):

sudo echo "hello!" > /root/hello.txt

…এটি একটি অনুমতি ত্রুটির সাথে ব্যর্থ হবে কারণ /root ডিরেক্টরির রুট সুবিধা প্রয়োজন, কিন্তু sudo কমান্ড শুধুমাত্র echo-এ এই সুবিধাগুলি প্রয়োগ করে কমান্ড - পরবর্তীতে আসা রিডাইরেকশন নয়।

এটির কাছাকাছি যাওয়ার একটি কৌশল হল tee ব্যবহার করা কমান্ড:

echo "hello!" | sudo tee /root/hello.txt

এটি কাজ করবে কারণ echo-এর আউটপুট কমান্ড tee-এ পাঠানো হয় , যা হয় sudo এর মাধ্যমে প্রশাসনিক সুযোগ-সুবিধা সহ চালানো হচ্ছে – এবং tee আউটপুট সংরক্ষণ করে।


  1. লিনাক্সে কীভাবে সাধারণ শেল স্ক্রিপ্ট তৈরি করবেন

  2. মার্সেল - লিনাক্সের জন্য আরও আধুনিক শেল

  3. লিনাক্স শেল প্রোগ্রামিং এর গাণিতিক দিক – চতুর্থ অংশ

  4. লিনাক্সে ফাইল এবং ডিরেক্টরি তালিকাভুক্ত করার জন্য কমান্ড