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

শেল কমান্ড এবং স্ক্রিপ্টিং নিয়ে সব ধরনের জিজ্ঞাসা-সমস্যা-সমাধান এখানে আলোচনা করুন।

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

পোস্টলিখেছেন অভ্রনীল » 16 আগস্ট 2010, 17:30

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

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

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

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

উবুন্টুতে টার্মিনাল খুলতে হলে 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 হয়ে গেল, তাইনা! এভাবে ট্যাব বাটন দারুণ দারুণ সব কাজ করে। ট্যাব বাটন দিয়ে আর কি কি করানো যায় সেটা না হয় আপনার জন্য হোমওয়ার্ক হিসেবেই থাকলো।

▣ শেষমেষঃ

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



=============
পূর্বে আমার ব্যক্তিগত ব্লগে প্রকাশিত
সদস্যের ছবি
অভ্রনীল
রুট পেঙ্গুইন
রুট পেঙ্গুইন
 
পোস্ট: 1652
নিবন্ধিত হয়েছেন: 30 জুলাই 2010, 00:43
অবস্থান: নেদারল্যান্ডস
ডিস্ট্রো: উবুন্টু

জবাবঃ টার্মিনাল নিয়ে টানাটানি

পোস্টলিখেছেন তারেক » 16 আগস্ট 2010, 18:02

লিনাক্স বড় কঠিন, টার্মিনাল আরো কঠিন। যত যা কিছু দেখাইলেন, আমি ভয় পাইছি। আজকেই উবুন্টু আনইন্সটল করে দিবো :P
ছবিছবিছবি
সদস্যের ছবি
তারেক
ঝানু পেঙ্গুইন
ঝানু পেঙ্গুইন
 
পোস্ট: 260
নিবন্ধিত হয়েছেন: 21 এপ্রিল 2009, 14:22
অবস্থান: Chamber of Secret
ডিস্ট্রো: উবুন্টু

জবাবঃ টার্মিনাল নিয়ে টানাটানি

পোস্টলিখেছেন ক্যাঃ ইনসেনো » 16 আগস্ট 2010, 18:03

খাইসে আমারে, বিরাট পুস্ট। বুকমার্কে রাখলাম।
বুঝেছি বুঝেছি সখা, ভেঙেছে প্রণয়
ও মিছে আদর তবে না করিলে নয়?
সদস্যের ছবি
ক্যাঃ ইনসেনো
ঝানু পেঙ্গুইন
ঝানু পেঙ্গুইন
 
পোস্ট: 247
নিবন্ধিত হয়েছেন: 14 নভেম্বর 2005, 09:52
অবস্থান: মনিটরের সামনে
ডিস্ট্রো: কুবুন্টু

জবাবঃ টার্মিনাল নিয়ে টানাটানি

পোস্টলিখেছেন অরণ্যচারী » 16 আগস্ট 2010, 20:50

টার্মিনাল নিয়ে চমৎকার একটি পোস্ট :-bd
আমার যদি ভুল না হয় তাহলে আপনার এই লেখাটি আগেও কোথায় যেন পড়েছি, আপ্র ফোরামে মনে হয়, এখানেও শেয়ার করায় ধন্যবাদ.
সদস্যের ছবি
অরণ্যচারী
রুট পেঙ্গুইন
রুট পেঙ্গুইন
 
পোস্ট: 2595
নিবন্ধিত হয়েছেন: 09 আগস্ট 2010, 11:34
ডিস্ট্রো: উবুন্টু

জবাবঃ টার্মিনাল নিয়ে টানাটানি

পোস্টলিখেছেন অনুপ » 16 আগস্ট 2010, 22:06

সময় থাকতে এই পোস্টা ৫-৬ পর্বে প্রকাশ করুন, এটা নিয়ে এত বড় পোস্ট দেখে কেউ ভয় পেলে আমি দায়ী নহে

আমি নিজেও ভয় পেয়েছি, বুকমার্ক করে রাখলাম,
পরে পড়ব
সদস্যের ছবি
অনুপ
নিষিদ্ধ সদস্য
 
পোস্ট: 585
নিবন্ধিত হয়েছেন: 21 মার্চ 2009, 23:06
অবস্থান: প্রস্থান [ অনুপ ]

জবাবঃ টার্মিনাল নিয়ে টানাটানি

পোস্টলিখেছেন সৌগত » 16 আগস্ট 2010, 22:40

অনীভাই, এই পোষ্টটার জন্য কোন ধন্যবাদ নয়, কেবল কৃতজ্ঞতা। একেবার হৃদয়ের গভীর থেকে।
ছবি
ছবি
সদস্যের ছবি
সৌগত
পাঁড় পেঙ্গুইন
পাঁড় পেঙ্গুইন
 
পোস্ট: 840
নিবন্ধিত হয়েছেন: 06 আগস্ট 2010, 19:15
অবস্থান: খড়গপুর, পঃবঃ
ডিস্ট্রো: উবুন্টু

জবাবঃ টার্মিনাল নিয়ে টানাটানি

পোস্টলিখেছেন রনি » 17 আগস্ট 2010, 02:37

অনেক ধন্যবাদ। অনেক কিছু পরিস্কার হলো এখন...:)
ঊবুন্টু ১০.১০ :)
আমার আছে ড্রপবক্স, আপনার?
সদস্যের ছবি
রনি
ঝানু পেঙ্গুইন
ঝানু পেঙ্গুইন
 
পোস্ট: 272
নিবন্ধিত হয়েছেন: 06 আগস্ট 2010, 02:42
অবস্থান: জার্মানি
ডিস্ট্রো: উবুন্টু

জবাবঃ টার্মিনাল নিয়ে টানাটানি

পোস্টলিখেছেন My Name is Khan » 17 আগস্ট 2010, 14:22

লিনাক্সের (মিন্ট) এর সমস্ত কমান্ড তালিকা এবং কমান্ডের কাজ কোথায় পাওয়া যাবে?
My Name is Khan
পেঙ্গুইন ছানা
পেঙ্গুইন ছানা
 
পোস্ট: 16
নিবন্ধিত হয়েছেন: 16 আগস্ট 2010, 19:53
অবস্থান: কোলকাতা
ডিস্ট্রো: লিনাক্স মিন্ট

জবাবঃ টার্মিনাল নিয়ে টানাটানি

পোস্টলিখেছেন অভ্রনীল » 17 আগস্ট 2010, 14:59

My Name is Khan লিখেছেন:লিনাক্সের (মিন্ট) এর সমস্ত কমান্ড তালিকা এবং কমান্ডের কাজ কোথায় পাওয়া যাবে?

হাতেগোনা কয়েকটা কমান্ড ছাড়া লিনাক্সের সবগুলো ডিস্ট্রোর কমান্ড একই। তাই এই পোস্টের কমান্ডগুলোর সবই মিন্টে কাজ করবে (তাছাড়া যেহেতু মিন্টের সৃষ্টি উবুন্টু থেকে, তাই উবুন্টুর সব কমান্ডই মিন্টে কাজ করবে)। আর "সমস্ত" কমান্ড কিন্তু অনেক বড় লিস্ট। ;) লিনাক্সের কমান্ডের জন্য এই লিংকটি দেখতে পারেন।
সদস্যের ছবি
অভ্রনীল
রুট পেঙ্গুইন
রুট পেঙ্গুইন
 
পোস্ট: 1652
নিবন্ধিত হয়েছেন: 30 জুলাই 2010, 00:43
অবস্থান: নেদারল্যান্ডস
ডিস্ট্রো: উবুন্টু

জবাবঃ টার্মিনাল নিয়ে টানাটানি

পোস্টলিখেছেন পলাশ মাহমুদ » 17 আগস্ট 2010, 15:07

অনেক কিছু শিখলাম। অনেক ধন্যবাদ নীলুদা। খুবই সহজ সরলভাবে তুলে ধরবার জন্য আবারো ধন্যবাদ।
পলাশ মাহমুদ
ঝানু পেঙ্গুইন
ঝানু পেঙ্গুইন
 
পোস্ট: 269
নিবন্ধিত হয়েছেন: 15 আগস্ট 2010, 17:36
ডিস্ট্রো: লিনাক্স মিন্ট

জবাবঃ টার্মিনাল নিয়ে টানাটানি

পোস্টলিখেছেন রণদীপম বসু » 19 আগস্ট 2010, 00:22

আপনার আবাসে একবার পড়েছিলাম। তখন সত্যি সত্যি ভয় পেয়েছিলাম। এখন আরেকটু কাটলো। পুরোপুরি কাটে নাই কিন্তু !
সদস্যের ছবি
রণদীপম বসু
ঝানু পেঙ্গুইন
ঝানু পেঙ্গুইন
 
পোস্ট: 360
নিবন্ধিত হয়েছেন: 06 আগস্ট 2010, 16:06
অবস্থান: ঢাকা, বাংলাদেশ
ডিস্ট্রো: লিনাক্স মিন্ট

জবাবঃ টার্মিনাল নিয়ে টানাটানি

পোস্টলিখেছেন অভ্রনীল » 19 আগস্ট 2010, 00:28

রণদা, পড়ার সময় টার্মিনাল খুলে ছোটখাট কমান্ড গুলো দিতে থাকেন। তারপর যখন দেখবেন যে এগুলো কাজ করে তখন ভয় একদম হাওয়া হয়ে যাবে! :)
সদস্যের ছবি
অভ্রনীল
রুট পেঙ্গুইন
রুট পেঙ্গুইন
 
পোস্ট: 1652
নিবন্ধিত হয়েছেন: 30 জুলাই 2010, 00:43
অবস্থান: নেদারল্যান্ডস
ডিস্ট্রো: উবুন্টু

জবাবঃ টার্মিনাল নিয়ে টানাটানি

পোস্টলিখেছেন অরণ্যচারী » 19 আগস্ট 2010, 00:36

রণদীপম বসু লিখেছেন:আপনার আবাসে একবার পড়েছিলাম। তখন সত্যি সত্যি ভয় পেয়েছিলাম। এখন আরেকটু কাটলো। পুরোপুরি কাটে নাই কিন্তু !

নীলুদার কথাটা ফলো করতে পারেন, ছোটখাট কমান্ডগুলো দিন আর ভয়কে জয় করুন নিমিষেই :ympeace:
সদস্যের ছবি
অরণ্যচারী
রুট পেঙ্গুইন
রুট পেঙ্গুইন
 
পোস্ট: 2595
নিবন্ধিত হয়েছেন: 09 আগস্ট 2010, 11:34
ডিস্ট্রো: উবুন্টু

জবাবঃ টার্মিনাল নিয়ে টানাটানি

পোস্টলিখেছেন সাইফ » 20 আগস্ট 2010, 02:32

চমৎকার একটা পোস্টের জন্য অভ্রনীল ভাইকে ধন্যবাদ। আপনার দেখা কমান্ডের লিংকের সব গুলাই কি উবুন্টুতে কাজ করবে?
এসো ভাইরাস কে পরাজিত করি... পাইরেসীকে না বলি... এসো মুক্ত সফটওয়্যার ব্যবহার করি...ছবি
সদস্যের ছবি
সাইফ
পাঁড় পেঙ্গুইন
পাঁড় পেঙ্গুইন
 
পোস্ট: 664
নিবন্ধিত হয়েছেন: 07 ডিসেম্বর 2009, 23:30
অবস্থান: ধানমন্ডি, ঢাকা
ডিস্ট্রো: উবুন্টু

জবাবঃ টার্মিনাল নিয়ে টানাটানি

পোস্টলিখেছেন অভ্রনীল » 20 আগস্ট 2010, 04:43

সাইফ লিখেছেন:আপনার দেখা কমান্ডের লিংকের সব গুলাই কি উবুন্টুতে কাজ করবে?

অবশ্যই উবুন্টুতে কাজ করবে :-bd... বরং উল্টোটা ঘটবে। এখানকার কিছু কমান্ড ডেবিয়ান ছাড়া অন্য ডিস্ট্রোতে কাজ করবেনা (যেমন apt-get ডেবিয়ান ছাড়া অন্যগুলোতে কাজ করবেনা)।
সদস্যের ছবি
অভ্রনীল
রুট পেঙ্গুইন
রুট পেঙ্গুইন
 
পোস্ট: 1652
নিবন্ধিত হয়েছেন: 30 জুলাই 2010, 00:43
অবস্থান: নেদারল্যান্ডস
ডিস্ট্রো: উবুন্টু

পরের পাতা

ফিরে যান-> শেল কমান্ড ও স্ক্রিপ্টিং

cron

অনুসন্ধান করুন

ফোরাম লগিন

এখন যারা অনলাইনে আছেন

সর্বমোট 2 জন ব্যবহারকারী অনলাইনে :: [ নিবন্ধিত সদস্য কেউ নেই, অতিথি 2 জন ] (গত ৫ মিনিটের পরিসংখ্যান)
সর্বোচ্চ সংখ্যক ব্যবহারকারী অনলাইনে ছিলেনঃ 94 জন, তারিখঃ 27 নভেম্বর 2010, 01:22

এখন অনলাইনে আছেনঃ নিবন্ধিত সদস্য কোন নিবন্ধিত সদস্য নেই এবং অতিথি 2 জন
কপিরাইট © বাংলাদেশ লিনাক্স ইউজার্স এলায়েন্স ২০০৫-২০১২। লিনাক্স ফোরাম চলছে পিএইচপিবিবি দ্বারা। Trance Host