মডিউল পাঠ (1/2)
আউটপুট এবং পুনঃনির্দেশ (ইকো, বিড়াল, >)
লিনাক্সে, প্রায় সমস্ত কমান্ড একটি ইনপুট স্ট্রীম থেকে ডেটা পড়ে এবং একটি আউটপুট স্ট্রীমে ফলাফল লেখে। এই চ্যানেলগুলিকে স্ট্যান্ডার্ড স্ট্রিম বলা হয়:
- স্ট্যান্ডার্ড ইনপুট (stdin): যে স্ট্রীম থেকে কমান্ডটি তার ইনপুট পড়ে (ডিফল্ট হল কীবোর্ড)।
- স্ট্যান্ডার্ড আউটপুট (stdout): যে স্ট্রীমটিতে কমান্ডটি তার সফল আউটপুট লেখে (ডিফল্ট হল টার্মিনাল স্ক্রিন)।
- স্ট্যান্ডার্ড ত্রুটি (stderr): যে স্ট্রীমটিতে কমান্ডটি তার ত্রুটি বার্তাগুলি লেখে (ডিফল্ট হল স্ক্রিন)।
কমান্ড লাইন ব্যবহার করে, আমরা সরাসরি ফাইলগুলিতে ফলাফল সংরক্ষণ করতে এই স্ট্রীমগুলিকে পুনঃনির্দেশ করতে পারি।
প্রিন্টিং টেক্সট: echo
echo কমান্ডটি কেবল তার আদর্শ আউটপুটে (স্ক্রিন) এর আর্গুমেন্ট লেখে:
echo "Hello everyone"পুনঃনির্দেশিত আউটপুট (ওভাররাইট): >
আপনি যদি একটি কমান্ডের আউটপুটটি স্ক্রীনে প্রদর্শনের পরিবর্তে একটি ফাইলে সংরক্ষণ করতে চান, তাহলে আপনি > এর চেয়ে বড় রিডাইরেক্ট অপারেটর ব্যবহার করতে পারেন:
echo "Hello everyone" > greetings.txtএই কমান্ডটি echo চালায় এবং এর আউটপুট greetings.txt ফাইলে পুনঃনির্দেশ করে।
[!গুরুত্বপূর্ণ] যদি
greetings.txtফাইলটি বিদ্যমান না থাকে তবে এটি তৈরি করা হয়। যদি এটি ইতিমধ্যেই বিদ্যমান থাকে, তাহলে **এর বিদ্যমান বিষয়বস্তু সম্পূর্ণরূপে মুছে ফেলা হবে এবং নতুন আউটপুট দিয়ে ওভাররাইট করা হবে।
ফাইলের বিষয়বস্তু পড়া: cat
ফ্লাইতে এক বা একাধিক টেক্সট ফাইলের বিষয়বস্তু দেখতে, cat কমান্ডটি ব্যবহার করুন (concatenate এর জন্য সংক্ষিপ্ত):
cat greetings.txtআউটপুট যুক্ত করা হচ্ছে: >>
আপনি যদি একটি বিদ্যমান ফাইলের শেষে নতুন লাইনগুলিকে ওভাররাইট না করে সংযোজন করতে চান, তাহলে আপনাকে অবশ্যই অ্যাপেন্ড অপারেটর >> ব্যবহার করতে হবে:
echo "New line of text" >> greetings.txtএখন, cat greetings.txt দিয়ে ফাইল পড়া প্রথম লাইন এবং দ্বিতীয় লাইন উভয়ই দেখাবে।
ব্যবহারের উদাহরণ এবং সাধারণ ত্রুটি
আপনি একই সময়ে একাধিক ফাইল cat এ ক্রমানুসারে প্রদর্শন করতে পারেন (সংযুক্ত):
cat notes.txt info.txt
# Output:
# Keep learning Linux!
# Linux is awesome.আপনি > অপারেটর ব্যবহার করে সম্মিলিত আউটপুটকে একটি তৃতীয় ফাইলে পুনঃনির্দেশ করতে পারেন:
cat notes.txt info.txt > combined.txtযদি আপনি এমন একটি ফাইল পড়ার চেষ্টা করেন যা বিদ্যমান নেই, cat একটি ত্রুটি বার্তা লিখবে:
cat nonexistent_file.txt
# Output:
# cat: nonexistent_file.txt: No such file or directoryনিজে চেষ্টা করে দেখুন
অনুশীলনী 1: শুভেচ্ছা সহ একটি ফাইল তৈরি করুন
ইকো এবং > অপারেটর ব্যবহার করে 'hello.txt' নামের একটি ফাইল তৈরি করুন যাতে ঠিক 'হ্যালো ওয়ার্ল্ড' লেখাটি রয়েছে।
ইঙ্গিত দেখান
উদ্ধৃতি, > অপারেটর এবং hello.txt-এ স্ট্রিং অনুসরণ করে ইকো ব্যবহার করুন।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ
অনুশীলনী 2: একটি ফাইলে নোট যুক্ত করুন
বর্তমান বিষয়বস্তু মুছে না দিয়ে বিদ্যমান 'notes.txt' ফাইলের শেষে 'Linux is fun' লাইনটি যুক্ত করুন।
ইঙ্গিত দেখান
Notes.txt ফাইলে টেক্সট যোগ করতে >> অপারেটর ব্যবহার করুন।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ
অনুশীলনী 3: ফাইলগুলি সংযুক্ত করুন
'notes.txt' এবং 'info.txt' ফাইলের বিষয়বস্তু সংযুক্ত করুন এবং 'combined.txt' নামে একটি নতুন ফাইলে সম্মিলিত আউটপুট সংরক্ষণ করুন।
ইঙ্গিত দেখান
দুটি উৎস ফাইলের নাম অনুসরণ করে cat ব্যবহার করুন এবং > দিয়ে আউটপুটটিকে গন্তব্য ফাইলে পুনঃনির্দেশ করুন।
সমাধান 3 প্রচেষ্টার পরে উপলব্ধ