Difference between revisions of "Linux/C2/Redirection-Pipes/Bengali"
(Created page with '{| border=1 !Time !Narration |- |00:00:00 |Redirection এবং Pipes সংক্রান্ত এই কথ্য টিউটোরিয়ালটিতে আপন…') |
PoojaMoolya (Talk | contribs) |
||
Line 3: | Line 3: | ||
!Narration | !Narration | ||
|- | |- | ||
− | | | + | |00:00 |
|Redirection এবং Pipes সংক্রান্ত এই কথ্য টিউটোরিয়ালটিতে আপনাদের স্বাগত জানাচ্ছি । | |Redirection এবং Pipes সংক্রান্ত এই কথ্য টিউটোরিয়ালটিতে আপনাদের স্বাগত জানাচ্ছি । | ||
|- | |- | ||
− | |00:07 | + | |00:07 |
|আমি উবুন্টু ১০.০৪ ব্যবহার করছি । | |আমি উবুন্টু ১০.০৪ ব্যবহার করছি । | ||
|- | |- | ||
− | |00:09 | + | |00:09 |
|আমি ধরে নিচ্ছি, লিনাক্স অপারেটিং সিস্টেম এবং মৌলিক নির্দেশাবলী সম্পর্কে আপনার কিছু ধারণা আছে । | |আমি ধরে নিচ্ছি, লিনাক্স অপারেটিং সিস্টেম এবং মৌলিক নির্দেশাবলী সম্পর্কে আপনার কিছু ধারণা আছে । | ||
|- | |- | ||
− | |00:16 | + | |00:16 |
|সেই সংক্রান্ত মৌখিক টিউটোরিয়াল এই ওয়েবসাইট-টিতে প্রাপ্তিসাধ্য । | |সেই সংক্রান্ত মৌখিক টিউটোরিয়াল এই ওয়েবসাইট-টিতে প্রাপ্তিসাধ্য । | ||
|- | |- | ||
− | |00:22 | + | |00:22 |
|মনে রাখবেন যে লিনাক্স case sensitive । | |মনে রাখবেন যে লিনাক্স case sensitive । | ||
|- | |- | ||
− | |00:25 | + | |00:25 |
|অন্যথায় উল্লেখ করা না থাকলে এই টিউটোরিয়ালটিতে ব্যবহৃত সমস্ত র্নিদেশাবলী ছোট হাতের অক্ষরে আছে । | |অন্যথায় উল্লেখ করা না থাকলে এই টিউটোরিয়ালটিতে ব্যবহৃত সমস্ত র্নিদেশাবলী ছোট হাতের অক্ষরে আছে । | ||
|- | |- | ||
− | |00:32 | + | |00:32 |
|লিনাক্স-এ অধিকাংশ কাজ-ই টার্মিনাল-এর মাধ্যমে হয় । | |লিনাক্স-এ অধিকাংশ কাজ-ই টার্মিনাল-এর মাধ্যমে হয় । | ||
|- | |- | ||
− | |00:35 | + | |00:35 |
|যখন আমরা একটি কমান্ড চালাতে চাই, আমরা কিবোর্ডের মাধ্যমে সেটি লিখি । | |যখন আমরা একটি কমান্ড চালাতে চাই, আমরা কিবোর্ডের মাধ্যমে সেটি লিখি । | ||
|- | |- | ||
− | |00:39 | + | |00:39 |
|ধরুন, আমরা তারিখ এবং সময় দেখতে চাইছি । | |ধরুন, আমরা তারিখ এবং সময় দেখতে চাইছি । | ||
|- | |- | ||
− | |00:41 | + | |00:41 |
|কিবোর্ড-এর মাধ্যমে "date" লিখুন এবং এন্টার টিপুন । | |কিবোর্ড-এর মাধ্যমে "date" লিখুন এবং এন্টার টিপুন । | ||
|- | |- | ||
− | |00:46 | + | |00:46 |
|সাধারণত আমরা কিবোর্ড-এর মাধ্যমে ইনপুট দিয়ে থাকি । | |সাধারণত আমরা কিবোর্ড-এর মাধ্যমে ইনপুট দিয়ে থাকি । | ||
|- | |- | ||
− | |00:48 | + | |00:48 |
|অনুরূপভাবে, কমান্ডের আউটপুট, টার্মিনাল উইন্ডোত়ে প্রদর্শিত হয় । | |অনুরূপভাবে, কমান্ডের আউটপুট, টার্মিনাল উইন্ডোত়ে প্রদর্শিত হয় । | ||
|- | |- | ||
− | |00:56 | + | |00:56 |
|এছাড়াও কোনো কমান্ড চানালোর সময় কিছু ত্রুটি ঘটতে পারে । | |এছাড়াও কোনো কমান্ড চানালোর সময় কিছু ত্রুটি ঘটতে পারে । | ||
|- | |- | ||
− | |00:59 | + | |00:59 |
|উদাহরস্বরূপ, লিখুন "cat space aaa" । এন্টার টিপুন । | |উদাহরস্বরূপ, লিখুন "cat space aaa" । এন্টার টিপুন । | ||
|- | |- | ||
− | |01:05 | + | |01:05 |
|aaa নামক কোনো ফাইলের অস্তিত্ব নেই । | |aaa নামক কোনো ফাইলের অস্তিত্ব নেই । | ||
|- | |- | ||
− | |01:08 | + | |01:08 |
|সেই ত্রুটি- সংক্রান্ত বার্তা এখানে দেখা যাচ্ছে । | |সেই ত্রুটি- সংক্রান্ত বার্তা এখানে দেখা যাচ্ছে । | ||
|- | |- | ||
− | |01:10 | + | |01:10 |
|এখন এই ত্রুটি-টিও টার্মিনাল উইন্ডোর উপর দেখা যাচ্ছে । | |এখন এই ত্রুটি-টিও টার্মিনাল উইন্ডোর উপর দেখা যাচ্ছে । | ||
|- | |- | ||
− | |01:20 | + | |01:20 |
|কমান্ড সংক্রান্ত তিনটি বিশেষ কর্ম হল ইনপুট নেওয়া, আউটপুট দেখানো এবং error বা ত্রুটি রিপোর্ট করা । | |কমান্ড সংক্রান্ত তিনটি বিশেষ কর্ম হল ইনপুট নেওয়া, আউটপুট দেখানো এবং error বা ত্রুটি রিপোর্ট করা । | ||
|- | |- | ||
− | |01:24 | + | |01:24 |
|Redirection শেখার পূর্বে আমাদের দুটি গুরুত্বপূর্ণ ধারণা সম্পর্কে জানা উচিত। সেগুলি হল - স্ট্রিম এবং file descriptor । | |Redirection শেখার পূর্বে আমাদের দুটি গুরুত্বপূর্ণ ধারণা সম্পর্কে জানা উচিত। সেগুলি হল - স্ট্রিম এবং file descriptor । | ||
|- | |- | ||
− | |01:31 | + | |01:31 |
|লিনাক্স শেল যেমন Bash, অক্ষরের স্ট্রিম-এর মাধ্যমে ইনপুট গ্রহণ করে ও আউটপুট পাঠায় । | |লিনাক্স শেল যেমন Bash, অক্ষরের স্ট্রিম-এর মাধ্যমে ইনপুট গ্রহণ করে ও আউটপুট পাঠায় । | ||
|- | |- | ||
− | |01:37 | + | |01:37 |
|কোনো অক্ষর তার আগের এবং পরের অক্ষরের উপর নির্ভর করে না । | |কোনো অক্ষর তার আগের এবং পরের অক্ষরের উপর নির্ভর করে না । | ||
|- | |- | ||
− | |01:41 | + | |01:41 |
|স্ট্রিম-গুলি ফাইল IO পদ্ধতির দ্বারা ব্যবহার করা হয় । | |স্ট্রিম-গুলি ফাইল IO পদ্ধতির দ্বারা ব্যবহার করা হয় । | ||
|- | |- | ||
− | |01:44 | + | |01:44 |
|অক্ষরের স্ট্রিম-টি কোনো একটি ফাইল বা কীবোর্ড বা উইন্ডো ইত্যাদি কোথা থেকে আসছে বা কোথায় যাচ্ছে, ত়া কোনো মূল্য রাখে না । | |অক্ষরের স্ট্রিম-টি কোনো একটি ফাইল বা কীবোর্ড বা উইন্ডো ইত্যাদি কোথা থেকে আসছে বা কোথায় যাচ্ছে, ত়া কোনো মূল্য রাখে না । | ||
|- | |- | ||
− | |01:51 | + | |01:51 |
|লিনাক্স-এ প্রত্যেক খোলা ফাইল-এর সঙ্গে একটি পূর্ণসংখ্যা সংখ্যা যুক্ত থাকে । | |লিনাক্স-এ প্রত্যেক খোলা ফাইল-এর সঙ্গে একটি পূর্ণসংখ্যা সংখ্যা যুক্ত থাকে । | ||
|- | |- | ||
− | |01:57 | + | |01:57 |
|এটিকে file descriptor বলা হয় । | |এটিকে file descriptor বলা হয় । | ||
|- | |- | ||
− | |02:05 | + | |02:05 |
|লিনাক্স শেল তিনটি স্ট্যান্ডার্ড I/O স্ট্রিম ব্যবহার করে । | |লিনাক্স শেল তিনটি স্ট্যান্ডার্ড I/O স্ট্রিম ব্যবহার করে । | ||
|- | |- | ||
− | |02:08 | + | |02:08 |
|প্রতিটি একটি সুনির্দিষ্ট ফাইল descriptor-এর সাথে যুক্ত থাকে । | |প্রতিটি একটি সুনির্দিষ্ট ফাইল descriptor-এর সাথে যুক্ত থাকে । | ||
|- | |- | ||
− | |02:12 | + | |02:12 |
|''stdin হল স্ট্যান্ডার্ড ইনপুট স্ট্রিম । | |''stdin হল স্ট্যান্ডার্ড ইনপুট স্ট্রিম । | ||
|- | |- | ||
− | |02:15 | + | |02:15 |
|এটি কমান্ড-এ ইনপুট দেয় । | |এটি কমান্ড-এ ইনপুট দেয় । | ||
|- | |- | ||
− | |02:17 | + | |02:17 |
|এর ফাইল descriptor মান 0 । | |এর ফাইল descriptor মান 0 । | ||
|- | |- | ||
− | |02:19 | + | |02:19 |
|''stdout'' হল স্ট্যান্ডার্ড আউটপুট স্ট্রিম । | |''stdout'' হল স্ট্যান্ডার্ড আউটপুট স্ট্রিম । | ||
|- | |- | ||
− | |02:22 | + | |02:22 |
|এটি কমান্ড-এর আউটপুট দেখায় । এর ফাইল বর্ণনাকারীর মান ১ । | |এটি কমান্ড-এর আউটপুট দেখায় । এর ফাইল বর্ণনাকারীর মান ১ । | ||
|- | |- | ||
− | |02:26 | + | |02:26 |
|stderr হল স্ট্যান্ডার্ড এরর স্ট্রিম । এটি কমান্ড-এর ত্রুটি-গুলি প্রদর্শন করে । এর ফাইল descriptor হল ২ । | |stderr হল স্ট্যান্ডার্ড এরর স্ট্রিম । এটি কমান্ড-এর ত্রুটি-গুলি প্রদর্শন করে । এর ফাইল descriptor হল ২ । | ||
|- | |- | ||
− | |02:36 | + | |02:36 |
|ইনপুট স্ট্রিম প্রোগ্রামের ইনপুট প্রদান করে । | |ইনপুট স্ট্রিম প্রোগ্রামের ইনপুট প্রদান করে । | ||
|- | |- | ||
− | |02:40 | + | |02:40 |
|সাধারনতঃ এটি টার্মিনাল keystrokes থেকে ইনপুট নেয় । | |সাধারনতঃ এটি টার্মিনাল keystrokes থেকে ইনপুট নেয় । | ||
|- | |- | ||
− | |02:44 | + | |02:44 |
|আউটপুট স্ট্রিম সাধারনতঃ টার্মিনালে অক্ষর প্রিন্ট করে । | |আউটপুট স্ট্রিম সাধারনতঃ টার্মিনালে অক্ষর প্রিন্ট করে । | ||
|- | |- | ||
− | |02:47 | + | |02:47 |
|আগে টার্মিনাল ছিল ASCII typewriter বা display terminal । | |আগে টার্মিনাল ছিল ASCII typewriter বা display terminal । | ||
|- | |- | ||
− | |02:52 | + | |02:52 |
|কিন্তু এখন এটি গ্রাফিকাল ডেস্কটপ-এর উপর একটি টেক্সট উইন্ডো । | |কিন্তু এখন এটি গ্রাফিকাল ডেস্কটপ-এর উপর একটি টেক্সট উইন্ডো । | ||
|- | |- | ||
− | |02:56 | + | |02:56 |
|আমরা দেখেছি যে ৩ টি স্ট্রিমই স্বাভাবিকভাবে কোনো ফাইল-এর সাথে সংযুক্ত থাকে । | |আমরা দেখেছি যে ৩ টি স্ট্রিমই স্বাভাবিকভাবে কোনো ফাইল-এর সাথে সংযুক্ত থাকে । | ||
|- | |- | ||
− | |03:01 | + | |03:01 |
|কিন্তু লিনাক্সে আমরা এটির পরিবর্তন করতে পারি । | |কিন্তু লিনাক্সে আমরা এটির পরিবর্তন করতে পারি । | ||
|- | |- | ||
− | |03:04 | + | |03:04 |
|আমরা এই ৩-টি স্ট্রিম অন্যান্য ফাইলের সাথে সংযুক্ত করতে পারি । | |আমরা এই ৩-টি স্ট্রিম অন্যান্য ফাইলের সাথে সংযুক্ত করতে পারি । | ||
|- | |- | ||
− | |03:07 | + | |03:07 |
|এই প্রক্রিয়া-টিকে redirection বা পুনর্নির্দেশনা বলা হয় । | |এই প্রক্রিয়া-টিকে redirection বা পুনর্নির্দেশনা বলা হয় । | ||
|- | |- | ||
− | |03:09 | + | |03:09 |
|এখন দেখা যাক কিভাবে এই ৩ স্ট্রিম-এ পুনর্নির্দেশনা করা যায় । | |এখন দেখা যাক কিভাবে এই ৩ স্ট্রিম-এ পুনর্নির্দেশনা করা যায় । | ||
|- | |- | ||
− | |03:14 | + | |03:14 |
| প্রথমে দেখা যাক স্ট্যান্ডার্ড ইনপুট কিভাবে পুনঃনির্দেশিত করা যায় । | | প্রথমে দেখা যাক স্ট্যান্ডার্ড ইনপুট কিভাবে পুনঃনির্দেশিত করা যায় । | ||
|- | |- | ||
− | |03:17 | + | |03:17 |
|আমরা একটি ফাইল থেকে standardin, <(বামকোণী বন্ধনী) অপারেটর ব্যবহার করে পুনঃনির্দেশিত করতে পারি । | |আমরা একটি ফাইল থেকে standardin, <(বামকোণী বন্ধনী) অপারেটর ব্যবহার করে পুনঃনির্দেশিত করতে পারি । | ||
|- | |- | ||
− | |03:22 | + | |03:22 |
|আমরা জানি যে একটি ফাইলের লাইন, শব্দ এবং অক্ষরের সংখ্যা জানতে wc কমান্ডের ব্যবহার করা হয় । | |আমরা জানি যে একটি ফাইলের লাইন, শব্দ এবং অক্ষরের সংখ্যা জানতে wc কমান্ডের ব্যবহার করা হয় । | ||
|- | |- | ||
− | |03:28 | + | |03:28 |
|টার্মিনাল উইন্ডো-ত়ে wc লিখুন । | |টার্মিনাল উইন্ডো-ত়ে wc লিখুন । | ||
|- | |- | ||
− | |03:31 | + | |03:31 |
|এন্টার টিপুন । | |এন্টার টিপুন । | ||
|- | |- | ||
− | |03:32 | + | |03:32 |
|কারসর-টি দপদপ করছে অর্থাৎ আমাদের কিবোর্ড-এর মাধ্যমে ইনপুট দিতে হবে । | |কারসর-টি দপদপ করছে অর্থাৎ আমাদের কিবোর্ড-এর মাধ্যমে ইনপুট দিতে হবে । | ||
|- | |- | ||
− | |03:37 | + | |03:37 |
|কিছু লেখা যাক "This tutorial is very important" । | |কিছু লেখা যাক "This tutorial is very important" । | ||
|- | |- | ||
− | |03:46 | + | |03:46 |
|এন্টার টিপুন । | |এন্টার টিপুন । | ||
|- | |- | ||
− | |03:48 | + | |03:48 |
|এবার ctrl ও d কী একসাথে টিপুন । | |এবার ctrl ও d কী একসাথে টিপুন । | ||
|- | |- | ||
− | |03:52 | + | |03:52 |
|এখন যে লাইনগুলি আমরা লিখেছি, তার উপর কমান্ড-টি কাজ করেছে । | |এখন যে লাইনগুলি আমরা লিখেছি, তার উপর কমান্ড-টি কাজ করেছে । | ||
|- | |- | ||
− | |03:55 | + | |03:55 |
|এই কমান্ড-টি টার্মিনাল-এ আউটপুট দেখাছে । | |এই কমান্ড-টি টার্মিনাল-এ আউটপুট দেখাছে । | ||
|- | |- | ||
− | |03:57 | + | |03:57 |
|এখানে wc কমান্ড-এর পর কোনো ফাইল উল্লেখ করা হয়নি । | |এখানে wc কমান্ড-এর পর কোনো ফাইল উল্লেখ করা হয়নি । | ||
|- | |- | ||
− | |04:01 | + | |04:01 |
|তাই কমান্ড-টি স্ট্যান্ডার্ড ইনপুট স্ট্রিম থেকে ইনপুট নিয়েছে । | |তাই কমান্ড-টি স্ট্যান্ডার্ড ইনপুট স্ট্রিম থেকে ইনপুট নিয়েছে । | ||
|- | |- | ||
− | |04:04 | + | |04:04 |
|স্ট্যান্ডার্ড ইনপুট স্ট্রিম স্বাভাবিকভাবে-ই কিবোর্ড-এর সাথে যুক্ত থাকে । তাই wc কিবোর্ড থেকে ইনপুট নেয় । | |স্ট্যান্ডার্ড ইনপুট স্ট্রিম স্বাভাবিকভাবে-ই কিবোর্ড-এর সাথে যুক্ত থাকে । তাই wc কিবোর্ড থেকে ইনপুট নেয় । | ||
|- | |- | ||
− | |04:12 | + | |04:12 |
|এখন যদি আমরা লিখি - | |এখন যদি আমরা লিখি - | ||
"wc space বামকোণী বন্ধনী space test1 dot txt" । | "wc space বামকোণী বন্ধনী space test1 dot txt" । | ||
|- | |- | ||
− | |04:19 | + | |04:19 |
|তাহলে wc test1 dot txt ফাইল-এর লাইন, শব্দ এবং অক্ষরের সংখ্যা দেখাবে । | |তাহলে wc test1 dot txt ফাইল-এর লাইন, শব্দ এবং অক্ষরের সংখ্যা দেখাবে । | ||
|- | |- | ||
− | |04:27 | + | |04:27 |
|এবার লিখুন । | |এবার লিখুন । | ||
"wc space test1 dot txt" । | "wc space test1 dot txt" । | ||
|- | |- | ||
− | |04:34 | + | |04:34 |
|আমরা একই আউটপুট দেখছি । | |আমরা একই আউটপুট দেখছি । | ||
|- | |- | ||
− | |04:37 | + | |04:37 |
|তাহলে পার্থক্য -টি কোথায় ? | |তাহলে পার্থক্য -টি কোথায় ? | ||
|- | |- | ||
− | |04:39 | + | |04:39 |
| "wc space test1 dot txt" লিখলে , কমান্ড-টি test1dot txt ফাইল-টি খোলে এবং সেটি থেকে পড়ে । | | "wc space test1 dot txt" লিখলে , কমান্ড-টি test1dot txt ফাইল-টি খোলে এবং সেটি থেকে পড়ে । | ||
|- | |- | ||
− | |04:46 | + | |04:46 |
|কিন্তু উপরের কমান্ড-টি লিখলে , wc খোলার জন্য কোনো ফাইল পায়না । | |কিন্তু উপরের কমান্ড-টি লিখলে , wc খোলার জন্য কোনো ফাইল পায়না । | ||
|- | |- | ||
− | |04:53 | + | |04:53 |
|তাই , এটি standardin থেকে ইনপুট নিতে চেষ্টা করে । | |তাই , এটি standardin থেকে ইনপুট নিতে চেষ্টা করে । | ||
|- | |- | ||
− | |04:57 | + | |04:57 |
|কিন্তু আমরা standardin -কে ফাইল test1dot txt -এর দিকে পরিচালিত করেছি । | |কিন্তু আমরা standardin -কে ফাইল test1dot txt -এর দিকে পরিচালিত করেছি । | ||
|- | |- | ||
− | |05:01 | + | |05:01 |
|তাই এই কমান্ড-টি test1 থেকে পড়ে । | |তাই এই কমান্ড-টি test1 থেকে পড়ে । | ||
|- | |- | ||
− | |05:04 | + | |05:04 |
|কিন্তু প্রকৃতপক্ষে , এটা জানে না যে standardin-e কোথা থেকে তথ্য আসছে । | |কিন্তু প্রকৃতপক্ষে , এটা জানে না যে standardin-e কোথা থেকে তথ্য আসছে । | ||
|- | |- | ||
− | |05:10 | + | |05:10 |
|তাহলে আমরা দেখলাম কিভাবে স্ট্যান্ডার্ড ইনপুট পুননির্দেশনা করা যায় । | |তাহলে আমরা দেখলাম কিভাবে স্ট্যান্ডার্ড ইনপুট পুননির্দেশনা করা যায় । | ||
|- | |- | ||
− | |05:12 | + | |05:12 |
|এবার দেখে নেওয়া যাক কিভাবে স্ট্যান্ডার্ড আউটপুট এবং স্ট্যান্ডার্ড এরর পুননির্দেশনা করা যায় । | |এবার দেখে নেওয়া যাক কিভাবে স্ট্যান্ডার্ড আউটপুট এবং স্ট্যান্ডার্ড এরর পুননির্দেশনা করা যায় । | ||
|- | |- | ||
− | |05:17 | + | |05:17 |
|দুটি পদ্ধতিতে আউটপুট বা এরর একটি ফাইল-এ পুননির্দেশনা করা যায় । | |দুটি পদ্ধতিতে আউটপুট বা এরর একটি ফাইল-এ পুননির্দেশনা করা যায় । | ||
|- | |- | ||
− | |05:20 | + | |05:20 |
|ধরুন, n হল ফাইল descriptor । | |ধরুন, n হল ফাইল descriptor । | ||
''n'' একটি ডানকোণী বন্ধনী ফাইল descriptor ''n'' থেকে একটি ফাইল-এ আউটপুট redirect করে । | ''n'' একটি ডানকোণী বন্ধনী ফাইল descriptor ''n'' থেকে একটি ফাইল-এ আউটপুট redirect করে । | ||
|- | |- | ||
− | |05:29 | + | |05:29 |
|আপনার অবশ্যই সেই ফাইল-এ লেখার অধিকার থাকতে হবে । | |আপনার অবশ্যই সেই ফাইল-এ লেখার অধিকার থাকতে হবে । | ||
|- | |- | ||
− | |05:32 | + | |05:32 |
|যদি ফাইলটি উপস্থিত না থাকে, সেটি নির্মিত হয় । | |যদি ফাইলটি উপস্থিত না থাকে, সেটি নির্মিত হয় । | ||
|- | |- | ||
− | |05:35 | + | |05:35 |
|যদি সেটির অস্তিত্ব আগে থেকেই থাকে, তাহলে উপস্থিত বিষয়বস্তু সাধারণত কোন সতর্কত়াবাণী ছাড়াই হারিয়ে যায় । | |যদি সেটির অস্তিত্ব আগে থেকেই থাকে, তাহলে উপস্থিত বিষয়বস্তু সাধারণত কোন সতর্কত়াবাণী ছাড়াই হারিয়ে যায় । | ||
|- | |- | ||
− | |05:40 | + | |05:40 |
|' n ' দুটি ডানকোণী বন্ধনী ' -ও ফাইল বর্ণনাকারী ''n'' থেকে একটি ফাইল-এ আউটপুট পুননির্দেশনা করে । | |' n ' দুটি ডানকোণী বন্ধনী ' -ও ফাইল বর্ণনাকারী ''n'' থেকে একটি ফাইল-এ আউটপুট পুননির্দেশনা করে । | ||
|- | |- | ||
− | |05:47 | + | |05:47 |
|এক্ষেত্রেও, আপনার সেই ফাইল-এ লেখার অধিকার থাকতে হবে । | |এক্ষেত্রেও, আপনার সেই ফাইল-এ লেখার অধিকার থাকতে হবে । | ||
|- | |- | ||
− | |05:50 | + | |05:50 |
|যদি ফাইলটি উপস্থিত না থাকে , সেটি নির্মিত হয় । | |যদি ফাইলটি উপস্থিত না থাকে , সেটি নির্মিত হয় । | ||
|- | |- | ||
− | |05:52 | + | |05:52 |
|যদি ফাইলটির অস্তিত্ব আগে থেকেই থাকে, তাহলে আউটপুট সেই ফাইল-এর শেষে যুক্ত হয় । | |যদি ফাইলটির অস্তিত্ব আগে থেকেই থাকে, তাহলে আউটপুট সেই ফাইল-এর শেষে যুক্ত হয় । | ||
|- | |- | ||
− | |05:59 | + | |05:59 |
|একটি ডানকোণী বন্ধনী বা দুটি ডানকোণী বন্ধনীর আগে n হল ফাইল descriptor । | |একটি ডানকোণী বন্ধনী বা দুটি ডানকোণী বন্ধনীর আগে n হল ফাইল descriptor । | ||
|- | |- | ||
− | |06:05 | + | |06:05 |
|এটি বাদ দিলে স্ট্যান্ডার্ড আউপুট অর্থাৎ ফাইল বর্ণনাকারী ১ অনুমান করা হয় । | |এটি বাদ দিলে স্ট্যান্ডার্ড আউপুট অর্থাৎ ফাইল বর্ণনাকারী ১ অনুমান করা হয় । | ||
|- | |- | ||
− | |06:10 | + | |06:10 |
|তাহলে একটি ডানকোণী বন্ধনী এবং ১ এর পর একটি ডানকোণী বন্ধনী আসলে একই কাজ করে । | |তাহলে একটি ডানকোণী বন্ধনী এবং ১ এর পর একটি ডানকোণী বন্ধনী আসলে একই কাজ করে । | ||
|- | |- | ||
− | |06:15 | + | |06:15 |
|কিন্তু ত্রুটির স্ট্রিম-কে redirect করতে আমাদের ২ এর পর একটি বা দুটি ডানকোণী বন্ধনী ব্যবহার করতে হয় । | |কিন্তু ত্রুটির স্ট্রিম-কে redirect করতে আমাদের ২ এর পর একটি বা দুটি ডানকোণী বন্ধনী ব্যবহার করতে হয় । | ||
|- | |- | ||
− | |06:22 | + | |06:22 |
|আসুন, এটি দেখা যাক । | |আসুন, এটি দেখা যাক । | ||
|- | |- | ||
− | |06:24 | + | |06:24 |
|শেষ উদাহরণ-এ আমরা দেখেছি যে ফাইল বা standardin উপর wc কমান্ডের ফলাফল টার্মিনাল উইন্ডোর এ প্রদর্শিত হয় । | |শেষ উদাহরণ-এ আমরা দেখেছি যে ফাইল বা standardin উপর wc কমান্ডের ফলাফল টার্মিনাল উইন্ডোর এ প্রদর্শিত হয় । | ||
|- | |- | ||
− | |06:31 | + | |06:31 |
|কিন্তু, এটি টার্মিনালে প্রদর্শন করতে না চাইলে আমরা কি করবো ? | |কিন্তু, এটি টার্মিনালে প্রদর্শন করতে না চাইলে আমরা কি করবো ? | ||
|- | |- | ||
− | |06:34 | + | |06:34 |
|ধরুন, আমরা এটি একটি ফাইলে সংরক্ষণ করতে চাই , যাতে পরে এই তথ্য ব্যবহার করা যায় । | |ধরুন, আমরা এটি একটি ফাইলে সংরক্ষণ করতে চাই , যাতে পরে এই তথ্য ব্যবহার করা যায় । | ||
|- | |- | ||
− | |06:38 | + | |06:38 |
|স্বাভাভিকভাবে wc standardout -এ আউটপুট লেখে । | |স্বাভাভিকভাবে wc standardout -এ আউটপুট লেখে । | ||
|- | |- | ||
− | |06:42 | + | |06:42 |
|standardout টার্মিনাল উইন্ডোর সাথে সংযুক্ত থাকে । | |standardout টার্মিনাল উইন্ডোর সাথে সংযুক্ত থাকে । | ||
|- | |- | ||
− | |06:45 | + | |06:45 |
|তাই আমরা টার্মিনাল উইন্ডো-ত়ে আউটপুট দেখি । | |তাই আমরা টার্মিনাল উইন্ডো-ত়ে আউটপুট দেখি । | ||
|- | |- | ||
− | |06:48 | + | |06:48 |
|কিন্তু যদি আমরা standardout একটি ফাইল-এ redirect করতে পারি, তাহলে wc কমান্ডের ফলাফল সেই ফাইল-এ লিখিত হবে । | |কিন্তু যদি আমরা standardout একটি ফাইল-এ redirect করতে পারি, তাহলে wc কমান্ডের ফলাফল সেই ফাইল-এ লিখিত হবে । | ||
|- | |- | ||
− | |06:57 | + | |06:57 |
|লিখুন - | |লিখুন - | ||
"wc space test1 dot txt ডানকোণী বন্ধনী wc_results dot txt" । | "wc space test1 dot txt ডানকোণী বন্ধনী wc_results dot txt" । | ||
|- | |- | ||
− | |07:09 | + | |07:09 |
|এন্টার টিপুন । | |এন্টার টিপুন । | ||
|- | |- | ||
− | |07:11 | + | |07:11 |
|এখন এটি প্রকৃতপক্ষে হয়েছে কিনা দেখার জন্যে cat কমান্ড-এর দ্বারা wc_results dot txt ফাইল-এর বিষয়বস্তু দেখা যাক । | |এখন এটি প্রকৃতপক্ষে হয়েছে কিনা দেখার জন্যে cat কমান্ড-এর দ্বারা wc_results dot txt ফাইল-এর বিষয়বস্তু দেখা যাক । | ||
|- | |- | ||
− | |07:23 | + | |07:23 |
|হ্যা, এটি হয়েছে । | |হ্যা, এটি হয়েছে । | ||
|- | |- | ||
− | |07:24 | + | |07:24 |
|ধরুন, ওই একই ডিরেক্টরি-ত়ে অন্য একটি ফাইল test2 আছে । | |ধরুন, ওই একই ডিরেক্টরি-ত়ে অন্য একটি ফাইল test2 আছে । | ||
|- | |- | ||
− | |07:30 | + | |07:30 |
|এখন আবার আমরা test2 ফাইল-ti নিয়ে কমান্ডটি চালাব । লিখছি- | |এখন আবার আমরা test2 ফাইল-ti নিয়ে কমান্ডটি চালাব । লিখছি- | ||
"wc space test2 dot txt ডানকোণী বন্ধনী wc_results dot txt" | "wc space test2 dot txt ডানকোণী বন্ধনী wc_results dot txt" | ||
|- | |- | ||
− | |07:44 | + | |07:44 |
|এক্ষেত্রে, wc_results -ফাইলের বিষয়বস্তু overwrite হয়ে যাবে । | |এক্ষেত্রে, wc_results -ফাইলের বিষয়বস্তু overwrite হয়ে যাবে । | ||
|- | |- | ||
− | |07:48 | + | |07:48 |
|এটি দেখে নেওয়া যাক । | |এটি দেখে নেওয়া যাক । | ||
|- | |- | ||
− | |07:56 | + | |07:56 |
|এর পরিবর্তে আমরা লিখতে পারি "wc space test1 dot txt দুটি ডানকোণী বন্ধনী wc underscore results dot txt" | |এর পরিবর্তে আমরা লিখতে পারি "wc space test1 dot txt দুটি ডানকোণী বন্ধনী wc underscore results dot txt" | ||
|- | |- | ||
− | |08:07 | + | |08:07 |
|নতুন বিষয়বস্তু ফাইল wc underscore results dot txt -এর বর্তমান উপস্থিত বিষয়বস্তু overwrite করে না, সেই ফাইল-এর শেষে যুক্ত হয়ে যায় । | |নতুন বিষয়বস্তু ফাইল wc underscore results dot txt -এর বর্তমান উপস্থিত বিষয়বস্তু overwrite করে না, সেই ফাইল-এর শেষে যুক্ত হয়ে যায় । | ||
|- | |- | ||
− | |08:15 | + | |08:15 |
|এটিও দেখে নেওয়া যাক । এখানে দুটি লেখাই দেখা যাচ্ছে । | |এটিও দেখে নেওয়া যাক । এখানে দুটি লেখাই দেখা যাচ্ছে । | ||
|- | |- | ||
− | |08:26 | + | |08:26 |
|স্ট্যান্ডার্ড এরর অনুরূপভাবে redirect করা যায় । | |স্ট্যান্ডার্ড এরর অনুরূপভাবে redirect করা যায় । | ||
|- | |- | ||
− | |08:29 | + | |08:29 |
|শুধু পার্থক্য হল, এইক্ষেত্রে একটি ডানকোণী বন্ধনী বা দুটি ডানকোণী বন্ধনীর আগে স্ট্যান্ডার্ড এরর-এর ফাইল descriptor সংখ্যা উল্লেখ করতে হয় । | |শুধু পার্থক্য হল, এইক্ষেত্রে একটি ডানকোণী বন্ধনী বা দুটি ডানকোণী বন্ধনীর আগে স্ট্যান্ডার্ড এরর-এর ফাইল descriptor সংখ্যা উল্লেখ করতে হয় । | ||
|- | |- | ||
− | |08:38 | + | |08:38 |
|আমরা জানি aaa নামক কোন ফাইল উপস্থিত নেই । তাহলে লেখা যাক - | |আমরা জানি aaa নামক কোন ফাইল উপস্থিত নেই । তাহলে লেখা যাক - | ||
"wc space aaa" । | "wc space aaa" । | ||
|- | |- | ||
− | |08:46 | + | |08:46 |
|শেল ত্রুটি জানাচ্ছে যে - “No such file or directory”। | |শেল ত্রুটি জানাচ্ছে যে - “No such file or directory”। | ||
|- | |- | ||
− | |08:50 | + | |08:50 |
|ধরুন, আমরা স্ক্রিন-এ এই বার্তা দেখতে চাই না । তারজন্য, সেগুলি অন্য ফাইল-এ redirect করতে হবে । | |ধরুন, আমরা স্ক্রিন-এ এই বার্তা দেখতে চাই না । তারজন্য, সেগুলি অন্য ফাইল-এ redirect করতে হবে । | ||
|- | |- | ||
− | |08:55 | + | |08:55 |
|লেখা যাক - | |লেখা যাক - | ||
"wc space aaa space 2 ডানকোণী বন্ধনী errorlog dot txt" । | "wc space aaa space 2 ডানকোণী বন্ধনী errorlog dot txt" । | ||
|- | |- | ||
− | |09:06 | + | |09:06 |
|এখন ত্রুটি-গুলি টার্মিনালে প্রদর্শিত হচ্ছে না , বরং ফাইল errorlog dot txt -ত়ে লিখিত হয়ে গেছে । | |এখন ত্রুটি-গুলি টার্মিনালে প্রদর্শিত হচ্ছে না , বরং ফাইল errorlog dot txt -ত়ে লিখিত হয়ে গেছে । | ||
|- | |- | ||
− | |09:12 | + | |09:12 |
|আমরা "cat space errorlog dot txt" কমান্ড-এর মাধ্যমে এটি দেখতে পারি । | |আমরা "cat space errorlog dot txt" কমান্ড-এর মাধ্যমে এটি দেখতে পারি । | ||
। | । | ||
|- | |- | ||
− | |09:22 | + | |09:22 |
|ধরুন, আমি "cat space bbb space 2 ডানকোণী বন্ধনী errorlog dot txt" কমান্ড ব্যবহার করে কিছু ক্রুটি করেছি । | |ধরুন, আমি "cat space bbb space 2 ডানকোণী বন্ধনী errorlog dot txt" কমান্ড ব্যবহার করে কিছু ক্রুটি করেছি । | ||
|- | |- | ||
− | |09:34 | + | |09:34 |
|এখন পূর্ববর্তী ক্রুটি overwrite হয়ে যাবে এবং নতুন ক্রুটি দেখা যাবে । | |এখন পূর্ববর্তী ক্রুটি overwrite হয়ে যাবে এবং নতুন ক্রুটি দেখা যাবে । | ||
|- | |- | ||
− | |09:39 | + | |09:39 |
|দেখুন "cat space errorlog dot txt" | |দেখুন "cat space errorlog dot txt" | ||
|- | |- | ||
− | |09:46 | + | |09:46 |
|কিন্তু সবকটি error-এর তালিকা দেখতে চাইলে আমরা কি করবো ? | |কিন্তু সবকটি error-এর তালিকা দেখতে চাইলে আমরা কি করবো ? | ||
Line 364: | Line 364: | ||
"wc space aaa space 2 দুটি ডানকোণী বন্ধনী errorlog dot txt" । | "wc space aaa space 2 দুটি ডানকোণী বন্ধনী errorlog dot txt" । | ||
|- | |- | ||
− | |09:58 | + | |09:58 |
|cat কমান্ড ব্যবহার করে এটি পরীক্ষা করা যাক । | |cat কমান্ড ব্যবহার করে এটি পরীক্ষা করা যাক । | ||
|- | |- | ||
− | |10:06 | + | |10:06 |
|তাহলে আমরা দেখলাম কিভাবে তিনটি স্ট্রিম -স্ট্যান্ডার্ড আউট, স্ট্যান্ডার্ড in ও স্ট্যান্ডার্ড এরর-কে আলাদাভাবে redirect এবং ব্যবহার করা যায় । কিন্তু এই তিনটি স্ট্রিম -কে একসাথে ব্যবহার অর্থাৎ বিভিন্ন স্ট্রিম-গুলি যুক্ত কতে পারলে, redirection আসল ক্ষমতা বোঝা যায় । | |তাহলে আমরা দেখলাম কিভাবে তিনটি স্ট্রিম -স্ট্যান্ডার্ড আউট, স্ট্যান্ডার্ড in ও স্ট্যান্ডার্ড এরর-কে আলাদাভাবে redirect এবং ব্যবহার করা যায় । কিন্তু এই তিনটি স্ট্রিম -কে একসাথে ব্যবহার অর্থাৎ বিভিন্ন স্ট্রিম-গুলি যুক্ত কতে পারলে, redirection আসল ক্ষমতা বোঝা যায় । | ||
|- | |- | ||
− | |10:20 | + | |10:20 |
|একে pipelining বলা হয় । | |একে pipelining বলা হয় । | ||
|- | |- | ||
− | |10:22 | + | |10:22 |
|পাইপ কমান্ড-এর শৃঙ্খল তৈরী করে । | |পাইপ কমান্ড-এর শৃঙ্খল তৈরী করে । | ||
|- | |- | ||
− | |10:25 | + | |10:25 |
|পাইপ একটি কমান্ডের আউটপুট-এর সাথে পরবর্তী কমান্ডের ইনপুট যুক্ত করে । | |পাইপ একটি কমান্ডের আউটপুট-এর সাথে পরবর্তী কমান্ডের ইনপুট যুক্ত করে । | ||
|- | |- | ||
− | |10:30 | + | |10:30 |
|এটি লেখার নিয়ম হল - | |এটি লেখার নিয়ম হল - | ||
command1 উল্লম্ব দাঁড়ি command2 hyphen option উল্লম্ব দাঁড়ি command3 hyphen option1 hyphen option2 উল্লম্ব দাঁড়ি command4 । | command1 উল্লম্ব দাঁড়ি command2 hyphen option উল্লম্ব দাঁড়ি command3 hyphen option1 hyphen option2 উল্লম্ব দাঁড়ি command4 । | ||
|- | |- | ||
− | |10:46 | + | |10:46 |
|ধরুন, আমরা বর্তমান ডিরেক্টরির মধ্যে উপস্থিত ফাইল ও ডিরেক্টরির মোট সংখ্যা জানতে চাই । | |ধরুন, আমরা বর্তমান ডিরেক্টরির মধ্যে উপস্থিত ফাইল ও ডিরেক্টরির মোট সংখ্যা জানতে চাই । | ||
|- | |- | ||
− | |10:51 | + | |10:51 |
|তাহলে আমরা কি করবো ? আমরা জানি | |তাহলে আমরা কি করবো ? আমরা জানি | ||
"ls space minus l" বর্তমান ডিরেক্টরি-র সব ফাইল এবং সাব-ডিরেক্টরির তালিকা দেয় । | "ls space minus l" বর্তমান ডিরেক্টরি-র সব ফাইল এবং সাব-ডিরেক্টরির তালিকা দেয় । | ||
|- | |- | ||
− | |10:58 | + | |10:58 |
|আমরা আউটপুট-টিকে একটি ফাইলে redirect করতে পারি - | |আমরা আউটপুট-টিকে একটি ফাইলে redirect করতে পারি - | ||
"ls space minus l ডানকোণী বন্ধনী files dot txt" । | "ls space minus l ডানকোণী বন্ধনী files dot txt" । | ||
|- | |- | ||
− | |11:08 | + | |11:08 |
|"cat space files dot txt" । | |"cat space files dot txt" । | ||
|- | |- | ||
− | |11:14 | + | |11:14 |
|এখানে, প্রতিটি লাইন একটি ফাইল অথবা ডিরেক্টরির নাম । | |এখানে, প্রতিটি লাইন একটি ফাইল অথবা ডিরেক্টরির নাম । | ||
|- | |- | ||
− | |11:17 | + | |11:17 |
|যদি আমরা এই ফাইলের মোট লাইন সংখ্যা জানতে চাই, তাহলে আমরা files dot txt ফাইল-টিকে ব্যবহার করতে পারি । | |যদি আমরা এই ফাইলের মোট লাইন সংখ্যা জানতে চাই, তাহলে আমরা files dot txt ফাইল-টিকে ব্যবহার করতে পারি । | ||
|- | |- | ||
− | |11:24 | + | |11:24 |
|এটি এই কমান্ড-এর মাধ্যমে করা যায়- "wc space minus l files dot txt" । | |এটি এই কমান্ড-এর মাধ্যমে করা যায়- "wc space minus l files dot txt" । | ||
|- | |- | ||
− | |11:32 | + | |11:32 |
|এটি আমাদের উদ্দেশ্য সাধন করলেও এর কিছু সমস্যা আছে । | |এটি আমাদের উদ্দেশ্য সাধন করলেও এর কিছু সমস্যা আছে । | ||
|- | |- | ||
− | |11:35 | + | |11:35 |
|প্রথমত, একটি অন্তর্বর্তী ফাইল files dot txt প্রয়োজন হয় । | |প্রথমত, একটি অন্তর্বর্তী ফাইল files dot txt প্রয়োজন হয় । | ||
|- | |- | ||
− | |11:40 | + | |11:40 |
|যদি প্রথম কমান্ড অনেক তথ্য উত্পাদন করে, এটা অকারণে ডিস্ক মেমরি নষ্ট করতে পারে । | |যদি প্রথম কমান্ড অনেক তথ্য উত্পাদন করে, এটা অকারণে ডিস্ক মেমরি নষ্ট করতে পারে । | ||
|- | |- | ||
− | |11:46 | + | |11:46 |
|এছাড়াও য বিভিন্ন কমান্ড-এর শৃঙ্খল তৈরী করতে চাইলে এই পদ্ধতিটি সময়সাপেক্ষ । | |এছাড়াও য বিভিন্ন কমান্ড-এর শৃঙ্খল তৈরী করতে চাইলে এই পদ্ধতিটি সময়সাপেক্ষ । | ||
|- | |- | ||
− | |11:50 | + | |11:50 |
|আমরা এটি অনেক সহজেই পাইপ ব্যবহার করে কাজটি করতে পারি । লেখা যাক - | |আমরা এটি অনেক সহজেই পাইপ ব্যবহার করে কাজটি করতে পারি । লেখা যাক - | ||
"ls space minus l উল্লম্ব দাঁড়ি wc space minus l" । | "ls space minus l উল্লম্ব দাঁড়ি wc space minus l" । | ||
|- | |- | ||
− | |12:01 | + | |12:01 |
|এখন আমরা অনেক বেশি স্বাচ্ছন্দ্য-এর সঙ্গে একই ফলাফল পাচ্ছি । | |এখন আমরা অনেক বেশি স্বাচ্ছন্দ্য-এর সঙ্গে একই ফলাফল পাচ্ছি । | ||
|- | |- | ||
− | |12:06 | + | |12:06 |
|ls কমান্ডের আউটপুট wc কমান্ডের ইনপুট হিসেবে ব্যবহৃত হয় । | |ls কমান্ডের আউটপুট wc কমান্ডের ইনপুট হিসেবে ব্যবহৃত হয় । | ||
|- | |- | ||
− | |12:10 | + | |12:10 |
|এমনকি আমরা পাইপ ব্যবহার করে কমান্ড-এর আরো লম্বা শৃঙ্খল তৈরী করতে পারি । | |এমনকি আমরা পাইপ ব্যবহার করে কমান্ড-এর আরো লম্বা শৃঙ্খল তৈরী করতে পারি । | ||
|- | |- | ||
− | |12:15 | + | |12:15 |
|পাইপ-এর একটি সাধারণ ব্যবহার হল বিভিন্ন পৃষ্ঠায় প্রদর্শিত লেখা পড়া । | |পাইপ-এর একটি সাধারণ ব্যবহার হল বিভিন্ন পৃষ্ঠায় প্রদর্শিত লেখা পড়া । | ||
|- | |- | ||
− | |12:19 | + | |12:19 |
|লিখুন "cd space slash usr slash bin"। | |লিখুন "cd space slash usr slash bin"। | ||
|- | |- | ||
− | |12:24 | + | |12:24 |
|তাহলে আমরা এখন bin ডিরেক্টরী-ত়ে আছি । | |তাহলে আমরা এখন bin ডিরেক্টরী-ত়ে আছি । | ||
|- | |- | ||
− | |12:28 | + | |12:28 |
|এখান "ls minus l" কমান্ড-টি রান করুন । | |এখান "ls minus l" কমান্ড-টি রান করুন । | ||
|- | |- | ||
− | |12:31 | + | |12:31 |
|আমরা আউটপুট সঠিকভাবে দেখতে পাচ্ছিনা । কিন্তু more পাইপ-এর সাথে যুক্ত করে কমান্ড-টি ব্যবহার করলে, এটি সঠিকভাবে দেখা যাবে । | |আমরা আউটপুট সঠিকভাবে দেখতে পাচ্ছিনা । কিন্তু more পাইপ-এর সাথে যুক্ত করে কমান্ড-টি ব্যবহার করলে, এটি সঠিকভাবে দেখা যাবে । | ||
|- | |- | ||
− | |12:37 | + | |12:37 |
|এই লিস্ট-টি পুরো দেখতে এন্টার টিপুন । | |এই লিস্ট-টি পুরো দেখতে এন্টার টিপুন । | ||
|- | |- | ||
− | |12:41 | + | |12:41 |
|বেরিয়ে আসতে q টিপুন । | |বেরিয়ে আসতে q টিপুন । | ||
|- | |- | ||
− | |12:45 | + | |12:45 |
|এখানে কিছু কমান্ড আলোচিত হল যেগুলি আমাদের ফাইল নিয়ে কাজ করতে সাহায্য করে । | |এখানে কিছু কমান্ড আলোচিত হল যেগুলি আমাদের ফাইল নিয়ে কাজ করতে সাহায্য করে । | ||
|- | |- | ||
− | |12:48 | + | |12:48 |
|এইপ্রকার আরো অনেক কমান্ড আছে । | |এইপ্রকার আরো অনেক কমান্ড আছে । | ||
|- | |- | ||
− | |12:50 | + | |12:50 |
|আলোচিত প্রত্যেকটি কমান্ড-এর অনেকগুলি অপশন আছে । | |আলোচিত প্রত্যেকটি কমান্ড-এর অনেকগুলি অপশন আছে । | ||
|- | |- | ||
− | |12:54 | + | |12:54 |
|'man' কমান্ড-এর সাহায্যে সেগুলির সম্পর্কে আরো বিস্তারিত ভাবে জানুন । | |'man' কমান্ড-এর সাহায্যে সেগুলির সম্পর্কে আরো বিস্তারিত ভাবে জানুন । | ||
|- | |- | ||
− | |12:58 | + | |12:58 |
|কমান্ড শেখার সবথেকে সেরা উপায় হল সেগুলিকে বারবার ব্যবহার করা । | |কমান্ড শেখার সবথেকে সেরা উপায় হল সেগুলিকে বারবার ব্যবহার করা । | ||
|- | |- | ||
− | |13:04 | + | |13:04 |
|এখানেই এই টিউটোরিয়াল্-এর সমাপ্তি হল । | |এখানেই এই টিউটোরিয়াল্-এর সমাপ্তি হল । | ||
|- | |- | ||
− | |13:07 | + | |13:07 |
|স্পোকেন্ টিউটোরিয়াল্ Talk to a Teacher প্রকল্পের অংশবিশেষ যা ICT এর National Mission on Education দ্বারা সমর্থিত । | |স্পোকেন্ টিউটোরিয়াল্ Talk to a Teacher প্রকল্পের অংশবিশেষ যা ICT এর National Mission on Education দ্বারা সমর্থিত । | ||
|- | |- | ||
|- | |- | ||
− | |13:19 | + | |13:19 |
|আমি অন্তরা এই টিউটোরিয়াল-টি অনুবাদ এবং রেকর্ড করেছি । শুভবিদায় । | |আমি অন্তরা এই টিউটোরিয়াল-টি অনুবাদ এবং রেকর্ড করেছি । শুভবিদায় । | ||
|} | |} |
Revision as of 17:04, 7 August 2014
Time | Narration |
---|---|
00:00 | Redirection এবং Pipes সংক্রান্ত এই কথ্য টিউটোরিয়ালটিতে আপনাদের স্বাগত জানাচ্ছি । |
00:07 | আমি উবুন্টু ১০.০৪ ব্যবহার করছি । |
00:09 | আমি ধরে নিচ্ছি, লিনাক্স অপারেটিং সিস্টেম এবং মৌলিক নির্দেশাবলী সম্পর্কে আপনার কিছু ধারণা আছে । |
00:16 | সেই সংক্রান্ত মৌখিক টিউটোরিয়াল এই ওয়েবসাইট-টিতে প্রাপ্তিসাধ্য । |
00:22 | মনে রাখবেন যে লিনাক্স case sensitive । |
00:25 | অন্যথায় উল্লেখ করা না থাকলে এই টিউটোরিয়ালটিতে ব্যবহৃত সমস্ত র্নিদেশাবলী ছোট হাতের অক্ষরে আছে । |
00:32 | লিনাক্স-এ অধিকাংশ কাজ-ই টার্মিনাল-এর মাধ্যমে হয় । |
00:35 | যখন আমরা একটি কমান্ড চালাতে চাই, আমরা কিবোর্ডের মাধ্যমে সেটি লিখি । |
00:39 | ধরুন, আমরা তারিখ এবং সময় দেখতে চাইছি । |
00:41 | কিবোর্ড-এর মাধ্যমে "date" লিখুন এবং এন্টার টিপুন । |
00:46 | সাধারণত আমরা কিবোর্ড-এর মাধ্যমে ইনপুট দিয়ে থাকি । |
00:48 | অনুরূপভাবে, কমান্ডের আউটপুট, টার্মিনাল উইন্ডোত়ে প্রদর্শিত হয় । |
00:56 | এছাড়াও কোনো কমান্ড চানালোর সময় কিছু ত্রুটি ঘটতে পারে । |
00:59 | উদাহরস্বরূপ, লিখুন "cat space aaa" । এন্টার টিপুন । |
01:05 | aaa নামক কোনো ফাইলের অস্তিত্ব নেই । |
01:08 | সেই ত্রুটি- সংক্রান্ত বার্তা এখানে দেখা যাচ্ছে । |
01:10 | এখন এই ত্রুটি-টিও টার্মিনাল উইন্ডোর উপর দেখা যাচ্ছে । |
01:20 | কমান্ড সংক্রান্ত তিনটি বিশেষ কর্ম হল ইনপুট নেওয়া, আউটপুট দেখানো এবং error বা ত্রুটি রিপোর্ট করা । |
01:24 | Redirection শেখার পূর্বে আমাদের দুটি গুরুত্বপূর্ণ ধারণা সম্পর্কে জানা উচিত। সেগুলি হল - স্ট্রিম এবং file descriptor । |
01:31 | লিনাক্স শেল যেমন Bash, অক্ষরের স্ট্রিম-এর মাধ্যমে ইনপুট গ্রহণ করে ও আউটপুট পাঠায় । |
01:37 | কোনো অক্ষর তার আগের এবং পরের অক্ষরের উপর নির্ভর করে না । |
01:41 | স্ট্রিম-গুলি ফাইল IO পদ্ধতির দ্বারা ব্যবহার করা হয় । |
01:44 | অক্ষরের স্ট্রিম-টি কোনো একটি ফাইল বা কীবোর্ড বা উইন্ডো ইত্যাদি কোথা থেকে আসছে বা কোথায় যাচ্ছে, ত়া কোনো মূল্য রাখে না । |
01:51 | লিনাক্স-এ প্রত্যেক খোলা ফাইল-এর সঙ্গে একটি পূর্ণসংখ্যা সংখ্যা যুক্ত থাকে । |
01:57 | এটিকে file descriptor বলা হয় । |
02:05 | লিনাক্স শেল তিনটি স্ট্যান্ডার্ড I/O স্ট্রিম ব্যবহার করে । |
02:08 | প্রতিটি একটি সুনির্দিষ্ট ফাইল descriptor-এর সাথে যুক্ত থাকে । |
02:12 | stdin হল স্ট্যান্ডার্ড ইনপুট স্ট্রিম । |
02:15 | এটি কমান্ড-এ ইনপুট দেয় । |
02:17 | এর ফাইল descriptor মান 0 । |
02:19 | stdout হল স্ট্যান্ডার্ড আউটপুট স্ট্রিম । |
02:22 | এটি কমান্ড-এর আউটপুট দেখায় । এর ফাইল বর্ণনাকারীর মান ১ । |
02:26 | stderr হল স্ট্যান্ডার্ড এরর স্ট্রিম । এটি কমান্ড-এর ত্রুটি-গুলি প্রদর্শন করে । এর ফাইল descriptor হল ২ । |
02:36 | ইনপুট স্ট্রিম প্রোগ্রামের ইনপুট প্রদান করে । |
02:40 | সাধারনতঃ এটি টার্মিনাল keystrokes থেকে ইনপুট নেয় । |
02:44 | আউটপুট স্ট্রিম সাধারনতঃ টার্মিনালে অক্ষর প্রিন্ট করে । |
02:47 | আগে টার্মিনাল ছিল ASCII typewriter বা display terminal । |
02:52 | কিন্তু এখন এটি গ্রাফিকাল ডেস্কটপ-এর উপর একটি টেক্সট উইন্ডো । |
02:56 | আমরা দেখেছি যে ৩ টি স্ট্রিমই স্বাভাবিকভাবে কোনো ফাইল-এর সাথে সংযুক্ত থাকে । |
03:01 | কিন্তু লিনাক্সে আমরা এটির পরিবর্তন করতে পারি । |
03:04 | আমরা এই ৩-টি স্ট্রিম অন্যান্য ফাইলের সাথে সংযুক্ত করতে পারি । |
03:07 | এই প্রক্রিয়া-টিকে redirection বা পুনর্নির্দেশনা বলা হয় । |
03:09 | এখন দেখা যাক কিভাবে এই ৩ স্ট্রিম-এ পুনর্নির্দেশনা করা যায় । |
03:14 | প্রথমে দেখা যাক স্ট্যান্ডার্ড ইনপুট কিভাবে পুনঃনির্দেশিত করা যায় । |
03:17 | আমরা একটি ফাইল থেকে standardin, <(বামকোণী বন্ধনী) অপারেটর ব্যবহার করে পুনঃনির্দেশিত করতে পারি । |
03:22 | আমরা জানি যে একটি ফাইলের লাইন, শব্দ এবং অক্ষরের সংখ্যা জানতে wc কমান্ডের ব্যবহার করা হয় । |
03:28 | টার্মিনাল উইন্ডো-ত়ে wc লিখুন । |
03:31 | এন্টার টিপুন । |
03:32 | কারসর-টি দপদপ করছে অর্থাৎ আমাদের কিবোর্ড-এর মাধ্যমে ইনপুট দিতে হবে । |
03:37 | কিছু লেখা যাক "This tutorial is very important" । |
03:46 | এন্টার টিপুন । |
03:48 | এবার ctrl ও d কী একসাথে টিপুন । |
03:52 | এখন যে লাইনগুলি আমরা লিখেছি, তার উপর কমান্ড-টি কাজ করেছে । |
03:55 | এই কমান্ড-টি টার্মিনাল-এ আউটপুট দেখাছে । |
03:57 | এখানে wc কমান্ড-এর পর কোনো ফাইল উল্লেখ করা হয়নি । |
04:01 | তাই কমান্ড-টি স্ট্যান্ডার্ড ইনপুট স্ট্রিম থেকে ইনপুট নিয়েছে । |
04:04 | স্ট্যান্ডার্ড ইনপুট স্ট্রিম স্বাভাবিকভাবে-ই কিবোর্ড-এর সাথে যুক্ত থাকে । তাই wc কিবোর্ড থেকে ইনপুট নেয় । |
04:12 | এখন যদি আমরা লিখি -
"wc space বামকোণী বন্ধনী space test1 dot txt" । |
04:19 | তাহলে wc test1 dot txt ফাইল-এর লাইন, শব্দ এবং অক্ষরের সংখ্যা দেখাবে । |
04:27 | এবার লিখুন ।
"wc space test1 dot txt" । |
04:34 | আমরা একই আউটপুট দেখছি । |
04:37 | তাহলে পার্থক্য -টি কোথায় ? |
04:39 | "wc space test1 dot txt" লিখলে , কমান্ড-টি test1dot txt ফাইল-টি খোলে এবং সেটি থেকে পড়ে । |
04:46 | কিন্তু উপরের কমান্ড-টি লিখলে , wc খোলার জন্য কোনো ফাইল পায়না । |
04:53 | তাই , এটি standardin থেকে ইনপুট নিতে চেষ্টা করে । |
04:57 | কিন্তু আমরা standardin -কে ফাইল test1dot txt -এর দিকে পরিচালিত করেছি । |
05:01 | তাই এই কমান্ড-টি test1 থেকে পড়ে । |
05:04 | কিন্তু প্রকৃতপক্ষে , এটা জানে না যে standardin-e কোথা থেকে তথ্য আসছে । |
05:10 | তাহলে আমরা দেখলাম কিভাবে স্ট্যান্ডার্ড ইনপুট পুননির্দেশনা করা যায় । |
05:12 | এবার দেখে নেওয়া যাক কিভাবে স্ট্যান্ডার্ড আউটপুট এবং স্ট্যান্ডার্ড এরর পুননির্দেশনা করা যায় । |
05:17 | দুটি পদ্ধতিতে আউটপুট বা এরর একটি ফাইল-এ পুননির্দেশনা করা যায় । |
05:20 | ধরুন, n হল ফাইল descriptor ।
n একটি ডানকোণী বন্ধনী ফাইল descriptor n থেকে একটি ফাইল-এ আউটপুট redirect করে । |
05:29 | আপনার অবশ্যই সেই ফাইল-এ লেখার অধিকার থাকতে হবে । |
05:32 | যদি ফাইলটি উপস্থিত না থাকে, সেটি নির্মিত হয় । |
05:35 | যদি সেটির অস্তিত্ব আগে থেকেই থাকে, তাহলে উপস্থিত বিষয়বস্তু সাধারণত কোন সতর্কত়াবাণী ছাড়াই হারিয়ে যায় । |
05:40 | ' n ' দুটি ডানকোণী বন্ধনী ' -ও ফাইল বর্ণনাকারী n থেকে একটি ফাইল-এ আউটপুট পুননির্দেশনা করে । |
05:47 | এক্ষেত্রেও, আপনার সেই ফাইল-এ লেখার অধিকার থাকতে হবে । |
05:50 | যদি ফাইলটি উপস্থিত না থাকে , সেটি নির্মিত হয় । |
05:52 | যদি ফাইলটির অস্তিত্ব আগে থেকেই থাকে, তাহলে আউটপুট সেই ফাইল-এর শেষে যুক্ত হয় । |
05:59 | একটি ডানকোণী বন্ধনী বা দুটি ডানকোণী বন্ধনীর আগে n হল ফাইল descriptor । |
06:05 | এটি বাদ দিলে স্ট্যান্ডার্ড আউপুট অর্থাৎ ফাইল বর্ণনাকারী ১ অনুমান করা হয় । |
06:10 | তাহলে একটি ডানকোণী বন্ধনী এবং ১ এর পর একটি ডানকোণী বন্ধনী আসলে একই কাজ করে । |
06:15 | কিন্তু ত্রুটির স্ট্রিম-কে redirect করতে আমাদের ২ এর পর একটি বা দুটি ডানকোণী বন্ধনী ব্যবহার করতে হয় । |
06:22 | আসুন, এটি দেখা যাক । |
06:24 | শেষ উদাহরণ-এ আমরা দেখেছি যে ফাইল বা standardin উপর wc কমান্ডের ফলাফল টার্মিনাল উইন্ডোর এ প্রদর্শিত হয় । |
06:31 | কিন্তু, এটি টার্মিনালে প্রদর্শন করতে না চাইলে আমরা কি করবো ? |
06:34 | ধরুন, আমরা এটি একটি ফাইলে সংরক্ষণ করতে চাই , যাতে পরে এই তথ্য ব্যবহার করা যায় । |
06:38 | স্বাভাভিকভাবে wc standardout -এ আউটপুট লেখে । |
06:42 | standardout টার্মিনাল উইন্ডোর সাথে সংযুক্ত থাকে । |
06:45 | তাই আমরা টার্মিনাল উইন্ডো-ত়ে আউটপুট দেখি । |
06:48 | কিন্তু যদি আমরা standardout একটি ফাইল-এ redirect করতে পারি, তাহলে wc কমান্ডের ফলাফল সেই ফাইল-এ লিখিত হবে । |
06:57 | লিখুন -
"wc space test1 dot txt ডানকোণী বন্ধনী wc_results dot txt" । |
07:09 | এন্টার টিপুন । |
07:11 | এখন এটি প্রকৃতপক্ষে হয়েছে কিনা দেখার জন্যে cat কমান্ড-এর দ্বারা wc_results dot txt ফাইল-এর বিষয়বস্তু দেখা যাক । |
07:23 | হ্যা, এটি হয়েছে । |
07:24 | ধরুন, ওই একই ডিরেক্টরি-ত়ে অন্য একটি ফাইল test2 আছে । |
07:30 | এখন আবার আমরা test2 ফাইল-ti নিয়ে কমান্ডটি চালাব । লিখছি-
"wc space test2 dot txt ডানকোণী বন্ধনী wc_results dot txt" |
07:44 | এক্ষেত্রে, wc_results -ফাইলের বিষয়বস্তু overwrite হয়ে যাবে । |
07:48 | এটি দেখে নেওয়া যাক । |
07:56 | এর পরিবর্তে আমরা লিখতে পারি "wc space test1 dot txt দুটি ডানকোণী বন্ধনী wc underscore results dot txt" |
08:07 | নতুন বিষয়বস্তু ফাইল wc underscore results dot txt -এর বর্তমান উপস্থিত বিষয়বস্তু overwrite করে না, সেই ফাইল-এর শেষে যুক্ত হয়ে যায় । |
08:15 | এটিও দেখে নেওয়া যাক । এখানে দুটি লেখাই দেখা যাচ্ছে । |
08:26 | স্ট্যান্ডার্ড এরর অনুরূপভাবে redirect করা যায় । |
08:29 | শুধু পার্থক্য হল, এইক্ষেত্রে একটি ডানকোণী বন্ধনী বা দুটি ডানকোণী বন্ধনীর আগে স্ট্যান্ডার্ড এরর-এর ফাইল descriptor সংখ্যা উল্লেখ করতে হয় । |
08:38 | আমরা জানি aaa নামক কোন ফাইল উপস্থিত নেই । তাহলে লেখা যাক -
"wc space aaa" । |
08:46 | শেল ত্রুটি জানাচ্ছে যে - “No such file or directory”। |
08:50 | ধরুন, আমরা স্ক্রিন-এ এই বার্তা দেখতে চাই না । তারজন্য, সেগুলি অন্য ফাইল-এ redirect করতে হবে । |
08:55 | লেখা যাক -
"wc space aaa space 2 ডানকোণী বন্ধনী errorlog dot txt" । |
09:06 | এখন ত্রুটি-গুলি টার্মিনালে প্রদর্শিত হচ্ছে না , বরং ফাইল errorlog dot txt -ত়ে লিখিত হয়ে গেছে । |
09:12 | আমরা "cat space errorlog dot txt" কমান্ড-এর মাধ্যমে এটি দেখতে পারি ।
। |
09:22 | ধরুন, আমি "cat space bbb space 2 ডানকোণী বন্ধনী errorlog dot txt" কমান্ড ব্যবহার করে কিছু ক্রুটি করেছি । |
09:34 | এখন পূর্ববর্তী ক্রুটি overwrite হয়ে যাবে এবং নতুন ক্রুটি দেখা যাবে । |
09:39 | দেখুন "cat space errorlog dot txt" |
09:46 | কিন্তু সবকটি error-এর তালিকা দেখতে চাইলে আমরা কি করবো ?
সেক্ষেত্রে, আমরা এই কমান্ড-টি চালাব - "wc space aaa space 2 দুটি ডানকোণী বন্ধনী errorlog dot txt" । |
09:58 | cat কমান্ড ব্যবহার করে এটি পরীক্ষা করা যাক । |
10:06 | তাহলে আমরা দেখলাম কিভাবে তিনটি স্ট্রিম -স্ট্যান্ডার্ড আউট, স্ট্যান্ডার্ড in ও স্ট্যান্ডার্ড এরর-কে আলাদাভাবে redirect এবং ব্যবহার করা যায় । কিন্তু এই তিনটি স্ট্রিম -কে একসাথে ব্যবহার অর্থাৎ বিভিন্ন স্ট্রিম-গুলি যুক্ত কতে পারলে, redirection আসল ক্ষমতা বোঝা যায় । |
10:20 | একে pipelining বলা হয় । |
10:22 | পাইপ কমান্ড-এর শৃঙ্খল তৈরী করে । |
10:25 | পাইপ একটি কমান্ডের আউটপুট-এর সাথে পরবর্তী কমান্ডের ইনপুট যুক্ত করে । |
10:30 | এটি লেখার নিয়ম হল -
command1 উল্লম্ব দাঁড়ি command2 hyphen option উল্লম্ব দাঁড়ি command3 hyphen option1 hyphen option2 উল্লম্ব দাঁড়ি command4 । |
10:46 | ধরুন, আমরা বর্তমান ডিরেক্টরির মধ্যে উপস্থিত ফাইল ও ডিরেক্টরির মোট সংখ্যা জানতে চাই । |
10:51 | তাহলে আমরা কি করবো ? আমরা জানি
"ls space minus l" বর্তমান ডিরেক্টরি-র সব ফাইল এবং সাব-ডিরেক্টরির তালিকা দেয় । |
10:58 | আমরা আউটপুট-টিকে একটি ফাইলে redirect করতে পারি -
"ls space minus l ডানকোণী বন্ধনী files dot txt" । |
11:08 | "cat space files dot txt" । |
11:14 | এখানে, প্রতিটি লাইন একটি ফাইল অথবা ডিরেক্টরির নাম । |
11:17 | যদি আমরা এই ফাইলের মোট লাইন সংখ্যা জানতে চাই, তাহলে আমরা files dot txt ফাইল-টিকে ব্যবহার করতে পারি । |
11:24 | এটি এই কমান্ড-এর মাধ্যমে করা যায়- "wc space minus l files dot txt" । |
11:32 | এটি আমাদের উদ্দেশ্য সাধন করলেও এর কিছু সমস্যা আছে । |
11:35 | প্রথমত, একটি অন্তর্বর্তী ফাইল files dot txt প্রয়োজন হয় । |
11:40 | যদি প্রথম কমান্ড অনেক তথ্য উত্পাদন করে, এটা অকারণে ডিস্ক মেমরি নষ্ট করতে পারে । |
11:46 | এছাড়াও য বিভিন্ন কমান্ড-এর শৃঙ্খল তৈরী করতে চাইলে এই পদ্ধতিটি সময়সাপেক্ষ । |
11:50 | আমরা এটি অনেক সহজেই পাইপ ব্যবহার করে কাজটি করতে পারি । লেখা যাক -
"ls space minus l উল্লম্ব দাঁড়ি wc space minus l" । |
12:01 | এখন আমরা অনেক বেশি স্বাচ্ছন্দ্য-এর সঙ্গে একই ফলাফল পাচ্ছি । |
12:06 | ls কমান্ডের আউটপুট wc কমান্ডের ইনপুট হিসেবে ব্যবহৃত হয় । |
12:10 | এমনকি আমরা পাইপ ব্যবহার করে কমান্ড-এর আরো লম্বা শৃঙ্খল তৈরী করতে পারি । |
12:15 | পাইপ-এর একটি সাধারণ ব্যবহার হল বিভিন্ন পৃষ্ঠায় প্রদর্শিত লেখা পড়া । |
12:19 | লিখুন "cd space slash usr slash bin"। |
12:24 | তাহলে আমরা এখন bin ডিরেক্টরী-ত়ে আছি । |
12:28 | এখান "ls minus l" কমান্ড-টি রান করুন । |
12:31 | আমরা আউটপুট সঠিকভাবে দেখতে পাচ্ছিনা । কিন্তু more পাইপ-এর সাথে যুক্ত করে কমান্ড-টি ব্যবহার করলে, এটি সঠিকভাবে দেখা যাবে । |
12:37 | এই লিস্ট-টি পুরো দেখতে এন্টার টিপুন । |
12:41 | বেরিয়ে আসতে q টিপুন । |
12:45 | এখানে কিছু কমান্ড আলোচিত হল যেগুলি আমাদের ফাইল নিয়ে কাজ করতে সাহায্য করে । |
12:48 | এইপ্রকার আরো অনেক কমান্ড আছে । |
12:50 | আলোচিত প্রত্যেকটি কমান্ড-এর অনেকগুলি অপশন আছে । |
12:54 | 'man' কমান্ড-এর সাহায্যে সেগুলির সম্পর্কে আরো বিস্তারিত ভাবে জানুন । |
12:58 | কমান্ড শেখার সবথেকে সেরা উপায় হল সেগুলিকে বারবার ব্যবহার করা । |
13:04 | এখানেই এই টিউটোরিয়াল্-এর সমাপ্তি হল । |
13:07 | স্পোকেন্ টিউটোরিয়াল্ Talk to a Teacher প্রকল্পের অংশবিশেষ যা ICT এর National Mission on Education দ্বারা সমর্থিত । |
13:19 | আমি অন্তরা এই টিউটোরিয়াল-টি অনুবাদ এবং রেকর্ড করেছি । শুভবিদায় । |