BOSS-Linux/C2/File-System/Bengali

From Script | Spoken-Tutorial
Jump to: navigation, search
Time Narration
00:00 লিনাক্স ফাইল সিস্টেম সংক্রান্ত এই কথ্য টিউটোরিয়ালটিতে স্বাগত জানাচ্ছি ।
00:04 আমি Linux অপারেটিং সিস্টেম যবহার করছি ।
00:08 আমি ধরে নিচ্ছি যে আপনি লিনাক্স অপারেটিং কিভাবে কাজ শুরু করতে হয়, ত়া জানেন এবং মৌলিক র্নিদেশাবলী সম্বন্ধে আপনার কিছু ধারনার আছে ।
00:16 আপনি চাইলে এই ওয়েবসাইট-এর অন্যান্য টিউটোরিয়াল-গুলির সাহায্য নিতে পারেন ।
00:28 মনে রাখবেন যে লিনাক্স case sensitive ।
00:32 এই টিউটোরিয়ালটিতে ব্যবহৃত সমস্ত র্নিদেশাবলী ছোট হাতের অক্ষরে আছে, অন্যথায় সেটি উল্লেখ করা হয়েছে ।
00:41 লিনাক্স-এ প্রায় সবকিছু-ই একটি ফাইল ।
00:44 তাহলে একটি ফাইল কি ? দৈনন্দিন জীবনে আমরা ফাইল-এ ডকুমেন্ট এবং কাগজ সংরক্ষণ করি ।
00:54 অনুরূপভাবে লিনাক্স-এ, ফাইল তথ্য সংরক্ষণ করার জন্য একটি ধারক ।
01:00 এখন জানা যাক ডিরেক্টরী কি ।
01:03 একটি ডিরেক্টরী ফাইল এবং অন্যান্য (sub)directories-এর ধারক ।
01:10 ডিরেক্টরী আমাদের নিয়মতান্ত্রিক পদ্ধতিতে ফাইল গুছিয়ে রাখতে সাহায্য করে ।
01:16 এইটি উইন্ডোজে ফোল্ডারের সমতুল্য ।
01:20 বিভিন্ন ব্যবহারকারী-দের আলাদা নিজস্ব ডিরেক্টরী থাকে যা অন্যরা ব্যবহার অথবা পরিবর্তন করতে পারে না ।
01:30 যদি ডিরেক্টরী না থাকত, তাহলে একটি সিস্টেম-এর সব ফাইল-গুলিকে আলাদা নাম দিতে হত । এটি বজায় রাখা খুবই কঠিন ।
01:41 যদিও ফাইল এবং ডিরেক্টরীর এই সংজ্ঞাগুলি তাদের সম্বন্ধে একটি সাধারণ ধারণার জন্য ভাল, কিন্তু এগুলি সংপূর্ণ নির্ভূল নয় ।
01:51 অভ্যন্তরস্থ বস্তু ছাড়াও, ফাইলের একটি নাম এবং কিছু বৈশিষ্ট্যাবলী বা “administrative information” যেমন ফাইল-টির তৈরী বা পরিবর্তনের তারিখ ও অনুমতি সংক্রান্ত তথ্য থাকে ।
02:05 ফাইল-এর বৈশিষ্ট্যাবলী inode-এ সংরক্ষিত হয় । inode ফাইল সিস্টেম-এর একটি বিশেষ data block যাত়ে ফাইলের দৈর্ঘ্য ও ডিস্ক-এ ফাইল-টির অবস্থান সংক্রান্ত তথ্য থাকে ।
02:20 কম্পিউটার সিস্টেম ফাইল-এর inode সংখ্যা ব্যবহার করে; ডিরেক্টরী কাঠামো আমাদের সুবিধার জন্য ফাইল-এর নামকরণ করে কারণ বড় সংখ্যার চেয়ে নাম স্মরণ রাখা অনেক সহজ ।
02:35 প্রকৃতপক্ষে, ডিরেক্টরী-ত়ে অন্যান্য ফাইল থাকে না, ডিরেক্টরী নিজেরাই একটি ফাইল যাতে অন্যান্য ফাইল-গুলির inode সংখ্যা এবং নাম থাকে ।
02:49 লিনাক্সে তিন ধরনের ফাইল আছে :
02:54 ১ নিয়মিত ফাইল অথবা সাধারণ ফাইল: এইটি অক্ষরের একটি স্ট্রীম হিসেবে কেবল তথ্য ধারণ করে ।
03:01 ২ ডিরেক্টরী: আমরা পূর্ববর্তী স্লাইডে এই নিয়ে আলোচনা করেছি ।
03:07 ৩ ডিভাইস ফাইল: সমস্ত হার্ডওয়্যার ডিভাইস এবং যন্ত্রপাতি লিনাক্সে এই ফাইল হিসেবে বোঝানো হয় ।
03:14 একটি সিডি, হার্ড ডিস্ক, এমনকি একটি usb stick সবকিছুই লিনাক্সে একটি ফাইল । কিন্তু এর কারণ কি ? এইটি ডিভাইস-গুলিকে সাধারণ ফাইলের মত করেই পড়তে ও লিখতে সাহায্য করে ।
03:32 লিনাক্সে সব ফাইল-ই সম্পর্ক-যুক্ত, সংক্ষেপে বললে সব ফাইল একটি পরিবার তৈরী করে ।
03:39 একটি ডিরেক্টরী কিছু ফাইল ও সাবডিরেক্টরির ধারণ করলে একে অপরের সঙ্গে একটি পিতা– সন্তানের সম্পর্ক তৈরী করে । এভাবে লিনাক্স ফাইল সিস্টেম tree তৈরী হয় ।
03:52 একদম চূড়ায় থাকে root যা একটি frontslash /এর দ্বারা বোঝানো হয় । এইটি অন্যান্য সব ফাইল এবং ডিরেক্টরী ধারণ করে ।
04:04 সঠিক পথ জানলে একটি ফাইল অথবা ডিরেক্টরী থেকে অন্যান্য-গুলি সহজে যাওয়া যেতে পারে ।
04:12 লিনাক্স ফাইল সিস্টেম নিয়ে কাজ করলে মনে হয় যে আমরা ওই system tree বরাবর চলছি ।
04:18 একটি কমান্ড ব্যবহার করলেই আপনি একটি স্থান থেকে অন্যান্য স্থানে যেতে পারবেন ।
04:24 আমরা এখন এটি দেখব ।
04:29 যখন আমরা লিনাক্স সিস্টেম-এ login করি, তখন আমরা স্বাভাবিকভাবে home directory আসি ।
04:36 এখন টার্মিনাল-এ গেলাম ।
04:39 home ডিরেক্টরী দেখতে লিখুন -

"echo space dollar বড় হাতের অক্ষরে H-O-M-E" । এন্টার টিপলাম ।

04:53 এটি home ডিরেক্টরী-এর pathname বা পথটি দেয় ।
04:57 আমরা একটি ডিরেক্টরী থেকে অন্য-ত়ে যেতে পারি ।
05:01 সেই ডিরেক্টরী-টিকে বর্তমান ডিরেক্টরী অথবা কর্মরত ডিরেক্টরী বলা হয় ।
05:09 pwd কমান্ড আমাদেরকে বর্তমান ডিরেক্টরী দেখতে সাহায্য করেন । pwd অর্থাৎ present working directory ।
05:18 কমান্ড প্রম্পট-এ " pwd " লিখে এন্টার টিপুন । এখন এইটি আমাদের বর্তমান কর্মরত ডিরেক্টরী ।
05:28 আমরা আগেই বলেছি যে আমরা একটি ডিরেক্টরী থেকে অন্য-ত়ে যেতে পারি ।
05:32 কিন্তু কিভাবে আমরা এটি করবো ? এর জন্য cd কমান্ড ব্যবহার করতে হবে ।
05:39 আপনাকে cd কমান্ড-এর পরে, আপনি যে ডিরেক্টরী-ত়ে যেতে চান, তার পথ-টি লিখতে হবে ।
05:47 আমাদের বর্তমান ডিরেক্টরী পুনরায় দেখে নিতে কমান্ড প্রম্পট-এ pwd লিখে এন্টার টিপুন ।
05:57 তাহলে, আমরা এখন এই ডিরেক্টরী-ত়ে আছি ।
06:01 ধরুন, আমরা slash usr ডিরেক্টরী-তে যেতে চাই । তাহলে লিখুন -

"cd space slash usr" । লক্ষ্য করুন, লিনাক্স-এ slash-বলতে front slash বোঝায় । এন্টার টিপুন ।

06:17 এখন বর্তমান কর্মরত ডিরেক্টরী দেখা নেওয়া যাক ।
06:24 হ্যাঁ, আমরা slash usr ডিরেক্টরী-ত়ে এসে গেছি ।
06:30 এইক্ষেত্রে সমস্যা হল পথটি খুব দীর্ঘ হতে পারে, কারণ এগুলি হল absolute pathname বা পরম পথ যা মূল ডিরেক্টরী থেকে সমগ্র পথ তালিকাভুক্ত করে ।
06:42 এর পরিবর্তে, আমরা relative pathname বা আপেক্ষিক পথ-ও ব্যবহার করতে পারি যা বর্তমান ডিরেক্টরী থেকে শুরু হয় ।
06:48 এখানে দুটি বিশেষ অক্ষর জানা প্রয়োজন ।dot বর্তমান ডিরেক্টরী এবং dot dot বর্তমান ডিরেক্টরীর parent বা উর্ধ্বস্থ ডিরেক্টরীকে বোঝায় ।
07:02 এখন cd কমান্ড নিয়ে সংক্ষেপে আলোচনা করা যাক ।
07:06 কোনো আর্গুমেন্ট ছাড়া cd কমান্ড-এর দ্বারা home ডিরেক্টরী-ত়ে ফিরে আসা যায় ।
07:13 কমান্ড প্রম্পট-এ "cd" লিখে করে এন্টার টিপুন ।
07:19 এখন pwd কমান্ড-এর দ্বারা বর্তমান ডিরেক্টরী কি, ত়া দেখে নেওয়া যাক ।
07:23 দেখুন, এখন আমরা আমাদের home ডিরেক্টরী /home/gnuhata-ত়ে ফিরে এসেছি ।
07:30 এখন music ডিরেক্টরী-ত়ে যেতে লিখুন "cd space Music(বড় হাতের অক্ষরে M) slash" । এন্টার টিপুন। ।
07:43 এখন pwd কমান্ড -এর দ্বারা বর্তমান ডিরেক্টরী কি ত়া দেখেনি । এন্টার টিপুন । দেখুন, এখন আমরা /home/gnuhata/Music-ত়ে এসেছি ।
07:57 এখন Music ডিরেক্টরী-এর parent ডিরেক্টরী-ত়ে যাওয়া যাক । এর জন্য cd কমান্ড-এর সাথে ডট ডট ব্যবহার করতে হবে ।
08:04 লিখুন cd space dot dot । এন্টার টিপুন ।
08:11 এবার pwd ব্যবহার করে বর্তমান ডিরেক্টরী কি, ত়া দেখে নেওয়া যাক । আমার আবার /home/gnuhata-ত়ে ফিরে এসেছি ।
08:23 এবার ডট ব্যবহার করে বর্তমান ডিরেক্টরী-এর সাব-ডিরেক্টরী-ত়ে যাওয়া যাক ।
08:30 কমান্ড প্রম্পট-এ লিখুন - cd space dot slash Documents(বড় হাতের অক্ষরে D) slash । এন্টার টিপুন ।
08:42 pwd ব্যবহার করে বর্তমান ডিরেক্টরী-কি, ত়া দেখে নেওয়া যাক । আমরা এখন /home/gnuhata/Documents-ডিরেক্টরী-তে আছি ।
08:53 ভালো করে দেখার জন্য control L-এর দ্বারা স্ক্রিন পরিস্কার করে নিন ।
08:58 home ডিরেক্টরী-ত়ে ফিরে যাবার জন্য cd কমান্ড লিখে এন্টার টিপুন ।
09:07 আবার pwd কমান্ড-এর দ্বারা দেখে নিন বর্তমান ডিরেক্টরী কি । আমরা /home/gnuhata -ত়ে ফিরে এসেছি ।
09:17 আমরা আপেক্ষিক পথ-এ অনেক .. /-এর দ্বারা আলাদা করে লিখতে পারি ।
09:23 এই স্লাইড-এ আমরা ফাইল সিস্টেমের ক্রমোচ্চ শ্রেণীবিভাগ দেখতে পাচ্ছি । Root অর্থাৎ মূল অথবা / চূড়াতে আছে । home এবং bin - root-এর অধীনে দুই সাব-ডিরেক্টরী । ব্যবহারকারীর নাম অর্থাৎ এখানে gnuhata , home-এর অধীনে gnuhata নামক একটি সাব-ডিরেক্টরী হিসাবে দেখা যাচ্ছে ।
09:43 slash bin ডিরেক্টরী-ত়ে যেতে
09:51 কমান্ড প্রম্পট -এ "cd space dot dot slash dot dot slash bin" লিখে এন্টার টিপুন ।
10:03 pwd কমান্ড-এর দ্বারা বর্তমান ডিরেক্টরী কি, ত়া দেখে নিন ।

এখন আমরা /bin ডিরেক্টরী -ত়ে আছি ।

10:11 প্রথম আমাদের ডট ডট স্ল্যাশ home স্ল্যাশ gnuhata থেকে স্ল্যাশ home -এ নিয়ে যায় ।
10:18 পরবর্তী ডট ডট আমাদের /home থেকে root-এ নিয়ে যায় ।
10:24 তারপর আমরা / বা root থেকে /bin ডিরেক্টরী -ত়ে এসেছি ।
10:30 এবার cd কমান্ড-এর দ্বারা পুনরায় home ডিরেক্টরী -ত়ে ফিরে আসা যাক ।
10:34 ডিরেক্টরী তৈরী করার জন্য আমরা mkdir কমান্ড ব্যবহার করি ।
10:40 এরজন্য কমান্ড এবং যে ডিরেক্টরী তৈরী করা হবে তার নাম লিখতে হয় । তাহলে বর্তমান ডিরেক্টরী -এর ভিতর ওই নামের একটি ডিরেক্টরী তৈরী হয়ে যাবে ।
10:49 testdir নামক ডিরেক্টরী তৈরী করতে লিখুন "mkdir space testdir" । এন্টার টিপুন ।
11:01 testdir ডিরেক্টরী সফলভাবে তৈরী হয়েছে ।
11:05 মনে রাখবেন, ডিরেক্টরী তৈরী বা ডিলিট হলে লিনাক্স আলাদাভাবে কোনো বার্তা দেয় না ।
11:13 আপনি যদি কোনো error message না পান, ত়ার মানেই কমান্ড-টি সফল হয়েছে ।
11:18 আমরা পরম বা আপেক্ষিক পথ ব্যবহার করে ফাইল সিস্টেম tree-এর যেকোনো স্থানে ডিরেক্টরী তৈরী করতে পারি । এক্ষেত্রে আমাদের সেটি করার অনুমতি থাকতে হবে ও সেই নামে ফাইল অনুপস্থিত থাকতে হবে ।
11:33 এই পদ্ধতিতে অনেকগুলি ডিরেক্টরী, এমনকি ক্রমবিন্যস্ত অনেকগুলি ডিরেক্টরী-ও তৈরী করা যায় ।
11:39 mkdir space test1 space test2 লিখে এন্টার টিপুন । এইটি বর্তমান ডিরেক্টরীর অধীনে দুটি ডিরেক্টরী test1 এবং test2 তৈরি করবে ।
11:57 লিখুন "mkdir space testtree space testtree slash test3" ।
12:11 এটি একটি ডিরেক্টরী testtree এবং তার ভিতর অন্য একটি সাব-ডিরেক্টরী test3 তৈরি করবে ।
12:20 সুতরাং, আমরা বর্তমান ডিরেক্টরীতে চারটি ডিরেক্টরী অর্থাৎ testdir, test1, test2 এবং testtree তৈরি করেছি যাদের মধ্যে প্রথমটি তিনটি খালি এবং শেষ -ডিরেক্টরীতে test3 নামক সাব-ডিরেক্টরী আছে ।
12:40 mkdir কমান্ড-এর মতই rmdir কমান্ড আছে যার দ্বারা একটি বা অনেকগুলি ডিরেক্টরী ডিলিট বা সরিয়ে দেওয়া যায় ।
12:50 এই কমান্ড test1 ডিরেক্টরী-টিকে ডিলিট করতে সফল হয়েছে ।
13:00 আপনি একটি ডিরেক্টরী ডিলিট করতে পারবেন কেবলমাত্র যদি আপনি তার মালিক হন, আপনার বর্তমান ডিরেক্টরী যে ডিরেক্টরী-টি সরিয়ে দিতে হবে তার থেকে ক্রমচ্ছ শ্রেণীবিভাগে উপরে থাকে এবং যদি ডিরেক্টরী-টি ফাঁকা থাকে ।
13:13 এখন কমান্ড প্রম্পট-এ লিখুন "cd space testtree slash test3" ।
13:25 তাহলে আমরা এখন test3 ডিরেক্টরী-ত়ে আছি যেটি testtree- এর অন্তর্গত একটি সাব-ডিরেক্টরী ।
13:33 এন্টার টিপুন ।.
13:46 দেখুন, এটি করা যাচ্ছে না । কারণ, বর্তমান ডিরেক্টরী, যে ডিরেক্টরী-টি ডিলিট করা হবে, তার থকে ক্রমচ্ছ শ্রেণীবিভাগে উপরে নেই ।
13:54 তাহলে আমাদের এমন কোনো ডিরেক্টরী-ত়ে যেতে হবে যেটি ক্রমচ্ছ শ্রেণীবিভাগে testdir-এর থেকে উপরে আছে ।
14:00 "cd space dot dot" লিখে এন্টার টিপলাম ।
14:06 এবার "cd space dot dot" প্রয়োগ করে parent ডিরেক্টরী -ত়ে ফিরে যাওয়া যাক ।
14:13 এখন পূর্বের কমান্ড-টিকে আবার প্রয়োগ করুন ।
14:16 এন্টার টিপুন ।
14:23 testdir ডিরেক্টরী সফলভাবে ডিলিট হয়ে গেছে । লক্ষ্য করুন testdir ফাঁকা ছিল ।
14:32 একসাথে অনেকগুলি ডিরেক্টরী বা ক্রমচ্ছ শ্রেণীবিভাগে বিন্যস্ত ডিরেক্টরী-গুলিকে একবারেই ডিলিট করা যায় । তাহলে testtree ডিরেক্টরী এবং তার সাব-ডিরেক্টরী test3-এই দুটিকে একসাথে ডিলিট করা যাক ।
14:43 কমান্ড প্রম্পট-এ "rmdir space testtree space testtree slash test3 " লিখে এন্টার টিপুন।
14:57 দেখুন এটি একটি error message জানাচ্ছে যে 'testree' ডিরেক্টরী ডিলিট করা যাবে না কারণ সেটি খালি নেই ।
15:07 একটি বিষয় হয়তো আমরা লক্ষ্য করিনি যে testtree/test3 ডিলিট হয়ে গেছে কারণ ওটি খালি ছিল ।
15:16 এটি পরীক্ষা করার জন্য লিখুন "cd space testtree" । এন্টার টিপুন ।
15:25 এবার "ls" লিখে এন্টার টিপুন । দেখুন, এখন ডিরেক্টরী-ত়ে কিছু নেই, test3 ডিলিট হয়ে গেছে ।
15:34 সুতরাং এই লিনাক্স টিউটোরিয়াল-এ আমরা লিনাক্স ফাইল ও ডিরেক্টরী এবং লিনাক্স ডিরেক্টরীর নিয়ে কিভাবে কাজ করতে হয়, ত়া শিখেছি । ডিরেক্টরী দেখুন, সেগুলি তৈরী করুন, সরিয়ে দিন, এক ডিরেক্টরী থেকে অন্য-ত়ে যাওয়া ইত্যাদি অভ্যেস করুন ।
15:48 এখানেই এই টিউটোরিয়াল্-এর সমাপ্তি হল । স্পোকেন্ টিউটোরিয়াল্ Talk to a Teacher প্রকল্পের অংশবিশেষ যা ICT এর National Mission on Education দ্বারা সমর্থিত ।
16:02 এই বিষয় বিস্তারিত তথ্য এই লিঙ্ক-এ প্রাপ্তিসাধ্য ।
16:08 আমি অন্তরা এই টিউটোরিয়াল-টি অনুবাদ এবং রেকর্ড করেছি ।

Contributors and Content Editors

Kaushik Datta