Tuesday, June 28, 2016

লিনাক্সে টার্মিনাল ব্যবহার পর্ব-১

লিনাক্স অপারেটিং সিষ্টেম সম্পর্কে আমরা সবাই কমবেশি জানি। তারপরেও একটু বলি। লিনাক্স একটি ওপেন সোর্স কার্নেল যেটা একজন ফিনিশ ছাত্র লিনাস টরভাডস এর মাধ্যমে 1991 সালে সর্বপ্রথম ছোট পরিসরে ডেভেলপড হয়। এটি একটি ওপেন সোর্স প্রজেক্ট অর্থাৎ এর সোর্সকোড আল্লাহর ওয়াস্তে পাওয়া যায় এবং যে কেউ সেটাকে নিজের মত আপডেট করে নতুন ভাবে বানাতে পারে। যাই হোক আমরা লিনাক্সের কমান্ড লাইনে ফিরে যাই। যদিও লিনাক্সের সব ডিস্ট্রিবিউশনেরই খুব সুন্দর সুন্দর ইউজার ইন্টারফেস আছে তারপরও কেন যেন কমান্ডলাইনে কাজ করেই বেশী মজা পাওয়া যায়। আমার এই লেখাতে আমি আমার অপারেটিং সিস্টেম কোর্সে যেসব কমান্ড শিখেছি সেগুলো গুছিয়ে লেখার চেষ্টা করব।
প্রথমেই আসি কিভাবে কমান্ড লাইন উইন্ডো অর্থাৎ টার্মিনাল ওপেন করবো।
উবুন্টু লিনাক্সে Ctrl+T চেপে টার্মিনাল উইন্ডো ওপেন করা হয়। আর প্রায় সব ডিস্ট্রোতেই (উবুন্টু, রেড হ্যাট, কালি আমি ব্যবহার করেছি) ডেক্সটপে রাইট বাটনে ক্লিক করে একদম নিচ থেকে Open Terminal সিলেক্ট করে ওপেন করা যায়।



আমি কালি লিনাক্স ব্যাবহার করি। সেখানে সাইডবারে এরকম টার্মিনাল আইকন এ ক্লিক করেও টার্মিনাল ওপেন করা যায়।


টার্মিনালে শুরুতে আমরা কিছু ফাইল ম্যানেজমেন্ট এর কাজ করবো।
তার আগে আমরা যদি জানতে চাই আমরা কোন ইউজার একেউন্ট থেকে কাজ করছি তার জন্য আমাদের সেটা লিনাক্সকে সরাসরি ইংরেজীতে জিজ্ঞেস করলেই হবে।
whoami
এই কমান্ডটি লিখে এন্টার প্রেস করুন। লিনাক্স জানিয়ে দিবে আপনি কোন ইউজার। মজার না?

আমরা যদি জানতে চাই আমরা বর্তমানে কোন অবস্থানে আছি ডিস্কের, অর্থাৎ কোন লোকেশনে তাহলে
pwd

কমান্ডটি এক্সিকিউট (এন্টার কি প্রেস) করবো।
এই pwd এর মানে হচ্ছে print working directory. অর্থাৎ বর্তমানে কর্মরত ডিরেক্টরি। ও হ্যাঁ ফোল্ডারকে ডিরেক্টরিও বলা হয়।
দেখা যাচ্ছে আমরা বর্তমানে অপারেটিং সিস্টেমের রুট নামক ফোল্ডারে অবস্থান করছি। বাই ডিফল্ট আমাদের টার্মিনাল রুটেই অবস্থান করবে। শিকড়ের টান বলে কথা।

আচ্ছা এবার আমরা যদি চাই এই ফোল্ডারে আমরা আরেকটা ফোল্ডার ক্রিয়েট করবো, তাহলে নিচের কমান্ডটি এক্সিকিউট করবো।
mkdir Folder_Name

এখানে mkdir  মানে Make Directory. এক্ষেত্রে একটা বিষয় খেয়াল রাখতে হবে ফোল্ডারের নামের মাঝে স্পেস দিলে শুধুমাত্র প্রথম অংশটুকু নাম হিসেবে নেবে। কেন সেটা আমি জানিনা। এই কমান্ড এক্সিকিউট করার পর টার্মিনালে কোন আউটপুট আসবে না।
কিন্তু আমরা কমান্ড দিয়েই দেখতে পারি ফোল্ডার তৈরি হয়েছে কি না। তার জন্য নিচের কমান্ডটি এক্সিকিউট করবো।
ls

(এলএস) এই কমান্ডের মাধ্যমে আমরা কারেন্ট ডিরেকটরির সব ফাইল এবং ফোল্ডার লিস্ট আকারে পাবো। এখানে আমরা দেখতে পাচ্ছি একটা লিস্ট। এখানে নীল রঙের নামগুলো ইন্ডিকেট করছে এগুলো ননএক্সিকিউটেবল ফোল্ডার, এবং সবুজ রঙ বলছে এগুলো এক্সিকিউটেবল ফাইল। ডট(.) কিছু একটা থাকা মানে সেটা ফাইল। আর বিভিন্ন ডিস্ট্রোতে রঙ্গের বিভিন্নতা থাকতে পারে।

ওকে, এবার আমরা যদি চাই যে আমরা আমাদের নতুন তৈরি করা ফোল্ডারটিকে এন্ট্রি মারবো, তাহলে ঝটপট নিচের কমান্ডটি এক্সিকিউট করে ফেলি।
cd Folder_name


এখানে cd মানে হলো change directoryআমরা দেখতে পাচ্ছি আমাদের কমান্ড স্ট্রিং পরিবর্তিত হয়েছে। এখন আমরা যদি পূব ব্যাবহৃত pwd কমান্ডটি আবার এক্সিকিউট করি তাহলে আমরা দেখব যে আমার কারেন্ট ওয়ার্কিং ডিরেক্টরি পরিবর্তিত হয়েছে।

এবার আমরা দেখি আমাদের এই নতুন তৈরি ফোল্ডারে কি কি আছে।

যেহেতু এটা একদম ব্রান্ড নিউ ডিরেক্টরি সুতরাং এটাতে কিছু থাকবেনা এটাই স্বাভাবিক।

এবার আমাদের যদি মনে হয় আমরা আবার শিকড়ের টানে রুট এ ফিরে যাবো তাহলে নিচের কমান্ডটি এক্সিকিউট করে ফেলি।
cd ..

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

আচ্ছা এখন আমাদের যদি ফোল্ডারের নামটা পছন্দ না হয় তাহলে আমরা সেটাকে রিনেমও করতে পারি কমান্ড দিয়ে।
mv Folder_name New_folder

দেখা যাচ্ছে আমরা আমাদের ফোল্ডারের নাম পরিবর্তন করে Folder_name থেকে New_folder এ রিনেম করে ফেলেছি। দ্যাটস ওসাম।

এখন যদি আমরা চাই আমরা আমাদের এই New_folder  টাকে রুট থেকে Documents ফোল্ডারে মুভ করবো তাহলে
mv New_folder Documents


প্রশ্ন আসতে পারে রিনেম এবং মুভ এর কমান্ড সেম কেন। উত্তর আমি জানিনা অন্তত এখন পর্যন্ত।

সমস্যা হলো এখন ডকুমেন্টস ফোল্ডারে আমাদের New_folder ফরএভার এলোন থাকতে চাচ্ছেনা। সে দু:খে মরে যেতে চায়। সো আমরা তাকে ডিলেট করে দিতে পারি। আফটার অল যে চলে যেতে চায় তাকে যেতে দিতে হয়।
rmdir New_folder


এখানে rmdir মানে হলো রিমোভ ডিরেক্টরি। দেখা যাচ্ছে আমাদের ফরএভার এলোন New_folder  সাহেবের অকাল প্রয়ান ঘটেছে। তাইতো Documents ফোল্ডারটি শুন্যতায় হাহাকার করে।

এখন একটা মজার কমান্ড। আমরা চাইলে টার্মিনালে আমাদের কারেন্ট ডেইট, টাইম দেখতে পারি। শুধুমাত্র টার্মিনালকে বলতে হবে
date


একি ভাবে কারেন্ট মাসের ক্যালেন্ডারও দেখতে পারি।
cal

দেখা যাচ্ছে আমাদের টার্মিনালে অনেক হিজিবিজি হয়ে গেছে। সুতরাং আমরা টার্মিনালকে বলবো সব আবর্জনা clear করতে।

বাহ্ আমাদের টার্মিনাল পরিষ্কার হয়ে গেছে। কি সুন্দর কথা শুনে। বাসার বুয়ারাও যদি এরকম শুনতো।
ওয়েল অনেক কমান্ডিং হয়েছে। এবার আমরা একটা নির্দিষ্ট টাইমে কম্পিউটারকে শাটডাউন হওয়া অর্ডার দিয়ে ঘুমিয়ে পড়তে পারি।
shutdown 01:00


আজ এপর্যন্তই। পরবর্তি লেখায় আমি স্ক্রিপ্টিং এবং টার্মিনালে প্রোগ্রামিং এর কিছু মজার বিষয় নিয়ে হাজির হব। ততক্ষন পর্যন্ত বিদায়। যেহেতু আমি লিনাক্সে পুরোপুরি নবিশ। সুতরাং ভুল হতে পারে। ক্ষমাসুন্দর দৃষ্টিতে দেখে জানানোর অনুরোধ করছি। শুদ্ধ করে নেব। ধন্যবাদ।

Md. Rasedur Rahman Roxy
Dept. of CSE
Bangladesh University of Business & Technology