Linux/C2/File-System/Bengali

From Script | Spoken-Tutorial
Jump to: navigation, search
Time Narration
00:00 লিনাক্স ফাইল সিস্টেম সংক্রান্ত এই কথ্য টিউটোরিয়ালটিতে স্বাগত জানাচ্ছি ।
00:04 আমি উবুন্টু ১০.০৪ ব্যবহার করছি ।
00:07 আমি ধরে নিচ্ছি যে আপনি লিনাক্স অপারেটিং কিভাবে কাজ শুরু করতে হয়, ত়া জানেন এবং মৌলিক র্নিদেশাবলী সম্বন্ধে আপনার কিছু ধারনার আছে ।
00:13 আপনি চাইলে এই ওয়েবসাইট-এর অন্যান্য টিউটোরিয়াল-গুলির সাহায্য নিতে পারেন ।
00:25 মনে রাখবেন যে লিনাক্স case sensitive ।
00:28 এই টিউটোরিয়ালটিতে ব্যবহৃত সমস্ত র্নিদেশাবলী ছোট হাতের অক্ষরে আছে, অন্যথায় সেটি উল্লেখ করা হয়েছে ।
00:36 লিনাক্স-এ প্রায় সবকিছু-ই একটি ফাইল ।
00:39 তাহলে একটি ফাইল কি ? দৈনন্দিন জীবনে আমরা ফাইল-এ ডকুমেন্ট এবং কাগজ সংরক্ষণ করি ।
00:47 অনুরূপভাবে লিনাক্স-এ, ফাইল তথ্য সংরক্ষণ করার জন্য একটি ধারক ।
00:53 এখন জানা যাক ডিরেক্টরী কি ।
00:56 একটি ডিরেক্টরী ফাইল এবং অন্যান্য (sub)directories-এর ধারক ।
01:02 ডিরেক্টরী আমাদের নিয়মতান্ত্রিক পদ্ধতিতে ফাইল গুছিয়ে রাখতে সাহায্য করে ।
01:08 এইটি উইন্ডোজে ফোল্ডারের সমতুল্য ।
01:12 বিভিন্ন ব্যবহারকারী-দের আলাদা নিজস্ব ডিরেক্টরী থাকে যা অন্যরা ব্যবহার অথবা পরিবর্তন করতে পারে না ।
01:20 যদি ডিরেক্টরী না থাকত, তাহলে একটি সিস্টেম-এর সব ফাইল-গুলিকে আলাদা নাম দিতে হত । এটি বজায় রাখা খুবই কঠিন ।
01:31 যদিও ফাইল এবং ডিরেক্টরীর এই সংজ্ঞাগুলি তাদের সম্বন্ধে একটি সাধারণ ধারণার জন্য ভাল, কিন্তু এগুলি সংপূর্ণ নির্ভূল নয় ।
01:42 অভ্যন্তরস্থ বস্তু ছাড়াও, ফাইলের একটি নাম এবং কিছু বৈশিষ্ট্যাবলী বা “administrative information” যেমন ফাইল-টির তৈরী বা পরিবর্তনের তারিখ ও অনুমতি সংক্রান্ত তথ্য থাকে ।
01:55 ফাইল-এর বৈশিষ্ট্যাবলী inode-এ সংরক্ষিত হয় । inode ফাইল সিস্টেম-এর একটি বিশেষ data block যাত়ে ফাইলের দৈর্ঘ্য ও ডিস্ক-এ ফাইল-টির অবস্থান সংক্রান্ত তথ্য থাকে ।
02:08 কম্পিউটার সিস্টেম ফাইল-এর inode সংখ্যা ব্যবহার করে; ডিরেক্টরী কাঠামো আমাদের সুবিধার জন্য ফাইল-এর নামকরণ করে কারণ বড় সংখ্যার চেয়ে নাম স্মরণ রাখা অনেক সহজ ।
02:23 প্রকৃতপক্ষে, ডিরেক্টরী-ত়ে অন্যান্য ফাইল থাকে না, ডিরেক্টরী নিজেরাই একটি ফাইল যাতে অন্যান্য ফাইল-গুলির inode সংখ্যা এবং নাম থাকে ।
02:37 লিনাক্সে তিন ধরনের ফাইল আছে :
02:41 ১ নিয়মিত ফাইল অথবা সাধারণ ফাইল: এইটি অক্ষরের একটি স্ট্রীম হিসেবে কেবল তথ্য ধারণ করে ।
02:48 ২ ডিরেক্টরী: আমরা পূর্ববর্তী স্লাইডে এই নিয়ে আলোচনা করেছি ।
02:52 ৩ ডিভাইস ফাইল: সমস্ত হার্ডওয়্যার ডিভাইস এবং যন্ত্রপাতি লিনাক্সে এই ফাইল হিসেবে বোঝানো হয় ।
02:59 একটি সিডি, হার্ড ডিস্ক, এমনকি একটি usb stick সবকিছুই লিনাক্সে একটি ফাইল । কিন্তু এর কারণ কি ? এইটি ডিভাইস-গুলিকে সাধারণ ফাইলের মত করেই পড়তে ও লিখতে সাহায্য করে ।
03:15 লিনাক্সে সব ফাইল-ই সম্পর্ক-যুক্ত, সংক্ষেপে বললে সব ফাইল একটি পরিবার তৈরী করে ।
03:22 একটি ডিরেক্টরী কিছু ফাইল ও সাবডিরেক্টরির ধারণ করলে একে অপরের সঙ্গে একটি পিতা– সন্তানের সম্পর্ক তৈরী করে । এভাবে লিনাক্স ফাইল সিস্টেম tree তৈরী হয় ।
03:34 একদম চূড়ায় থাকে root যা একটি frontslash /এর দ্বারা বোঝানো হয় । এইটি অন্যান্য সব ফাইল এবং ডিরেক্টরী ধারণ করে ।
03:42 সঠিক পথ জানলে একটি ফাইল অথবা ডিরেক্টরী থেকে অন্যান্য-গুলি সহজে যাওয়া যেতে পারে ।
03:51 লিনাক্স ফাইল সিস্টেম নিয়ে কাজ করলে মনে হয় যে আমরা ওই system tree বরাবর চলছি ।
03:56 একটি কমান্ড ব্যবহার করলেই আপনি একটি স্থান থেকে অন্যান্য স্থানে যেতে পারবেন ।
04:01 আমরা এখন এটি দেখব ।
04:05 যখন আমরা লিনাক্স সিস্টেম-এ login করি, তখন আমরা স্বাভাবিকভাবে home directory আসি ।
04:11 এখন টার্মিনাল-এ গেলাম ।
04:13 Ctrl+alt+T -একসাথে টিপে উবুন্টু-ত়ে টার্মিনাল শুরু করা যায় ।
04:17 এই কমান্ড সব ইউনিক্ষ সিস্টেম-এ কাজ নাও করতে পারে । টার্মিনাল খোলার একটি সাধারণ পদ্ধতি অন্য একটি কথ্য টিউটোরিয়াল-এ ব্যাখ্যা করা আছে ।
04:27 home ডিরেক্টরী দেখতে লিখুন -

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

04:40 এটি home ডিরেক্টরী-এর pathname বা পথটি দেয় ।
04:44 আমরা একটি ডিরেক্টরী থেকে অন্য-ত়ে যেতে পারি ।
04:47 সেই ডিরেক্টরী-টিকে বর্তমান ডিরেক্টরী অথবা কর্মরত ডিরেক্টরী বলা হয় ।
04:56 pwd কমান্ড আমাদেরকে বর্তমান ডিরেক্টরী দেখতে সাহায্য করেন । pwd অর্থাৎ present working directory ।
05:03 কমান্ড প্রম্পট-এ " pwd " লিখে এন্টার টিপুন । এখন এইটি আমাদের বর্তমান কর্মরত ডিরেক্টরী ।
05:13 আমরা আগেই বলেছি যে আমরা একটি ডিরেক্টরী থেকে অন্য-ত়ে যেতে পারি ।
05:17 কিন্তু কিভাবে আমরা এটি করবো ? এর জন্য cd কমান্ড ব্যবহার করতে হবে ।
05:22 আপনাকে cd কমান্ড-এর পরে, আপনি যে ডিরেক্টরী-ত়ে যেতে চান, তার পথ-টি লিখতে হবে ।
05:28 আমাদের বর্তমান ডিরেক্টরী পুনরায় দেখে নিতে কমান্ড প্রম্পট-এ pwd লিখে এন্টার টিপুন ।
05:37 তাহলে, আমরা এখন এই ডিরেক্টরী-ত়ে আছি ।
05:41 ধরুন, আমরা slash usr ডিরেক্টরী-তে যেতে চাই । তাহলে লিখুন -

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

05:56 এখন বর্তমান কর্মরত ডিরেক্টরী দেখা নেওয়া যাক ।
06:03 হ্যাঁ, আমরা slash usr ডিরেক্টরী-ত়ে এসে গেছি ।
06:08 এইক্ষেত্রে সমস্যা হল পথটি খুব দীর্ঘ হতে পারে, কারণ এগুলি হল absolute pathname বা পরম পথ যা মূল ডিরেক্টরী থেকে সমগ্র পথ তালিকাভুক্ত করে ।
06:18 এর পরিবর্তে, আমরা relative pathname বা আপেক্ষিক পথ-ও ব্যবহার করতে পারি যা বর্তমান ডিরেক্টরী থেকে শুরু হয় ।
06:23 এখানে দুটি বিশেষ অক্ষর জানা প্রয়োজন ।dot বর্তমান ডিরেক্টরী এবং dot dot বর্তমান ডিরেক্টরীর parent বা উর্ধ্বস্থ ডিরেক্টরীকে বোঝায় ।
06:36 এখন cd কমান্ড নিয়ে সংক্ষেপে আলোচনা করা যাক ।
06:40 কোনো আর্গুমেন্ট ছাড়া cd কমান্ড-এর দ্বারা home ডিরেক্টরী-ত়ে ফিরে আসা যায় ।
06:46 কমান্ড প্রম্পট-এ "cd" লিখে করে এন্টার টিপুন ।
06:51 এখন pwd কমান্ড-এর দ্বারা বর্তমান ডিরেক্টরী কি, ত়া দেখে নেওয়া যাক ।
06:55 দেখুন, এখন আমরা আমাদের home ডিরেক্টরী /home/gnuhata-ত়ে ফিরে এসেছি ।
07:01 এখন music ডিরেক্টরী-ত়ে যেতে লিখুন "cd space Music(বড় হাতের অক্ষরে M) slash" । এন্টার tipun ।
07:13 এখন pwd কমান্ড -এর দ্বারা বর্তমান ডিরেক্টরী কি ত়া দেখেনি । এন্টার টিপুন । দেখুন, এখন আমরা /home/gnuhata/Music-ত়ে এসেছি ।
07:26 এখন Music ডিরেক্টরী-এর parent ডিরেক্টরী-ত়ে যাওয়া যাক । এর জন্য cd কমান্ড-এর সাথে ডট ডট ব্যবহার করতে হবে ।
07:33 লিখুন cd space dot dot । এন্টার টিপুন ।
07:40 এবার pwd ব্যবহার করে বর্তমান ডিরেক্টরী কি, ত়া দেখে নেওয়া যাক । আমার আবার /home/gnuhata-ত়ে ফিরে এসেছি ।
07:51 এবার ডট ব্যবহার করে বর্তমান ডিরেক্টরী-এর সাব-ডিরেক্টরী-ত়ে যাওয়া যাক ।
07:58 কমান্ড প্রম্পট-এ লিখুন - cd space dot slash Documents(বড় হাতের অক্ষরে D) slash । এন্টার টিপুন ।
08:09 pwd ব্যবহার করে বর্তমান ডিরেক্টরী-কি, ত়া দেখে নেওয়া যাক । আমরা এখন /home/gnuhata/Documents-ডিরেক্টরী-তে আছি ।
08:19 ভালো করে দেখার জন্য control L-এর দ্বারা স্ক্রিন পরিস্কার করে নিন ।
08:23 home ডিরেক্টরী-ত়ে ফিরে যাবার জন্য cd কমান্ড লিখে এন্টার টিপুন ।
08:32 আবার pwd কমান্ড-এর দ্বারা দেখে নিন বর্তমান ডিরেক্টরী কি । আমরা /home/gnuhata -ত়ে ফিরে এসেছি ।
08:41 আমরা আপেক্ষিক পথ-এ অনেক .. /-এর দ্বারা আলাদা করে লিখতে পারি ।
08:47 এই স্লাইড-এ আমরা ফাইল সিস্টেমের ক্রমোচ্চ শ্রেণীবিভাগ দেখতে পাচ্ছি । Root অর্থাৎ মূল অথবা / চূড়াতে আছে । home এবং bin - root-এর অধীনে দুই সাব-ডিরেক্টরী । ব্যবহারকারীর নাম অর্থাৎ এখানে gnuhata , home-এর অধীনে gnuhata নামক একটি সাব-ডিরেক্টরী হিসাবে দেখা যাচ্ছে ।
09:05 slash bin ডিরেক্টরী-ত়ে যেতে
09:12 কমান্ড প্রম্পট -এ "cd space dot dot slash dot dot slash bin" লিখে এন্টার টিপুন ।
09:23 pwd কমান্ড-এর দ্বারা বর্তমান ডিরেক্টরী কি, ত়া দেখে নিন ।

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

09:30 প্রথম আমাদের ডট ডট স্ল্যাশ home স্ল্যাশ gnuhata থেকে স্ল্যাশ home -এ নিয়ে যায় ।
09:37 পরবর্তী ডট ডট আমাদের /home থেকে root-এ নিয়ে যায় ।
09:43 তারপর আমরা / বা root থেকে /bin ডিরেক্টরী -ত়ে এসেছি ।
09:48 এবার cd কমান্ড-এর দ্বারা পুনরায় home ডিরেক্টরী -ত়ে ফিরে আসা যাক ।
09:52 ডিরেক্টরী তৈরী করার জন্য আমরা mkdir কমান্ড ব্যবহার করি ।
09:56 এরজন্য কমান্ড এবং যে ডিরেক্টরী তৈরী করা হবে তার নাম লিখতে হয় । তাহলে বর্তমান ডিরেক্টরী -এর ভিতর ওই নামের একটি ডিরেক্টরী তৈরী হয়ে যাবে ।
10:04 testdir নামক ডিরেক্টরী তৈরী করতে লিখুন "mkdir space testdir" । এন্টার টিপুন ।
10:15 testdir ডিরেক্টরী সফলভাবে তৈরী হয়েছে ।
10:19 মনে রাখবেন, ডিরেক্টরী তৈরী বা ডিলিট হলে লিনাক্স আলাদাভাবে কোনো বার্তা দেয় না ।
10:25 আপনি যদি কোনো error message না পান, ত়ার মানেই কমান্ড-টি সফল হয়েছে ।
10:30 আমরা পরম বা আপেক্ষিক পথ ব্যবহার করে ফাইল সিস্টেম tree-এর যেকোনো স্থানে ডিরেক্টরী তৈরী করতে পারি । এক্ষেত্রে আমাদের সেটি করার অনুমতি থাকতে হবে ও সেই নামে ফাইল অনুপস্থিত থাকতে হবে ।
10:43 এই পদ্ধতিতে অনেকগুলি ডিরেক্টরী, এমনকি ক্রমবিন্যস্ত অনেকগুলি ডিরেক্টরী-ও তৈরী করা যায় ।
10:49 mkdir space test1 space test2 লিখে এন্টার টিপুন । এইটি বর্তমান ডিরেক্টরীর অধীনে দুটি ডিরেক্টরী test1 এবং test2 তৈরি করবে ।
11:06 লিখুন "mkdir space testtree space testtree slash test3" ।
11:20 এটি একটি ডিরেক্টরী testtree এবং তার ভিতর অন্য একটি সাব-ডিরেক্টরী test3 তৈরি করবে ।
11:28 সুতরাং, আমরা বর্তমান ডিরেক্টরীতে চারটি ডিরেক্টরী অর্থাৎ testdir, test1, test2 এবং testtree তৈরি করেছি যাদের মধ্যে প্রথমটি তিনটি খালি এবং শেষ -ডিরেক্টরীতে test3 নামক সাব-ডিরেক্টরী আছে ।
11:47 mkdir কমান্ড-এর মতই rmdir কমান্ড আছে যার দ্বারা একটি বা অনেকগুলি ডিরেক্টরী ডিলিট বা সরিয়ে দেওয়া যায় ।
11:56 এই কমান্ড test1 ডিরেক্টরী-টিকে ডিলিট করতে সফল হয়েছে ।
12:09 আপনি একটি ডিরেক্টরী ডিলিট করতে পারবেন কেবলমাত্র যদি আপনি তার মালিক হন, আপনার বর্তমান ডিরেক্টরী যে ডিরেক্টরী-টি সরিয়ে দিতে হবে তার থেকে ক্রমচ্ছ শ্রেণীবিভাগে উপরে থাকে এবং যদি ডিরেক্টরী-টি ফাঁকা থাকে ।
12:23 এখন কমান্ড প্রম্পট-এ লিখুন "cd space testtree slash test3" ।
12:35 তাহলে আমরা এখন test3 ডিরেক্টরী-ত়ে আছি যেটি testtree- এর অন্তর্গত একটি সাব-ডিরেক্টরী ।
12:42 এন্টার টিপুন ।.
12:55 দেখুন, এটি করা যাচ্ছে না । কারণ, বর্তমান ডিরেক্টরী, যে ডিরেক্টরী-টি ডিলিট করা হবে, তার থকে ক্রমচ্ছ শ্রেণীবিভাগে উপরে নেই ।
13:02 তাহলে আমাদের এমন কোনো ডিরেক্টরী-ত়ে যেতে হবে যেটি ক্রমচ্ছ শ্রেণীবিভাগে testdir-এর থেকে উপরে আছে ।
13:08 "cd space dot dot" লিখে এন্টার টিপলাম ।
13:14 এবার "cd space dot dot" প্রয়োগ করে parent ডিরেক্টরী -ত়ে ফিরে যাওয়া যাক ।
13:20 এখন পূর্বের কমান্ড-টিকে আবার প্রয়োগ করুন ।
13:24 এন্টার টিপুন ।
13:30 testdir ডিরেক্টরী সফলভাবে ডিলিট হয়ে গেছে । লক্ষ্য করুন testdir ফাঁকা ছিল ।
13:38 একসাথে অনেকগুলি ডিরেক্টরী বা ক্রমচ্ছ শ্রেণীবিভাগে বিন্যস্ত ডিরেক্টরী-গুলিকে একবারেই ডিলিট করা যায় । তাহলে testtree ডিরেক্টরী এবং তার সাব-ডিরেক্টরী test3-এই দুটিকে একসাথে ডিলিট করা যাক ।
13:48 কমান্ড প্রম্পট-এ "rmdir space testtree space testtree slash test3 " লিখে এন্টার টিপুন ।
14:02 দেখুন এটি একটি error message জানাচ্ছে যে 'testree' ডিরেক্টরী ডিলিট করা যাবে না কারণ সেটি খালি নেই ।
14:11 একটি বিষয় হয়তো আমরা লক্ষ্য করিনি যে testtree/test3 ডিলিট হয়ে গেছে কারণ ওটি খালি ছিল ।
14:19 এটি পরীক্ষা করার জন্য লিখুন "cd space testtree" । এন্টার টিপুন ।
14:27 এবার "ls" লিখে এন্টার টিপুন । দেখুন, এখন ডিরেক্টরী-ত়ে কিছু নেই, test3 ডিলিট হয়ে গেছে ।
14:36 সুতরাং এই লিনাক্স টিউটোরিয়াল-এ আমরা লিনাক্স ফাইল ও ডিরেক্টরী এবং লিনাক্স ডিরেক্টরীর নিয়ে কিভাবে কাজ করতে হয়, ত়া শিখেছি । ডিরেক্টরী দেখুন, সেগুলি তৈরী করুন, সরিয়ে দিন, এক ডিরেক্টরী থেকে অন্য-ত়ে যাওয়া ইত্যাদি অভ্যেস করুন ।
14:49 এখানেই এই টিউটোরিয়াল্-এর সমাপ্তি হল । স্পোকেন্ টিউটোরিয়াল্ Talk to a Teacher প্রকল্পের অংশবিশেষ যা ICT এর National Mission on Education দ্বারা সমর্থিত ।
15:03 এই বিষয় বিস্তারিত তথ্য এই লিঙ্ক-এ প্রাপ্তিসাধ্য ।
15:08 আমি অন্তরা এই টিউটোরিয়াল-টি অনুবাদ এবং রেকর্ড করেছি ।

Contributors and Content Editors

Pravin1389