Linux/C2/The-Linux-Environment/Bengali

From Script | Spoken-Tutorial
Revision as of 13:15, 2 December 2012 by Pravin1389 (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search
Time Narration
00:00 নমস্কার বন্ধুগণ, লিনাক্স environment এবং সেটি বিভিন্ন উপায়ে পরিবর্তন সম্পর্কিত এই কথ্য টিউটোরিয়ালটিতে আপনাকে স্বাগত জানাচ্ছি ।
00:13 আমরা ধরে নিচ্ছি যে আপনি, লিনাক্স অপারেটিং সিস্টেম-এ কিভাবে কাজ শুরু করতে হয়, ত়া জানেন এবং কমান্ড, ফাইল সিস্টেম এবং শেলের সম্বন্ধে আপনার কিছু মৌলিক ধারনাও রয়েছে ।
00:22 আপনি চাইলে এই বিষয়-গুলির জন্য আমাদের ওয়েবসাইটের অন্যান্য মৌখিক টিউটোরিয়ালগুলির সাহায্য নিতে পারেন ।
00:32 এই টিউটোরিয়ালটি রেকর্ডের জন্য উবুন্টু সংস্করণ ১০.১০ ব্যবহার করা হয়েছে ।
00:36 সমস্ত কমান্ড যা এই টিউটোরিয়ালটিতে ব্যবহার করা হয়ছে, সেগুলি lower case বা ছোটো হাতের অক্ষরে আছে, অন্যথায় সেটি উল্লেখ করা হয়েছে ।
00:46 অপারেটিং সিস্টেম কিভাবে আপনার সঙ্গে আচরণ করবে , কেমন করে আপনার কমান্ড গুলিকে বুঝবে এবং সেগুলি পালন করবে, ত়া লিনাক্স environment নির্ধারিত করে ।
00:55 শেলের settings এ পরিবর্তন করে লিনাক্স-কে আমাদের পছন্দমত করে নেওয়া যায় ।
00:59 সাধারনতঃ শেলের এর ব্যবহার শেল variable গুলির দ্বারা নির্ধারিত হয় ।
01:04 দুই প্রকারের শেল variable আছে:

environment variables এবং local variables

01:12 Environment variable নামের কারণ হল এগুলি ব্যবহারকারীর সম্পূর্ণ environment এ পুরোপুরি ভাবে প্রাপ্তিসাধ্য ।
01:19 shell scripts চালানোর somoy শেল যে subshell-গুলি তৈরী করে, সেগুলি-তেও এই variable প্রাপ্তিসাধ্য ।
01:24 local variables এর নাম থেকেই বোঝা যায় এটির ব্যবহার বেশি নিয়ন্ত্রিত অথবা সীমিত ।
01:31 এগুলি শেলের দ্বারা বানানো subshell- গুলিতে প্রাপ্তিসাধ্য হয় না ।
01:36 যদিও এই টিউটোরিয়ালে এ আমরা প্রধানত environment variable সম্বন্ধে কথা বলব, তাহলেও কোনো শেল variable এর মান কিভাবে দেখা যায় ত়া প্রথমে জেনে নেওয়া যাক ।
01:48 বর্তমান শেল এর সব variables দেখার জন্য , আমরা কমান্ড set ব্যবহার করতে পারি ।
01:53 "set space 'উল্লম্ব দাঁড়ি' more " এবং এন্টার টিপুন ।
02:00 আমরা সব বর্তমান শেল variable-গুলি সেখতে পাচ্ছি ।
02:04 উদাহরণের জন্য: home environment variable টি লক্ষ্য করুন এবং এর মান-টি দেখুন ।
02:15 সূচীটা সম্পূর্ণ দেখার জন্য এন্টার টিপুন । এই সূচী থেকে বেরিয়ে আসার জন্য q টিপুন ।
02:21 এখানে variable গুলির সূচীটি বিভিন্ন পৃষ্ঠায় বিভক্ত করে ভালো ভাবে প্রদর্শন করার জন্য set-এর আউটপুট more-কমান্ড-এ pipeline করা হয়েছে ।
02:38 শুধুমাত্র environment variable -গুলি দেখার জন্য env কমান্ড চালান ।
02:45 টার্মিনাল এ লিখুন

"env space 'উল্লম্ব দাঁড়ি' more " । এন্টার টিপুন ।

02:52 উদাহরণস্বরূপ,

SHELL variable -টি লক্ষ্য করুন । এর মান slash bin slash bash ।

03:00 পুনরায়, সূচী থেকে বাইরে আসতে q টিপুন ।
03:07 এখন আমরা লিনাক্সের কিছু গুরুত্বপূর্ণ environment variable নিয়ে আলোচনা করব ।
03:11 আমরা সমস্ত উদাহরণ-এর জন্য এখানে bash শেল ব্যবহার করব ।
03:15 বিভিন্ন শেল একে অপরের থেকে একটু আলাদা হয় ।
03:19 একটি variable এর প্রকৃত মান কি সেটি জানার জন্য variable এর নামের আগে একটি ডলার চিহ্ন লাগাতে হবে এবং সেটির সঙ্গে echo কমান্ড ব্যবহার করতে হবে ।
03:30 প্রথমে আমরা SHELL environment variable নিয়ে আলোচনা করবো ।
03:35 এইটি বর্তমান শেলের নাম সংরক্ষণ করে ।
03:37 শেল variable,এর মান জানার জন্য টার্মিনালে লিখুন

" echo space ডলার বড় হাতের অক্ষরে S-H-E-L-L " । এন্টার টিপুন ।

03:55 এইখানে slash bin slash bash হল সেই শেল যেখানে আমরা বর্তমানে কাজ করছি ।
04:02 পরবর্তী variable হল HOME ।
04:05 যখন আমরা লিনাক্স-এ login করি, তখন আমরা সাধারণভাবে এমন একটি ডিরেক্টরীতে আসি যার নাম আমাদের username ।
04:11 সেই ডিরেক্টরীটি-কে home ডিরেক্টরী বলা হয় এবং home variable তার মান সংরক্ষণ করে ।
04:17 সেটির মান দেখার জন্য টার্মিনালে এ " echo space ডলার বড় হাতের অক্ষরে H-O-M-E " লিখুন । এন্টার টিপুন ।
04:29 পরবর্তী environment variable হল PATH ।
04:32 পাথ (PATH ) variable সেই সব ডিরেক্টরীর এর absolute path সংরক্ষণ করে যেগুলিতে শেল executable কমান্ড এর অবস্থান অনুসন্ধান করে ।
04:40 প্রথমে path variable এর মান দেখে নেওয়া যাক ।
04:43 "echo space ডলার বড় হাতের অক্ষরে P-A-T-H " লিখুন এবং এন্টার টিপুন ।
04:51 আমার কম্পিউটার-এ এই ডিরেক্টরী-গুলি দেখা যাচ্ছে

slash usr slash local slash sbin slash usr slash local slash bin slash usr slash sbin slash usr slash bin ইত্যাদি ।

05:04 এই আউটপুট একটি সিস্টেম থেকে অন্য সিস্টেম-এ একটু আলাদা হতে পারে ।
05:07 প্রকৃতপক্ষে এইটি : (কোলন) delimiter দ্বারা আলাদা করা ডিরেক্টরীর একটি তালিকা । কোনো executable কমান্ড এর জন্য শেল এই তালিকার ডিরেক্টরী-গুলিকে পরপর অনুসন্ধান করে ।
05:18 এই তালিকাটিতে আমরা অন্য ডিরেক্টরী ও যোগ করতে পারি যাতে শেল সেই ডিরেক্টরী-তেও কমান্ড অনুসন্ধান করে ।
05:25 আমাদের নিজস্ব ডিরেক্টরী যোগ করতে টার্মিনালে লিখুন ।
5:29 বড় হাতের অক্ষরে "PATH "' সমান চিন্হ ' dollar বড় হাতের অক্ষরে PATH colon slash home slash নিজের home ডিরেক্টরীর নাম । এন্টার টিপুন ।
05:54 এখন PATH-এর মান echo করলে দেখা যাবে ।
06:04 আমাদের ডিরেক্টরী ও PATH variable এর একটি অংশ হয়ে গেছে ।
06:10 দেখুন, আমাদের ডিরেক্টরী এখানে দেখা যাচ্ছে ।
06:16 আরো একটি interesting variable হল LOGNAME ।
06:20 এইটি বর্তমানের সক্রিয় ব্যবহারকারীর username সংরক্ষণ করে ।
06:24 এর মান দেখার জন্য লিখুন " echo space ডলার LOGNAME " । এন্টার টিপুন ।
06:35 যখন আমরা টার্মিনাল খুলি, তখন একটি ডলার চিহ্ন দেখতে পাই । এই প্রম্পট-এ আমরা সমস্ত কমান্ড লিখি ।
06:42 এটি হল primary prompt string যার মান PS1 নামক environment variable -এ থাকে ।
06:47 এটি ছাড়াও secondary prompt string-ও আছে ।
06:50 যদি আমাদের কমান্ড দীর্ঘ হয় এবং সেটি একটি লাইনের চেয়ে আরও বেশি বিস্তারিত হয়, তাহলে দ্বিতীয় লাইন থেকে আমরা প্রম্পট এর রূপে greater than চিহ্ন “ > ” দেখতে পাই ।
07:00 এটি-ই হল secondary prompt string যার মান environment variable PS2 -ত়ে থাকে ।
07:05 secondary value কমান্ড প্রম্পট এর মান দেখার জন্য টার্মিনালে এ লিখুন " echo space ডলার PS2 । এন্টার টিপুন ।
07:20 আমরা primary command প্রম্পট পরিবর্তন করে “at the rate”<@> চিহ্ন করতে পারি ।
07:28 সেটি করার জন্য লিখুন " PS1 'equal-to' quotes-এর মধ্যে at the rate । এন্টার টিপুন ।
07:41 এখন ডলার চিহ্নর পরিবর্তে আমরা at the rate চিহ্ন প্রম্পট রূপে দেখতে পাচ্ছি ।
07:50 আমরা আরও বেশি উৎসাহজনক কিছু করতে পারি । আমরা প্রম্পট হিসাবে আমাদের username প্রদর্শন করতে পারি ।
07:56 লিখুন " PS1 সমান-চিন্হ quotes-এরমধ্যে dollar LOGNAME" । এন্টার টিপুন ।
08:12 এখন আপনার username -ই আপনার প্রম্পট ।
08:16 আবার পূর্বাবস্থায় আবার ফিরে আসার জন্য লিখুন " PS1 'equal-to' quotes এর মধ্যে ডলার এবং এন্টার টিপুন ।
08:28 আমরা অনেক environment variable কে অনেক মান প্রদান করেছি ।
08:32 কিন্তু, একটি জিনিস মনে রাখবেন যে এই পরিবর্তনগুলি কেবল এই বর্তমান session-এর জন্য প্রযোজ্য ।
08:37 যেমন, আমরা আমাদের ডিরেক্টরীটি একটু আগেই PATH variable এ যোগ করেছিলাম ।
08:40 যদি আপনি এই টার্মিনালটি বন্ধ করে নতুন টার্মিনাল খোলেন অথবা এটিকে রেখেই আরো-একটি নতুন টার্মিনাল খোলেন এবং PATH variable এর মান পরীক্ষা করেন ।
09:00 তাহলে দেখবেন যে আমাদের পরিবর্তনগুলো আর বর্তমান নেই । তাহলে দেখতে পাচ্ছেন যে সেই পরিবর্তনগুলো আর বর্তমান নেই ।
09:05 এই পরিবর্তন-গুলিকে চিরস্থায়ী করার প্রক্রিয়া পরবর্তী টিউটোরিয়াল-এ বর্ণনা করা হবে ।
09:13 যে কমান্ড-গুলি আমরা অতীতে চালিয়েছিলাম, সেগুলি আমরা প্রায়শই আবার চালাতে চাই । সেজন্য কি আমাদের পুরো কমান্ড আবার টাইপ করতে হবে?
09:22 না, এর জন্য অন্য অনেক উপায় আছে। ।
09:26 প্রথমতঃ, যদি আপনি আপনার কীবোর্ডের up key টেপেন, তাহলে যে কমান্ডটি আপনি শেষ চালিয়েছিলেন , সেটি দেখতে পাবেন ।
09:33 up key টিপে রাখলে আপনি পূর্ববর্তী কমান্ড-গুলি একটির পর আরেকটি দেখতে পাবেন ।
09:37 ফিরে যেতে হলে down key টিপুন ।
09:42 কিন্তু যখন আপনাকে অনেক কমান্ড পিছনে যেতে হবে, তখন এই প্রক্রিয়া একটু কষ্টসাধ্য হতে পারে । এর থেকে ভালো হল history কমান্ড ব্যবহার করা ।
09:52 প্রম্পট এ গিয়ে লিখুন " history" ।
09:58 এন্টার টিপুন । আপনি পূর্বে রান করা কমান্ডগুলির একটি তালিকা দেখতে পাচ্ছেন ।
10:04 এই লম্বা তালিকা দেখার পরিবর্তে যদি আপনি কেবল শেষ দশটি দেখতে চান ।
10:08 তাহলে লিখুন " history space 10" । এন্টার টিপুন ।
10:20 দেখুন, এই তালিকাতে, পূর্বের প্রতেকটি কমান্ডকে একটি সংখ্যা প্রদান করা হয়ছে ।
10:27 একটি নির্দিষ্ট কমান্ডকে পুনরায় চালাতে ।
10:32 লিখুন বিস্ময়বোধক চিহ্ন, তারপর কমান্ডের সংখ্যা, এক্ষেত্রে উদাহরণ এর জন্য আমি 442 লিখলাম, যেটি হল echo space dollar PATH কমান্ড ।
10:51 আরো সহজে শেষ কমান্ডটিকে চালানোর জন্য লিখুন দুইবার বিস্ময়বোধক চিহ্ন । এন্টার টিপুন ।
11:03 এখন আমরা tilde substitution দেখব । tilde(~) অক্ষর home ডিরেক্টরীর একটি সংক্ষিপ্ত রূপ ।
11:12 ধরুন, আপনার হোম ডিরেক্টরীতে testtree নামের একটি ডিরেক্টরী আছে । সেটিতে যাবার জন্য লিখুন, " cd space 'tilde' slash testtree "।
11:25 বর্তমান কর্মরত ডিরেক্টরী এবং শেষ ব্যবহার করা ডিরেক্টরী মধ্যে toggle বা পরিবর্তন করার জন্য সিডি স্পেস 'tilde' minus অথবা কেবল সিডি স্পেস minus কমান্ড ব্যবহার করতে হয় ।
11:35 আমরা এখন testtree ডিরেক্টরী তে আছি ।
11:41 যদি আমরা " cd space minus" লিখে এন্টার টিপি, তাহলে আমরা হোম ডিরেক্টরীতে ফিরে যাব ।
11:47 এই কমান্ড-টিকে যদি আবার চালাই, তাহলে আমরা পুনরায় testtree ডিরেক্টরীতে ফিরে আসব ।
11:55 এই টিউটোরিয়াল-এ আমরা যে শেষ কমান্ড-টি আলোচনা করবো, সেটি হল alias কমান্ড ।
11:59 কিছু কমান্ড আপনাকে বারবার চালাতে হতে পারে ।
12:04 এর জন্য আমরা কমান্ডকে একটি সংক্ষিপ্ত alias নাম দিতে পারি এবং সম্পূর্ণ নামের পরিবর্তে সেই রূপক বা alias নাম ব্যবহার করতে পারি ।
12:11 ধরুন, আপনি গানের জন্য যে ডিরেক্টরীত়ে ঘনঘন যান, তার path অনেক দীর্ঘ । আপনি সেটির জন্য একটি alias নাম রাখতে পারেন ।
12:20 লিখুন " alias space cdMusic সমান চিহ্ন দুটি quote-এর মাঝে cd space slash home slash arc slash files slash entertainment slash music " । এন্টার প্রেস টিপুন ।
12:47 যখনই এই ডিরেক্টরীটি তে যাবার প্রয়োজন হবে, তখনি আপনি cdMusic লিখে এন্টার টিপতে পারেন ।
12:55 এখন দেখুন, আমরা Music ডিরেক্টরী তে এসে গেছি ।
12:58 এখন, পূর্ববর্তী কর্মরত ডিরেক্টরীতে ফিরে যাবার জন্য প্রম্পট এ লিখুন " cd space minus " ।
13:08 এই alias নাম কে নিস্ক্রিয় করতে চাইলে টাইপ করুন unalias space cdMusic এবং এন্টার টিপুন ।
13:20 এখন পুনরায় টার্মিনাল এ যদি আপনি cdMusic লেখেন , তাহলে একটি error দেখা যাচ্ছে যে কমান্ড-টি কে খুঁজে পাওয়া যাচ্ছেনা ।
13:30 ধরুন, আমাদের বর্তমান কর্মরত ডিরেক্টরীতে দুটো ফাইল, test1 এবং test2 রয়েছে ।
13:38 যদি আমরা কমান্ড rm test1 চালাই, তাহলে test1 নিঃশব্দে ডিলিট হয়ে যাবে ।
13:45 কিন্তু আমরা জানি যে rm কমান্ড এর option"hyphen i” ডিলিট করার সময় জিজ্ঞাসা করে ।
13:52 আমরা একটি alias তৈরী করতে পারি, alias rm সমান চিন্হ quote-এর মধ্যে এখন" rm space hyphen i” লিখুন ।
14:03 যাতে আমরা যখন “rm” চালাব, তখন প্রকৃতপক্ষে ” rm hyphen i” চালানো হয় ।
14:13 দেখুন, test1 নিঃশব্দে ডিলিট হয়ে গেলেও সিস্টেম test2 ডিলিট করার পূর্বে জিজ্ঞাসা করে ।
14:20 এই টিউটোরিয়ালে, আপনি environment variables, history এবং aliasing এর সম্বন্ধে শিখেছেন ।
14:25 এইখানেই এই টির সমাপ্তি হল ।
14:28 স্পোকেন টিউটোরিয়াল্ talk to a teacher প্রকল্পের অংশবিশেষ যা ICT এর National Mission on Education দ্বারা সাহায্যপ্রাপ্ত ।
14:36 এই বিষয় বিস্তারিত তথ্য নিম্নলিখিত লিঙ্ক-এ প্রাপ্তিসাধ্য ।
14:39 আমি অন্তরা এই টিউটোরিয়াল-টি অনুবাদ এবং রেকর্ড করেছি ।
14:42 এই টিউটোরিয়াল-এ অংশগ্রহন করার জন্য ধন্যবাদ ।

Contributors and Content Editors

Pravin1389