টার্মিনাল নিয়ে টানাটানি

মানুষজন লিনাক্সে আসতে চায়না যে কটা কারনে তার মধ্যে মনে হয় সবচেয়ে বেশি উচ্চারিত কারন হচ্ছে “লিনাক্সে কোড লিখতে হয়“! সাধারন ব্যবহারকারিদের মধ্যে কোড লেখার প্রতি একটা ভীতি সবসময়ই কাজ করে (হাসি দিয়ে লাভ নাই, আমি নিজেও এই জিনিসটাকে ভয় পেতাম)। অনেকে মাউস পয়েন্টারের পরিবর্তে এইসব কোড লেখাকে মহারাজ মান্ধাতার সম্পত্তি মনে করে। ফলে মহারাজের আমলের জিনিসকে বাদ দিয়ে তারা মাউসের উপর বেশি মাত্রায় নির্ভরশীল। এটা দোষের কিছু না। যার যেটাতে সুবিধা সে সেটাই ব্যবহার করবে। এই বিষয়টা ধরতে পেরেই উবুন্টু গ্রাফিক্যাল ইন্টারফেসের উপর এত বেশি জোর দিয়েছে যে, কোন নতুন ইউজার একলাইন কোড না জেনেও তার সাধারন কাজগুলো মাউস ক্লিকে করে নিতে পারবেন। এবার নিশ্চয়ই আমার উপর ক্ষেপে উঠেছেন; নিশ্চয়ই মনে মনে বলছেন – তাহলে ভাই কেন টার্মিনাল নিয়ে খামাখা টানাটানি করছেন? বলছি, একটু সবুর করুন!

  • কি এই টার্মিনাল?

একটা উদাহরন দেই। মেডিক্যালে ডাক্তারদের মাঝে দুইটা ক্যাটাগরি থাকেঃ মেডিসিন আর সার্জারি। যারা মেডিসিনে থাকেন তারা কোন রকম কাটাকাটি ছাড়াই সব অসুখ সারাতে চান। কিন্তু সবসময় সেটা সম্ভব হয়না, অনেকসময় অপারেশন ছাড়া কোন পথ খোলা থাকেনা। এই অপারেশনের জন্য দরকার সার্জারি টিম, যারা ম্যানুয়ালি দেহের ভিতরে হাত দিয়ে বিগড়ানো অঙ্গ ঠিক করে। মাউস দিয়ে অপারেট করাটা হচ্ছে অনেকটা মেডিসিন টিমের মত, অপারেটিং সিস্টেমের ভিতরে হাত না দিয়ে কেবল বাইরে থেকে কাজ করা। আর কোড লিখে কাজ করাটা হচ্ছে সার্জারি টিমের মত অপারেটিং সিস্টেমের একেবারে গভীরে হাত দিয়ে কাজ করা। উবুন্টুতে যেখানে এই কোড লেখা তাকে বলা হয় টার্মিনাল। টার্মিনাল দিয়ে সঠিক জ্ঞান ব্যবহার করে যে কেউ উবুন্টুর মধ্যে যে কোন পরিবর্তন আনতে পারবে। মোট কথা উবুন্টুর নাড়িনক্ষত্র যেটা দিয়ে নাড়াচাড়া করা হয় সেটাই হল টার্মিনাল।

  • কোথায় থাকে এই টার্মিনাল?

উবুন্টুতে টার্মিনাল খুলতে হলে Applications -> Accessories -> Terminal এ ক্লিক করুন।

টার্মিনাল

টার্মিনাল খুলেছে? কি দেখতে ভয় লাগছে? হয়তোবা! কিন্তু সময়ে সময়ে এই টার্মিনাল প্রচন্ড কাজে আসে। টার্মিনাল দেখতে অনেকটা নীচের উইন্ডোর মত।

টার্মিনাল খুললেই ইউজার নেম আর কম্পিউটার নেম অনেকটা নিচের মত ইমেইল এড্রেসের ফরম্যাটে থাকেঃ

name@name-desktop:~$

এই খানে @ এর আগের অংশ হল আপনার ইউজার নেম আর এর পরের অংশ হল আপনার পিসির নাম। $ সাইন দিয়ে বোঝা যায় যে টার্মিনাল আপনার কমান্ড নেবার জন্য প্রস্তুত।

  • কেন এই টার্মিনাল?

উবুন্টুতে তো মাউস দিয়েই প্রয়োজনীয় সব কাজ করা সম্ভব, তাহলে ভাই টার্মিনালের মত পুরান জিনিস (যেটা এমএস ডসের পর আর কারো ধরার দরকার হয়নাই) নিয়ে টানাটানি শুরু করলেন কেন? প্রশ্নটা আগে ও করেছিলেন! এইবার জবাব দিচ্ছি। এককথায় বললে বলতে হয় “উবুন্টুর আসল সৌন্দর্য বুঝতে টারমিনালের বিকল্প নাই”।

ছোট্ট একটা উদাহরন দেই। ধরুন আপনি ভিএলসি প্লেয়ার ইন্সটল করতে চান। আপনি মাউস দিয়ে ক্লিক করে করে কয়েক ধাপে সেই কাজ করতে পারেন অথবা মাত্র একটা লাইন টার্মিনালে লিখে সেই কাজ করতে পারেন। ভিএলসি প্লেয়ার ইনস্টল করতে হলে টার্মিনাল ওপেন করে নিচের লাইনটি লিখে Enter চাপুন।

sudo apt-get install vlc

আপনার পাসওয়ার্ড দিতে বলবে।

[sudo] password for (your name):

পাসওয়ার্ড দিয়ে Enter চাপুন। নিরাপত্তার কারনে আপনার পাসওয়ার্ড টাইপিং সে দেখাবেনা। ব্যস কাহিনী শেষ! ভিএলসি প্লেয়ার ইন্সটল হয়ে গেল। কত সহজেই ইন্সটলেশন প্রসেস শেষ! মাউসের চেয়ে এই প্রসেস অনেক দ্রুত এবং অবশ্যই সহজ।

টার্মিনালের আরো সুবিধা পাওয়া যায় যখন আপনি কোন ফোরামে সাহায্য চেয়ে পোস্ট দেবেন তখন। কেউ যদি বলে যে ঐ কাজটা করার জন্য অমুক অমুক জায়গায় ক্লিক করেন, তারপর এইটা ক্লিক করেন, আবার অমুক অমুক জায়গায় গিয়ে ক্লিক করেন এরপর এইটা এইটা করেন, ইত্যাদি। জিনিসটা অনেক সহজ হয়ে যায় যখন কেউ দুই তিনটা কোড দিয়ে বলে যে এই কোডগুলো টার্মিনালে রান করে দেখুন তো। ঐ কোডগুলো পেস্ট করলেই হল, আপনার কাজ শেষ। কত সহজেই ঝামেলা শেষ!

  • SUDO কি বস্তু?

sudo হল “SUper-user Do“। সাধারনত যেসব কোড গুরুত্বপূর্ন (যেমন কোন কিছু ইন্সটল বা রিমুভ করা), যেগুলোতে সিস্টেম মডিফিকেশনের ব্যাপারগুলো চলে আসে সেসব ক্ষেত্রে sudo ব্যবহার করতে হয়। সিস্টেম মডিফিকেশনের মত জটিল কাজগুলো সাধারন ব্যবহারকারিদের করার কোন অনুমতি দেয়া থাকেনা। ফলে যে কেউ ইচ্ছা করলেই কোন কিছু পাল্টাতে পারেনা। এই মডিফিকেশনগুলো করার জন্য একজনই কেবল অনুমতি পেয়ে থাকে, সে ই হল সুপার ইউজার। যার কাছে সুপার ইউজারের পাসওয়ার্ড থাকবে সে এইসব মডিফিকেশন করতে পারবে। তাই গুরুত্বপূর্ন কাজগুলো করার জন্য sudo ব্যবহার করতে হয়।

উবুন্টুতে sudo কমান্ড ব্যবহার করলে ১৫ মিনিটের জন্য সে পাসওয়ার্ড তার মেমরিতে রাখে। ১৫ মিনিট পর আপনা আপনি পাসওয়ার্ড মুছে ফেলে। ফলে এই সময় অন্য কোন sudo কমান্ডের জন্য পাসওয়ার্ড প্রয়োজন হয়না। এটা অনেকটা স্প্রিং লাগানো দরজার মত, একবার খুললে কিছুক্ষন খোলা থাকে তারপর নির্দিষ্ট সময় পর নিজে নিজেই দরজা বন্ধ করে দেয়। তাই সব কাজেই sudo ব্যবহার করা বুদ্ধিমানের কাজ না।

  • কমান্ড কিভাবে চালায়?

সত্যি বলতে কি যেহেতু উবুন্টুতে বেশ শক্তিশালী একটা গ্রাফিক্যাল ইন্টারফেস আছে তাই সাধারন ব্যবহারকারি হিসেবে কমান্ড কিভাবে কাজ করে সেটা সেভাবে না জানলেও চলে। শুধু কয়েকটা কমন কমান্ড জানলেই চলে। তবে কমান্ডগুলোর মধ্যে সেই অর্থে কোন কমন প্যাটার্ন নেই। অর্থাৎ কমান্ডগুলো তেমন কোন ফর্মুলা মেনে চলেনা। কোন কিছু ইন্সটল করার কমান্ড আর কোন কিছু এক জায়গা থেকে আরেক জায়গায় কপি করার কমান্ড সম্পূর্ণ ভিন্ন ধরনের। তাই নির্দিষ্ট কয়েকটা ফর্মুলা জানলেই যে কমান্ড লাইনের কোড লিখতে পারা যাবে এমন কোন নিয়ম নেই। তবে ব্যবহার করতে করতে নির্দিষ্ট কিছু কমন কমান্ড এমনিতেই মাথায় আটকে যায়। তাই এটা নিয়ে ঘাবড়ানোর কিছু নেই। আর যেহেতু এটা উবুন্টু তাই সাধারন কাজে ব্যবহারের জন্য অল্প কয়েকটা কমান্ড ছাড়া আর কোন কমান্ডই তেমন কোন কাজে লাগেনা। তবে হ্যা কিছু কমান্ড থেকে সাবধান থাকতে হয়। এই টাইপের কমান্ড কোথায় পেলে না বুঝে শুনে পেস্ট করা উচিত না। এইসব ‘বিপজ্জনক’ কমান্ড পরবর্তী অংশে বিশদভাবে আলোচনা করা হবে।

এবার তাহলে দেখা যাক টার্মিনালে কমান্ড কিভাবে চালাতে হয়। খেয়াল করেছেন কি ইতিমধ্যেই কিন্তু উপরে একটা কমান্ড লেখা হয়ে গেছে! ঐ যে ভিএলসি প্লেয়ার ইন্সটল করার কমান্ডটা! যেকোন কমান্ড লেখার পর সেটা চালানোর জন্য অবশ্যই কিবোর্ডের Enter বাটন চাপতে হবে। টার্মিনালে কমান্ড টাইপ করেও লেখা যায় আবার কোন জায়গা থেকে কপি-পেস্ট করেও লেখা যায়। ধরা যাক নিচের কমান্ডটি চালাতে হবে।

sudo apt-get update

প্রথমেই টার্মিনাল ওপেন করুন। এরপর উপরের কোডটি কপি করুন। মাউস পয়েন্টার দিয়েও করতে পারেন অথবা Ctrl+c চেপে কিবোর্ড থেকেও করতে পারেন। এবার টার্মিনালে কোডটি পেস্ট করুন। এইক্ষেত্রেও মাউস পায়েন্টার বা Ctrl+Shift+v চেপেও করতে পারেন। পেস্ট করা হয়ে গেলে Enter চাপুন। একটা ফিরতি রেসপন্স পাবেন নিচের মত যেখানে আপনাকে পাসওয়ার্ড দিতে বলা হবে।

[sudo] password for (your name):

এটা হল sudo ব্যবহার করার খেসারত। যেহেতু আপনি মডিফিকেশন করতে চাচ্ছেন তাই উবুন্টু আরেকবার নিশ্চিত হবার জন্য আপনাকে এই পাসওয়ার্ড দিতে বলছে। অর্থ্যাৎ সে নিশ্চিত হতে চাচ্ছে যে এটা আপনিই, অন্য কোন র‍্যান্ডম ইউজার না। পাসওয়ার্ড যখন দিবেন তখন কিন্তু কোন অক্ষর বা চিহ্ন স্ক্রিনে দেখা যাবেনা। তাই যদি টাইপিং এ কোন ভুল হয় তবে কিছুক্ষণ ব্যাকস্পেস চেপে ধরে আবার পাসওয়ার্ড লেখা শুরু করুন। পাসওয়ার্ড দেয়া শেষ হলে Enter চাপুন।

ব্রুম!! একগাদা লেখা আপনার স্ক্রিনের উপর থেকে নিচে চলে যাচ্ছে তাইনা! তার মানে হচ্ছে সিস্টেম আপডেট করার এই কমান্ডটা কাজ করছে। একটা লাইন লিখে যে কাজটা করলেন ঠিক এই কাজটাই করা যায় System–> Administration–> Update Manager চালিয়ে।

প্রয়োজনীয় বেশ কিছু কোড পাবেন এইখানে

  • বিপজ্জনক কমান্ড!


(এই অংশের কোন কোড ভুলেও কখনো টার্মিনালে চালাবেননা, যদি চালান তবে নিজ দায়িত্ব চালাবেন।)

আগেই বলেছি কিছু কোড আছে বেশ বিপজ্জনক! নিচের কোডটি ঠিক সেরকম। যারা উবুন্টুতে গুরুটাইপের লোক তাদের জন্য এটা খুবই পাওয়ারফুল একটা কমান্ড। কিন্তু কথায় আছেনা “With great power comes great responsibility”। ব্যাপারটা এই কোডের ক্ষেত্রে একেবারে হাড়ে হাড়ে সত্যি। এই কোড প্রয়োগে একটু ভুলের জন্য চরম মূল্য দিতে হতে পারে। তাই যারা নবীন ব্যবহারকারি তাদের প্রতি আমার সাবধান বাণী “ভুলেও কখনো এই কোড টার্মিনালে চালাবেননা”। কোডটা হলঃ

SUDO RM -RF /

আমি আবারও বলছি “ভুলেও কখনো এই কোড টার্মিনালে চালাবেননা, যদি চালান তবে নিজ দায়িত্ব চালাবেন“।

এক্সিডেন্টালি এই কোড দিয়ে ফেললে সর্বশেষ গার্ড হিসেবে থাকবে sudo কমান্ডের পাসওয়ার্ড প্রম্পট। যদি আপনি পাসওয়ার্ড দিয়ে ফেলেন বা অন্য কোন sudo চালানোর ১৫ মিনিটের মধ্যে এই কোড চালান তবে আর কিছু করার নেই! sudo হচ্ছে অদ্বিতীয় একটা সিকিউরিটি সিস্টেম, কিন্তু এটা আপনার নিজের ভুল থেকে আপনাকে রক্ষা করতে পারবেনা। এতগুলো কথা কেন বললাম? বললাম যাতে আপনি এই কোডগুলো টার্মিনালে প্রয়োগ না করেন।

কি করে এই কোড? আসুন তাহলে কোডটাকে বিশ্লেষণ করিঃ

SUDO: কোডটিকে সিস্টেমে কাজ করার অনুমতি দেয় (এবং অবশ্যই আপনার অনুমতি সাপেক্ষে)।
RM: এই কোডটি এক বা একাধিক ফাইল রিমুভ (ReMove) করে।
-R: এটি দিয়ে বোঝায় Recursive, এই অপশন যেকোন ফোল্ডারকে সাবফোল্ডারসহ ডিলিট করে দেয়। যদি লেখা হয় RM -R /home/ovroniil তবে ovroniil ফোল্ডারটা তার সব সাবফোল্ডারসহ চিরতরে ডিলিট হয়ে যাবে।
F: এটি দিয়ে বোঝায় Force। এর মানে হচ্ছে সিস্টেম এই কমান্ডকে কাজ করতে যতই বাধা দিক, এই কমান্ড F এর গুনে সর্বময়ক্ষমতার অধিকারী। অর্থ্যাৎ যা কিছুই হোক না কেন এই কমান্ড রান করবেই করবে!
/: এটা হচ্ছে এই কমান্ডের সবচেয়ে ভয়ংকর অংশ। যার মানে হচ্ছে পুরো “রুটকে”ই ডিলিট করে দেয়া।
যদি কোডটা নিচের মত লেখা থাকেঃ

sudo rm -rf /home/ovroniil/downloads

তারমানে হচ্ছে ইউজার অভ্রনীলের হোমে অবস্থিত downloads ফোল্ডারটিকে তার সব ফাইল আর সাবফোল্ডারসহ ডিলিট করে দেয়া হবে। কিন্তু যদি “/home/ovroniil/downloads” জায়াগায় শুধু “/” দেয়া থাকে তারমানে “সবকিছু” (যত ফাইল, ফোল্ডার যা আছে সব) ডিলিট করে দেয়া।

তাই কোথাও এই কোড বা এই ধরনের কোড দেখলে জেনেই হোক বা না জেনেই হোক কখনো টার্মিনালে চালাবেননা। তবে এই কোডের একটা দারুন স্টাইলিশ নাম আছে – “The 10-character code of death” অর্থ্যাৎ “১০ অক্ষরের মরণনাশা কোড“!

শুরুতে আপনার মনে যে একটা প্রশ্ন ছিল কেন খামাখা টার্মিনাল নিয়ে টানাটানি করছি, এর উত্তর কি পেয়েছেন এখন? টার্মিনাল নিয়ে আপনার কিছুটা ভয় কি কেটেছে? তবে চলুন ভয়টা পুরোপুরি কাটাতে টার্মিনাল নিয়ে কিছু খেলা করি।

  • টার্মিনাল নিয়ে নাড়াচাড়াঃ

ধরুন আপনি কোন এ্যাপ্লিকেশন চালাতে চাচ্ছেন। টার্মিনাল খুলে কেবল এ্যাপ্লিকেশনের নামটি লিখুন। যদি ফায়ারফক্স চালাতে চান তাহলে লিখুন

firefox

তারপর এন্টার চাপুন। কি দেখলেন? মাউস দিয়ে ক্লিক না করেও ফায়ারফক্সকে রান করানো সম্ভব! এভাবে যেকোন এ্যাপ্লিকেশনকে টার্মিনাল থেকে রান করানো যায়। যেমন ভিএলসি প্লেয়ার রান করতে টার্মিনালে লিখুন

vlc

তারপর এন্টার চাপুন। ব্যস ভিএলসি প্লেয়ার ওপেন হয়ে গেল! এবার আসুন আরেকটু মজা করি। টার্মিনালে লিখুন

date

এন্টার চাপলেই দেখবেন আজকের তারিখ দেখাবে। এবার টার্মিনালে লিখুন

cal

পুরো মাসের ক্যালেন্ডার দেখতে পাবেন। আপনার কম্পিউটারে ডিস্ক কতটুকু ব্যবহার হল সেটা জানতে টার্মিনালে লিখুন

df

নিচের কমান্ডটি টার্মিনালে রান করালে শেষ রিস্টার্টের পর থেকে আপনার পিসি কতক্ষণ ধরে চলছে তার হিসাব দেখাবে।

uptime

আপনার নিজের একাউন্ট সম্পর্কে জানতে টার্মিনালে লিখুন

whoami

আপনার সিস্টেম কার্নেল জানতে নিচের কমান্ডটি লিখুন

uname

উপরের তথ্যগুলোই আরো বিস্তারিত জানতে লিখুন

uname -a

কী, মজা লাগছে? ছোট্ট ছোট্ট কিছু কোড দিয়ে দারুন দারুন কাজ করা যাচ্ছে, তাইনা! আশাকরি এবার ভয় অনেকটুকুই কেটে গিয়েছে। আসুন তাহলে আরেকটু সামনে যাই।

  • আরো নাড়াচাড়াঃ

টার্মিনাল ওপেন করলে আপনি কিন্তু বাই ডিফল্ট /home/user_name ডিরেক্টরিতে থাকেন (এখানে user_name হল আপনার ইউজার নেম যেটা দিয়ে কম্পিউটারে লগিন করেছেন। যেমন আমার ইউজারনেম যদি ovroniil হয় তবে আমার ক্ষেত্রে ডিরেক্টরিটা হবে /home/ovroniil)। অর্থাৎ উবুন্টুর ফাইল ব্রাউজার নটিলাস দিয়ে /home/user_name ফোল্ডারে গিয়ে কাজ করা যেই কথা, টার্মিনাল ওপেন করে কাজ করাটাও প্রায় একই কথা। ‘প্রায়’ বললাম এ জন্য যে, নটিলাসে তো আর cal বা date লিখে ক্যালেন্ডার বা তারিখ দেখতে পারবেননা! এখন আপনি যদি জানতে চান যে আপনি কোন ডিরেক্টরিতে আছেন তবে টার্মিনালে নিচের কমান্ডটি রান করান

pwd

আপনি কোন ডিরেক্টরিতে এই মুহূর্তে আছেন সেটা পর্দায় দেখাবে। যদি আপনি সেই ডিরেক্টরির সমস্ত ফাইলের লিস্ট চান তাহলে লিখুন

ls

এখন আপনি যদি এই ডিরেক্টরি থেকে অন্য কোন ডিরেক্টরিতে যেতে চান তবে আপনাকে টার্মিনালে লিখতে হবে

cd directory_name

এখানে directory_name হল যে ডিরেক্টরিতে যেতে চান তার ঠিকানা আর cd বোঝাচ্ছে Change Directory। যেমন আপনি যদি ডেস্কটপে যেতে চান তবে টার্মিনালে লিখুন

cd /home/user_name/Desktop

এখানে user_name বরাবরের মতই কম্পিউটারে আপনার ইউজার নেম হবে। আরেকট দেখার মত বিষয় হচ্ছে ডেস্কটপের D কিন্তু বড় হাতের, কারন উবুন্টুর ফাইল সিস্টেমে ডেস্কটপ বড়হাতের D দিয়েই লেখা। যদি ছোট হাতের d দিয়ে লেখেন, তবে টার্মিনাল এই ডিরেক্টরি খুঁজে পাবেনা। লিনাক্স হচ্ছে ‘কেস সেন্সিটিভ’ অর্থাৎ বড় হাতের অক্ষর ও ছোট হাতের অক্ষর – দুটা ভিন্ন জিনিস। লিনাক্স desktop ও Desktop – এ দুটোকে দুটো আলাদা নাম হিসেবে দেখে (যেখানে উইন্ডোজ দেখে একই নাম হিসেবে, অর্থাৎ উইন্ডোজ কেস সেন্সিটিভ না।)। যাই হোক অনেক কথা হয়ে গেল। আপনি ডেস্কটপেই আছেন কিনা সেটা দেখতে আবার নীচের কমান্ডটি চালান

pwd

এবার ধরুন আপনি ডেস্কটপে test নামে একটি ফোল্ডার বানাতে চাচ্ছেন। সেজন্য নিচের কমান্ডটি লিখতে হবে

mkdir /home/user_name/Desktop‌‌/test

এখানে mkdir মানে হচ্ছে Make Directory। এবার ডেস্কটপে গিয়ে দেখুন test নামে একটা ফোল্ডার তৈরি হয়ে আছে। যদি test ফেল্ডারে যেতে চান তাহলে লিখুন

cd /home/user_name/Desktop‌‌/test

test ফোল্ডার থেকে আবার ডেস্কটপে ফেরত যেতে (অর্থাৎ একধাপ উপরে যেতে) লিখুন

cd ../

এবার আপনি আছেন ডেস্কটপে। আপনার ইউজার নেমের ফোল্ডার অর্থাৎ হোম ফেল্ডারে ফেরৎ যেতে (অর্থাৎ একধাপ উপরে যেতে) আবার লিখুন

cd ../

এই কমান্ডটা ফাইল ব্রাউজারের UP (আপ) বাটনটার কাজ করে। সদ্য বানানো test ফাইলটা যদি মুছে ফেলতে চান তবে টার্মিনালে লিখুন

rm -r /home/user_name/Desktop‌‌/test

টার্মিনাল নিয়ে ভয় কাটতে আর কদ্দূর? খেয়াল করেছেন কি উপরের কমান্ডগুলোতে কিন্তু sudo লিখতে হয়নি। কারণ এসব কাজ করার জন্য আপনার কোন এ্যাডমিনিস্ট্রেটিভ এ্যাক্সেস দরকার নেই। অন্য কথায় উপরের কমান্ডগুলো দিয়ে সিস্টেমের কোন কিছু পাল্টানো হচ্ছে না, কেবল ইউজার হিসেবে আপনার যতটুকু এখতিয়ার ততটুকুতেই আপনি কাজ করছেন। এবার তাহলে টার্মিনাল নিয়ে আরেকটু মজা করি। ধরুন আপনি জানেননা যে কোন কমান্ডের কি কাজ। সেক্ষেত্রে কমান্ডের আগে man লিখে টার্মিনালে চালান। যেমন date কমান্ড দিয়ে কি কাজ হয় আপনি তা জানেননা। তাহলে টার্মিনালে লিখুন

man date

এবার দেখবেন date দিয়ে যা যা করা সম্ভব তার সব কিছুর বর্ণনা আপনাকে দিয়ে দেবে। বর্ণনা ক্লোজ করতে q চাপুন। এভাবে যেকোন কমান্ডের বিস্তারিত বিবরণ man এর সাহায্যে পাওয়া সম্ভব। বলতে ভুলে গেছি, man দিয়ে কিন্তু ম্যানুয়াল বুঝাচ্ছে।

  • কখন sudo লিখবেন

যখন কোন কিছু ইন্সটল করতে হয় তখন apt-get ব্যবহার করে করতে হয়। apt হচ্ছে Advanced Packaging Tool এর সংক্ষিপ্ত রূপ। উবুন্টুতে কোন সফটওয়ার ইন্সটল করতে, আপডেট করতে, মুছে ফেলতে কিংবা পুরো উবুন্টু সিস্টেমকে আপগ্রেড করতে এটা ব্যবহার করা হয়। ধরুন আপনি ভিএলসি প্লেয়ার ইন্সটল করতে চান, তবে টার্মিনালে লিখুন

sudo apt-get install vlc

খেয়াল করুন এখানে কিন্তু sudo লিখছি। এখন প্রশ্ন আসতেই পারে কিভাবে বুঝব sudo লিখতে হবে কি হবেনা? উত্তর হচ্ছে করতে করতে বুঝে যাবেন কখন লিখতে হবে বা কখন হবেনা। তবে আপাতত sudo না লিখেই কমান্ড চালাতে থাকুন। যখন দেখবেন কোন কমান্ড দেবার পর বলছে যে আপনার এ্যাডমিনিস্ট্রেশন প্রিভিলেজ নেই সেই ক্ষেত্রে sudo দিয়ে আবার কমান্ডটি লিখুন। যেমন নিচের কমান্ডটি লিখুন

apt-get update

দেখবেন টার্মিনাল একটা ম্যাসেজ দিবে যাতে লেখা আছে যে রুট হিসেবে আপনাকে এই কমান্ডটা চালাতে হবে। অর্থাৎ এক্ষেত্রে আপনাকে sudo ব্যবহার করতে হবে। এবার কমান্ডিকে নিচের মত লিখুন

sudo apt-get update

দেখবেন যে এইবার আপনার পাসওয়ার্ড চাইবে, এবং পাসওয়ার্ড দিয়ে দিলে কমান্ডটি তার কাজ শুরু করবে।

  • নাড়ানাড়ি চাড়াচাড়িঃ

এতক্ষণে নিশ্চয়ই টার্মিনালের মজা পেয়ে গিয়েছেন? পাবারই কথা। তাহলে চলুন আরেকটু নাড়াচাড়া করি। আপনি যদি আপনার কম্পিউটারের TCP/IP’র (নেটওয়ার্কিং সম্পর্কীয়) সব তথ্য জানতে চান তবে নীচের কমান্ডটি লিখুন

ifconfig

দেখবেন আপনার বিভিন্ন পোর্ট থেকে শুরু করে ম্যাক এড্রেস ট্যাড্রেস সব দেখিয়ে দেবে। নেট থেকে যদি কোন ফাইল ডাউনলোড করতে চান, ধরুন আমার সাইটের লোগোটাকেই ডাউনলোড করতে চাচ্ছেন, লোগোটার ডাউনলোড এ্যাড্রেস হল http://ovroniil.files.wordpress.com/2010/03/logo.png; তাহলে নিচের কমান্ডটি লিখুন

wget http://ovroniil.files.wordpress.com/2010/03/logo.png

এখানে wget পর যা ডাউনলোড করতে চান তার এড্রেস দিলেই সেটা ডাউনলোড হয়ে যাবে। আর ডাউনলোড হবে আপনি যে ডিরেক্টরি থেকে এই কমান্ডটি চালাবেন সে ডিরেক্টরিতে। আপনি যদি গুগুলকে পিং করতে চান তাহলে লিখুন

ping www.google.com

গুগলের বদলে যেকোন সাইটের এ্যাড্রেস লিখে তাকে পিং করতে পারবেন। পিং থামাতে হলে Ctrl+z চাপুন। যদি গুগলের ডোমেইন নিয়ে বিভিন্ন ইনফরমেশন জানতে চান তাহলে টার্মিনালে লিখুন

whois www.google.com

আগেরবারেরটার মতই গুগলের পরিবর্তে অন্য যেকোন সাইটের ডোমেইন ইনফরমেশন এভাবে জানা যাবে। এবার চলুন কমান্ড দিয়ে কম্পিউটার বন্ধ করব। এর জন্য লিখুন

sudo halt

আর রিবুট করতে চাইলে লিখুন

sudo reboot
  • এবং ট্যাব (Tab) বাটনঃ

টার্মিনালের সবচেয়ে শক্তিশালী বাটন মনে হয় ট্যাব। ছোটখাট একটা উদাহরণ দেই। ধরুন আপনি লিখতে চাচ্ছেন

sudo reboot

এখন sudo reb – এতটুকু লিখে ট্যাব বাটনটি চাপুন, কি দেখলেন? পুরো কমান্ডটি সম্পূর্ণ হয়ে গেল অর্থাৎ sudo reb থেকে sudo reboot হয়ে গেল, তাইনা! এভাবে ট্যাব বাটন দারুণ দারুণ সব কাজ করে। ট্যাব বাটন দিয়ে আর কি কি করানো যায় সেটা না হয় আপনার জন্য হোমওয়ার্ক হিসেবেই থাকলো।

  • শেষমেষঃ

এইবার আশা করি এতগুলো কমান্ড নিজের হাতে টার্মিনালে চালানোর পর টার্মিনাল নিয়ে মনের মধ্যে যে ভয়টুকু ছিল সেটা এখন নেই। নির্ভয়ে তাহলে টার্মিনাল নিয়ে টানাটানি করুন। উপভোগ করুন টার্মিনালের শক্তিমত্তা। আর এখনো যদি টার্মিনাল ধরতে ভয় পান তাহলে কিন্তু আপনার খবর আছে!

 
পূর্বে (আংশিকভাবে) প্রকাশিতঃ

পরবর্তীতে প্রকাশিতঃ

 

20 thoughts on “টার্মিনাল নিয়ে টানাটানি”

  1. command ar kichui na, kiche program jegulo character interface e chole. shutorang shob theke bhalo upai holo shei command er manual ta pore newa, othoba internet e kichu basic dekhe newa. Prothome oshubidha holeo, pore jekono command khub taratari shikhe newa jai. Shob option oneke mukhostho korte cheshta koren, jetar kono mane hoi na. Jegulo babohar hoi shei gulo apna thekei mone theke jabe, baki gulor jonyo to manual ache.

    “পিং থামাতে হল Ctrl+z চাপুন” eta ashole ping (ba jekono running command) bondho kore na, eta running command ta ke suspend kore dei, tarpor sheta background e suspended obosthai boshe thake. Shetake abar shamne ante gele fg command ta type korun, tahole ota abar shamne chole ashbe. bg marle ota back ground e cholte thakbe, ar terminal e apni onyo kichu korte paren. program terminate korte gele Ctrl + c tipun. terminal e ekadhik process ekshathe kikore run kora jai tar jonyo jobs, fg, bg ei command gulo proyojonio.

  2. এই পোস্টটা তো আগে দেখা হয় নাই। অনেক কাজের পোস্ট। ধন্যবাদ অভ্রনীল ভাই।

  3. ওরে বাপরে ! ডস মুডের কথা শুনলে যে আমার জ্বর এসে যায় ! টার্মিনাল তো তা-ই দেখছি !

    1. টার্মিনালে একটা লাইন না লিখেও উবুন্টু-মিন্ট ব্যবহার করা যায়, কোনো সমস্যা হয়না! আমার এক প্রতিবেশী বছরখানেক হল উবুন্টু চালায়, (উনি পেশায় ইন্টেরিয়র ডিজাইনার, সে তার সব কাজকর্ম উবুন্টুতেই সারে) এই লোক এখনো জানেনা যে উবুন্টুতে টার্মিনাল বলে কিছু আছে। সব কাজ সে মাউস টিপে টিপে করে… 😀

    2. ডস মোড আর লিনাক্স টার্মিনাল এ কিন্তু আকাশ পাতাল তফাত। প্রথমত ডস মোডে কাজ করা খুবই কষ্টকর। লিনাক্স টার্মিনালে কাজ করা অনেক অনেক সোজা। আর তা ছাড়া দুটো আলাদা shell, যেখানে ডস মোডের ফিচারের চে লিনাক্স এর টার্মিনাল ১০০০ গুন উন্নত । আমি জদিও কিছু কাজ টার্মিনাল খুলে করতে ভালোবাসি, কারন সেই কাজ গুল GUI এর থেকে টার্মিনাল এ অনেক সহজে ও তারাতারি হয়। কিন্তু, সমস্ত কাজ ই লিনাক্সে টার্মিনাল না খুলে করা জায়, কোন অশুবিধা হয় না। শুতরাং "ওরে বাপরে ! ডস মুডের কথা শুনলে যে আমার জ্বর এসে যায় ! টার্মিনাল তো তা-ই দেখছি !" এইটা কনো দিক দিয়েই ঠিক ধারনা নয়।

  4. জটিল হয়েছে নীল ভাইয়া । অ-নে-ক ধন্যবাদ । বুঝতে পারছি টারমিনাল আসলে কোন ব্যাপারই না । চালাতে চালাতে অনায়াসে শিখা যাবে । যাক অন্তত ভয়টা দূর হলো । সত্যিই bossic একটা পোষ্ট দিয়েছেন । আর বেশিদিন নাই যেদিন আমি বন্টু হবো ইনশাল্লাহ ।

  5. …আমাকে উবুন্টু ব্যাবহারে সাহস যোগাচ্ছে….

  6. আপনাকে অনেক ধন্যবাদ, আপনার লেখাটা আমার খবই উপকারে আসবে। আমি কয়েকদিন হলো উবুন্টু ব্যবহার করছি।

  7. শর্ত মেনে লেখাটা আমার ব্লগে প্রকাশ করতে চাই….
    অনুমতির অপেক্ষায় থাকলাম….

  8. কিছু স্টার্ট করলে সেটা কিভাবে বন্ধ করব তাও জানা জরুরী।
    লিনাক্সের যে কোন টার্মিনাল থেকে বের হওয়া বা লগআউট করতে চাইলে Ctrl+D চাপতে হয়। ক্রস বাটন থাকুক বা না থকুক। এটা কাজ করবেই।

  9. Ami kisu na jenei ubuntu use kora suru korsi, r ekhane ja lekha ache, ta already jene gesi, tobe subidha holo, eta banglai, tai friend der dite parbo, page ta save kore rakhlam. Dhonnobad.

Leave a Reply