Saturday, August 26, 2017

কমান্ড লাইন -৬ (কমান্ড নিয়ে কাজ করা)

পর্ব: ৬

কমান্ড লাইন যারা শেখার চেষ্টা করছেন, অবশ্যই ভালো উদ্দ্যোগ, অন্তত অপ্রয়োজনীয় নয়। আর যারা শিখছেন না, তাদেরও সমস্যা নেই! মনের সুখে গ্রাফিক্যালি চালাবেন।
গতদিন যে তুরুপের তাস(Wildcard) নিয়ে আলোচনা করেছিলাম তার সব কাজ ফাইল ম্যানেজারেও করা যায়।
Nautilus, Nemo, Caja, Dolphin ইত্যাদি গনুলিনাক্সের ডিফল্ট ফাইল ম্যানেজার।

কমান্ড (Command) আসলে কি? আগে এটা জেনে নেওয়া প্রয়োজন। বুঝতেই পারছেন, ধীরে ধীরে আমরা লিনাক্সের গভীরে যাওয়ার চেষ্টা করছি, গুরুত্বপূর্ণ  বিষয় মোটেই এড়িয়ে যাওয়া যাবে না।
কমান্ড (command) ইংরেজি শব্দ, বাংলা অর্থ হল "নির্দেশ দেওয়া", এটা সবারই জানা । কমান্ড লাইনে বা টার্মিনালে আমরা যা লিখি তার অর্থও সামঞ্জস্যপূর্ণ অর্থাৎ আমরা সেখানে নির্দেশ ই দেই।
লিনাক্সে কমান্ড চার রকমের হতে পারে।

১। এক্সিবিউটেবল প্রোগ্রাম (executable program)। (/usr/bin এ আমরা যা দেখি তার সবই আসলে এক্সিকিউটেবল প্রোগ্রাম)
২। সেলের নিজস্ব প্রোগ্রাম (command built into the shell itself) [(bash= GNU Bourne-Again SHell) BASH এর নিজস্ব  কিছু প্রোগ্রাম  রয়েছে, cd কমান্ড এই ধরণের প্রোগ্রাম]
৩। সেলের ফাংশন (shell function)
৪। এলিয়াস (alias) দিয়ে আমরা নিজেদের মত কমান্ড তৈরি করতে পারি।

আপাতত এতটুক জানা থাকলেই হবে। পরে আস্তে আস্তে আমরা আরো বিশদ জানবো।

আজ আমরা কমান্ড নিয়ে কাজ করবো, লিনাক্সের রহস্যময় কমান্ড! আগে অর্থগুলি যে জেনে নেওয়া যাক,

@ type = কমান্ডের টাইপ দেখায়। সেলের নিজস্ব কমান্ড এটা, কোথা থেকে কমান্ডটি এক্সিকিউট হয় তা দেখায়।
@ which = প্রোগ্রাম যেখান থেকে চালু হয় তার পথটি (Location) দেখায়।
@ --help = সেল(Shell) থেকে তথ্য দিয়ে সাহায্য করে।
@ man = প্রোগ্রামের ম্যানুয়াল পেজ দেখায়।(এখান থেকে প্রোগ্রাম সম্পর্কিত তথ্য পাওয়া যায়)।
@ apropos = সঠিক কমান্ডটি দেখাবে। (যে প্রোগ্রাম সম্পর্কে জানতে চান)
@ whatis = কমান্ডেের সম্পর্কে সংক্ষিপ্ত বর্ণনা দেবে।
@ alias = এটা দিয়ে নিজেই কমান্ড তৈরি করতে পারবেন।

এখন আপনার bash এ  নিচের কমান্ডগুলি লিখুন আর কাজগুলি বোঝার চেষ্টা করুন।
type ls
which ls
ls --help
man ls
apropos floppy
whatis ls
আশাকরি আপনার ধারণা পরিষ্কার হয়েছে।

এখন আসুন alias টা বোঝার চেষ্টা করি।
type ls
লেখা উঠল, ls is aliased to `ls --color=auto'
আচ্ছা, এখন আমি লিখছি, type sam
আউটপুট পেলাম: bash: type: sam: not found
মেনে নিলাম, দেখা যাক এটাকে কিভাবে একটি কমান্ড বানানো যায়!
লিখুন, alias sam='ls'
কাজ শেষ!
এখন, type sam
কি পেলেন?
কমান্ড লাইনে এবার sam লিখে এন্টার চাপুন, বুঝতে পেরেছেন?


unalias sam লিখে sam কে কমান্ড থেকে বাদ দিতে পারবেন। অথবা কমান্ডলাইন বন্ধ করলেও এটা আবার আগের মত হয়ে যাবে।

Tuesday, August 1, 2017

কমান্ডলাইনে সি এবং সি++ কম্পাইল এবং রান করা (Compile & Run C/C++ in Comand Line)





আজ কমান্ড লাইনে সি/সি++ কম্পাইল ও রান করা শিখবো। যথেষ্ট সহজ।

কোডব্লকস্ (CodeBlocks), জিনি (Geany), এসব কম্পাইলার দিয়ে গ্রাফিক্যালি কাজ করতে পারবেন।

প্রথমে যে কোন টেক্সট এডিটর দিয়ে একটি সি কোড লিখছি,
------------------------------------------------------------------
#include<stdio.h>
int main(void)
{
printf("Hello friends, I'm Using GNU+Linux!\n");
return 0;
}
------------------------------------------------------------------
আর এই প্রোগ্রামটির নাম দেওয়া হল hello_friends.c
আর ধরে নিচ্ছি প্রোগ্রামটি রাখা হয়েছে ডেক্সটপ (Desktop) ডাইরেক্টরিতে
------------------------------------------------------------------
কম্পাইল পদ্ধতি:
আপনার ডিস্ট্রো লিনাক্স মিন্ট হলে,
sudo apt-get install g++ অথবা সফ্টয়্যার ম্যানেজার থেকে g++ ইন্সটল করে নেবেন।

------------------------------------------------------------------
Ctrl+Alt+T (টার্মিনাল চালু হবে)
সেখানে লিখুন,
cd Desktop (যেহেতু আমাদের সোর্সকোড (hello_friends.c) ডেক্সটপে রাখা হয়েছে, তাই সেই ডাইরেক্টরিতে আসা হল। অন্য কোন ডাইরেক্টরিতে রাখলে সেই ডাইরেক্টরি সিলেক্ট করতে হত।)

gcc hello_friends.c -o hello_friends

এখানে, gcc = গনু(GNU) সি কম্পাইলার।
hello_friends.c = সোর্সকোড
-o = হাইফেন "-" "o" ; এটা সোর্সকোড কে অবজেক্ট কোড (Object Code) এ রূপান্তরিত করে অথবা বলা যেতে পারে কম্পাইল করে।
শেষের অংশ, hello_friend হচ্ছে যে নাম এ অবজেক্ট কোড সংরক্ষিত(save) হবে । এখানে যেকোন নাম দেওয়া যাবে।
------------------------------------------------------------------
এখন ডেক্সটপে hello_friends.c এবং hello_friends নামের দুইটি ফাইল দেখতে পাবেন। এর অর্থ হচ্ছে আপনার প্রোগ্রামটি সঠিক ভাবে কম্পাইল হয়েছে।
------------------------------------------------------------------
প্রোগ্রাম রান করা:
------------------------------------------------------------------
টার্মিনালে লিখুন,
./hello_friends আর এন্টার(Enter) চাপুন।
ডট, স্ল্যাশ , অবজেক্ট_কোডের_নাম।
------------------------------------------------------------------
সি প্লাস প্লাস (C++) এর ক্ষেত্রে একই নিয়ম।
শুধু g++ ইন্সটল করে নিতে হবে।(অন্য ডিস্ট্রোগুলির জন্য)
------------------------------------------------------------------

অথবা, (এটা আরো সহজ উপায়)

(১) sudo apt-get install build-essential
(২) make hello_friends
(৩) ./hello_friends

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



গনু/লিনাক্সের প্রয়োজনে আমার লেখাগুলি কপি/পেস্ট করতে পারেন।
 

Simple Screen Recorder এবং ফেসবুকে স্ক্রিন শেয়ারিং এর Black Screen সমস্যার সমাধান

 লিনাক্স নির্ভর অপারেটিং সিস্টেমে GNOME Interface ব্যবহারকারীদের কেউ কেউ ফেসবুকের ভিডিও কলে স্ক্রিন শেয়ারিং অপশনে কিংবা সিম্পল স্ক্রিন রেকর্...