যারা এখনো টারমাক্স সম্পর্কে জানেন বা প্রশ্ন আছে টারমাক্স ইন্সটল করার পর কি করবো? তাদের জন্য পোস্ট টি।
প্রথমত, টারমাক্স ইন্সটল করেই কারো আইডি হ্যাক করা বা হ্যাকার হয়ে যাওয়ার চিন্তা বাদ দেন। আগে শেখার উপর ফোকাস করেন।
এখন আসি টারমাক্স এর ব্যাপারে, টারমাক্স সম্পর্কে জানতে হলে আপনাকে প্রথমে লিনাক্স সম্পর্কে জানতে হবে।
লিনাক্স কি?
লিনাক্স আসলে কোন অপারেটিং সিস্টেম নয়, এটি মূলত একটি কার্নেল—বলতে পারেন, যেকোনো অপারেটিং সিস্টেমের এটি হার্ট, কেনোনা কার্নেল কম্পিউটার হার্ডওয়্যার এবং সফটওয়্যারের মধ্যে সম্পর্ক স্থাপন করতে সাহায্য করে। যদি সহজ ভাষায় বলতে চেষ্টা করি, অবশ্যই লিনাক্স উইন্ডোজের মতোই একটি কমপ্লিট সিস্টেম, যেটার সাহায্যে কম্পিউটার নিয়ন্ত্রন করা সম্ভব। তবে টেকনিক্যালি এটি উইন্ডোজ থেকেও বেশি কিছু। লিনাক্সকে একটি ইঞ্জিন বলতে পারেন, যেটি আলাদা অনেক অপারেটিং সিস্টেম চালানোর জন্য পাওয়ার প্রদান করে থাকে।
লিনাক্সের উপর তৈরি অপারেটিং সিস্টেম গুলোকে ডিস্ট্রিবিউশন বা সংক্ষেপে ডিস্ট্রো বলা হয়, যেমন- উবুন্টু, লিনাক্স মিন্ট, রেড হ্যাট, ফেডোরা, ইত্যাদি।
বর্তমানে হ্যাকারদের বহুল ব্যাবহৃত Kali linux, Black arch, Patrrot এগুলোও লিনাক্স ডিস্ট্রো।
আমারা যেই এনড্রয়েড অপরেটিং সিস্টেম ব্যাবহার করছি এটার ও কার্নেল বা এই অপরেটিং সিস্টেম এর কোর ও কিন্তু লিনাক্স ই।(এন্ড্রয়েড হলো লিনাক্সের উপর রান হওয়া একটি ভার্চুয়াল মেশিন)
এবার আমাদের লিনাক্স আরো ভালো করে বোঝার জন্য বুঝতে হবে কমান্ড লাইন ইন্টারফেস(CLI) এবং গ্রাফিকাল ইউজার ইন্টারফেস(GUI) সম্পর্কে।
গ্রাফিক্যাল ইউজার ইন্টারফেস হল এমন এক ধরনের পদ্ধতি যা ইউজারকে ইলেকট্রনিক যন্ত্র বা হার্ডওয়ার ব্যবহারের সুযোগ দেয় চিত্রের মাধ্যমে, অন্যদিকে কমান্ডলাইন ইন্টারফেসে যা হয় কমান্ডের মাধ্যমে।
এটা সংজ্ঞা দিয়ে বোঝানোর চেয়ে উদাহরণ দিয়ে বোঝানোর বেশি সহজ হবে,
আমরা যখন এন্ড্রয়েডে কোন একটা অ্যাপ ওপেন করতে চাই অথবা অন্য যে কোন একটা ফোল্ডার ওপেন করতে চাই, তখন আমরা কি করি?
আমরা জাস্ট সিম্পলি অ্যাপ এর আইকন ফোল্ডারের আইকন এর উপরে ক্লিক করি,এই আইকনকেই মূলত চিত্র বলা হয়েছে।
আমরা যখন এই অ্যান্ড্রয়েডে যেকোন আইকনের উপর ক্লিক করছি,তখন কিন্তু আমাদের উইন্ডোজ ও অ্যান্ড্রয়েড অপারেটিং সিস্টেমের যে কার্নেল রয়েছে অর্থাৎ লিনাক্স কার্নেল, সেই কারণে কার্নেলে কিন্তু একটা কমান্ড রান হয় যেটা আমরা সাধারণত দেখতে পারিনা।তবে কাজটা মূলত কমান্ডের মাধ্যমেই হয়।
কিন্তু আমরা এটাকে ব্যবহার করে চিত্রের মাধ্যমে বা গ্রাফিক্যাল ইন্টারফেস(GUI) এর মাধ্যমে।
অন্যদিকে কমান্ডলাইন ইন্টারফেস(CLI) হলো এখানে সব ধরনের কাজ গ্রাফিক্যাল ইন্টারফেস এর মাধ্যমে না করে কমান্ডের মাধ্যমে করা হয়।
আমাদের ব্যবহৃত লিনাক্স ডিস্ট্রো গুলোতে আমরা CLI এবং GUI দুটই দেখতে পাই, তবে এখানে CLI এর ব্যাবহার ই বেশি।
টার্মিনাল কি?
একটি লিনাক্স ডিস্ট্রো কে অপারেট করার জন্য আমরা যেই অ্যাপ্লিকেশনে কমান্ডগুলো ইনপুট দিয়ে থাকি এবং প্রয়োগ করে থাকি সেটাকেই বলা হয় টার্মিনাল।
সোজাসুজি বলতে গেলে আমরা কমান্ডগুলো যেখানে লিখি সেটাই হচ্ছে টার্মিনাল।
এখন আসি টারমাক্স এর ব্যপ্যারে😴
এখন যদি আপনাকে জিজ্ঞেস করা হয় টারমাক্স কি?
টার্মাক্স একটি অ্যান্ড্রয়েড টার্মিনাল এমুলেটর এবং লিনাক্স এনভায়রনমেন্ট অ্যাপ্লিকেশন যা কোনও রুটিং বা সেটআপের প্রয়োজন ছাড়া সরাসরি কাজ করে।
অর্থাৎ টারমাক্স একটা টার্মিনাল যা আপনাকে লিনাক্সের কমান্ডগুলো এক্সিকিউট করার সুযোগ দিচ্ছে আপনার এন্ড্রয়েডের মাধ্যমে।
টারমাক্স আপনি কেউ ইউজ করবেন?
আপনি যদি ইথিক্যাল হ্যাকিং, পেনটেস্টিং ইত্যাদিতে আগ্রহী হয় অথবা আপনি যদি লিনাক্স ডিট্রো এর ব্যাবহার শিখতে চান তাহলেই আপনি টার্মাক্স ব্যাবহার করুন।
এতক্ষণ যা বলেছি তা থেকে হয়তো বুঝতেই পারছেন যে টারমাক্স এ সব কাজ আমাদের কমান্ড এর মাধ্যমে করতে হবে, তো এখন কমান্ড নিয়ে কিছু কথা বলি,
[আপনারা চাইলে নিচের এই অংশটি skip করতে পারেন,তবে কারো ভবিষ্যতে shell scripting শেখার ইচ্ছা থাকলে পড়তে পারেন।
$ rm -rf filename
এটা হলো কোন ফাইল রিমুভ বা ডিলিট করার কমান্ড,
আমরা সাধারণত এর সম্পূর্ণ অংশটাকেই কমান্ড বলে থাকি, কিন্তু আসলে সম্পূর্ণ অংশটাই কমান্ড নয়,
এখানে, rm হচ্ছে কমান্ড, যার দ্বারা remove বুঝায়।
এরপর -rf এটাত কমান্ড না এটাকে বলা হয়- ফ্লাগ,যা কমান্ড কে মডিফাই করে, এখানে -rf দ্বারা force remove বুঝাচ্ছে, নরমালি সব ফাইল আপনি $ rm filename এই কমান্ড দ্বারাই রিমুভ করতে পারি, কিন্তু কিছু ফাইল বা ফোল্ডার রিমুভ করতে বিভিন্ন পারমিশন এর প্রয়োজন হয়, সেইক্ষেত্রে কোন পারমিশন ছাড়া রিমুভ করতে -rf ফ্লাগ ইউজ করা হয়।
আর এরপর filename অর্থাৎ যেই ফাইল রিমুভ করবেন তার নাম লিখবেন, এটাকে বলা হয় আর্গুমেন্ট। কারণ এর মাধ্যমে আপনি মূলত নির্দিষ্ট ফাইল রিমুভ করার শর্ত দিয়ে দিচ্ছেন তাই এটাকে বলা হয় আর্গুমেন্ট।
$ rm -rf filename
rm : command
-rf : flag
filename : argument
তো আপাতত আমরা কমান্ড ফ্লাগ আর্গুমেন্ট আলাদা ভাবে ডিফাইন না করে পুরো অংশটাকেই কমান্ড বলল,পোস্ট লেখার বা আপনাদের বোঝার সুবিধার্তে।
[যারা skip করেছেন এখান থেকে পড়া শুরু করেন]
Termux ইন্সটল করার পর আমাদের প্রথমেই আমাদের কার্নেল আপডেট করে নিতে হবে নিম্নোক্ত কমান্ডগুলোর মাধ্যমে-
$ apt update -y
$ apt upgrade -y
আমাদের জানতে হবে প্যাকেজ কি?
সহয ভাষায় package হলো কোন টুলস বা সফটওয়্যার রান করার জন্য প্রয়োজনীয় ফাইল বা তথ্য ইত্যাদির সমাবেশ।
যেমন python একটি প্যাকেজ, যাতে পাইথন এর যেকোন টুলস বা সফটওয়্যার রান করার জন্য সবকিছু থাকে।
টারমাক্স এ প্যাকেজ ইনস্টলেশনঃ
Install package:
$ pkg install [package name]
Remove package:
$ pkg uninstall [package name]
List all packages:
$ pkg list-all
Upgrading packages:
$ pkg upgrade
অর্থ্যাৎ আমরা যদি python প্যাকেজ ইনস্টল করতে চাই আমাদের কমান্ড রান করতে হবে,
$ pkg install python
• আন-ইন্সটল করতে চাইলেঃ
$ pkg uninstall python
• একই কাজগুলো আমরা apt (aptitude package mannager) এর মাধ্যমেও করতে পারি।যেমন,
$ apt install python -y
$ apt uninstall python -y
একই ভাবে নিচের প্যাকেজগুলো ইন্সটল করে নিবেন,
$ pkg install git -y
$ pkg install php -y
$ pkg install curl -y
$ pkg install wget -y
$ pkg install figlet -y
$ pkg install ncurses-utils -y
আমরা টারমাক্স এ যেসব টুলস ইউজ করব তার অধিকাংশই হবে python ল্যাঙ্গুয়েজ এ! তাই এই python টুলস গুলো রান করার জন্য আমাদের আরো কিছু বিষয় জানতে হবে।
Python programming language ব্যাবহার করে যখন কোন টুলস তৈরি করা হয় তখন এতে বিভিন্ন modules import করা হয় বা ব্যাবহার করা হয়। (অধিকাংশ প্রোগ্রামিং ল্যাঙ্গুয়েজ এই modules এর ব্যাবহার রয়েছে)
Modules : কোন নির্দিষ্ট কাজ কে বাস্তবায়ন করার জন্য কোড বা ডেটা সংক্ষিপ্ত করণে modules ব্যাবহৃত হয়।
যাক modules নিয়ে পরে বিস্তারিত আলোচনা করা যাবে, আপাতত আমরা জেনে রাখি, টুলস টি তৈরি করার সময় কিছু গুরুত্বপূর্ণ modules import করা হয়ে থাকে যা আমাদের টুলস টি রান করার জন্যও প্রয়োজন হবে।
পাইথন এ বিভিন্ন modules এর সমষ্টিকেও প্যাকেজ বলা হয়ে থাকে। আর পাইথন এর প্যাকেজ ম্যানেজার হলো pip.
তাই আমাদের কে আমাদেরকে আমাদের modules গুলো ইনস্টল করতে হবে pip এর মাধ্যমে। আর তার আগে আমাদের pip আপগ্রেড করে নিতে হতে পারে।
উল্লেখ্য, pip আমাদের আলাদাভাবে ইন্সটল করতে হবে না, python প্যাকেজ ইনস্টল এর সাথে সাথে এটিও ইন্সটল হয়ে যায়।
Upgrade pip and pip2 :
pip install --upgrade pip
pip2 install --upgrade pip
• এবার আমাদের modules গুলো ইন্সটল করতে হবে,
For pip2:-
$ pip2 install mechanize
$ pip2 install requests
$ pip2 install bs4
For pip:--
$ pip install requests
$ pip install mechanize
$ pip install bs4
এখন আপনাকে টারমাক্স এ স্টোরেজ পারমিশন দিতে হবে,
$ termux-setup-storage
টারমাক্স এর বেসিক সেটআপ সম্পন্ন হলো😅
—————————————————————————
তো টারমাক্স এখন ব্যাবহার এর জন্য প্রস্তুত, এখন আমাদের জানতে হবে যে আমরা এটাকে কিভাবে ব্যাবহার করব।
লেখার ও আপনাদের বোঝার সুবিধার্তে আমি কমান্ড গুলো এভাবে লিখব।
$ command (কমান্ডের ফুলফর্ম) [ কমান্ডের কাজ ]
$ pwd (present working directory) [ আপনি বর্তমানে কোন ফোল্ডার বা ডিরেক্টরিতে এ আছেন তা দেখতে)
$ ls (list files) [ আপনি যেই ফোল্ডার লোকেশনে আছেন সেখানে কি কি ফাইল/ফোল্ডার আছে তা দেখতে বা তা লিস্টিং করতে ]
• ls
(শুধু ls কমান্ড দিলেই আপনি ফাইল সমূহের লিস্ট দেখতে পারবেন)
• ls folder name
(কোন সাব ডিরেক্টরির ফাইল দেখতে)
$ cd (change directory) [ডিরেক্ট্রি চেঞ্জ করতে]
• cd (যেকোনো ডিরেক্টরি থেকে হোম ডিরেক্টরি তে ফিরে যেতে)
• cd- (আগের ডিরেক্টরিতে ফিরে যেতে)
• cd foldername (নির্দিষ্ট ডিরেক্টরি বা লোকেশনে যেতে)
$ mkdir (make directory) [ নতুন ডিরেক্টরি বা ফোল্ডার ক্রিয়েট করতে ]
• mkdir dirname
• mkdir dir1 dir2 dir3 dir4 (একসাথে অনেকগুলো ফোল্ডার ক্রিয়েট করতে)
$ rm (remove) [ কোন কিছু রিমুভ করতে ]
• rm filename (কোন ফাইল রিমুভ করতে)
• rm -rf filename (ফোর্স রিমুভ করতে)
• rm -rf dirname (ডিরেক্টরি বা ফোল্ডারকে ফাইলসহ রিমুভ করতে)
$ touch filename.ext (কোন ফাইল ক্রিয়েট করতে touch ব্যাবহৃত হয়)
• touch test.html ( তাহলে test নামের একটি html ফাইল ক্রিয়েট হবে)
$ nano filename.ext ( কোন টেক্সট বেজড ফাইল ইডিট করতে nano editor ব্যাবহার করা হয়)
• nano test.html (তাহলে nano ইডিটর এ test.html file টি ওপেন হবে, সেখানে কোন কিছুর লেখার পর তা সেভ করতে CTRL+X চাপলে আপনি সেটা সেভ করবেন কি না তা জানতে যাবে, y প্রেস করে এন্টার এ চাপ দিন, ফাইলটি সেভ হয়ে যাবে)
আর ইডিট না করে শুধু ফাইল এর কন্টেন্টস দেখতে চাইলে,
$ nano -v filename
উল্লেখ্য টারমাক্স এ কাজ করার সময়, কোন ফাইলের extention উল্লেখ থাকলে আমাদের ও তা উল্লেখ করে দিতে হবে। যেমন টেক্সট ফাইল হলে filename.txt পিএইচপি ফাইল হলে filename.php
$ cp (copy) [কোন ফাইল/ফোল্ডার কপি করতে]
path : path হলো কোন ফাইল বা ফোল্ডার এর লোকেশন।
মনে করি আমরা এখন Test নামের ডিরেক্টরিতে আছি , এবং সেইখানে আরো একটি ডিরেক্টরি আছে storage নামে, তার ভিতর আরো একটি সাব ফোল্ডার আছে image নামের, তার ভিতর abc.jpg নেমের কোন ইমেজ আছে।
তাহলে তার path হলো : storage/image/abc.jpg
• cp [file path] [destination path]
$ cp storage/image/abc.jpg Test
আবার Test ফোল্ডারের কোন কিছু image folder এ কপি করতে চাইলে,
$ cp filename storage/image
আবার যেকোন ফাইল টারমাক্স এর হোম ফোল্ডারে কপি করতে চাইলে,
$ cp [path] $HOME
অর্থাৎ যেইখানে ফাইল টা আছে তার লোকেশন আগে, আর যেইখানে কপি করতে চান তার লোকেশন পরে, আর আপনি যেই ফোল্ডারে আছেন সেইফোল্ডারেই ফাইল থাকলে লোকেশন না শুধু ফাইলনেম হবে।
$ mv (move) [কোন ফাইল বা ফোল্ডার একস্থান থেকে অন্যস্থানে মুভ করে]
Copy ও Move করার ক্ষেত্রে সব ই সেম হবে শুধু cp এর জায়গায় mv লিখতে হবে।
বিঃদ্রঃ কোন ফাইল কপি বা মুভ করার সময় যদি permission required এমন লেখা দেখায় তাহলে cp -f / mv -f লিখে ট্রাই করবেন।
এছাড়া mv কমান্ড ইউজ করে ফাইল rename ও করতে পারবেন।
$ mv filename new_filename
ফাইল zip unzip করার জন্য,
$ pkg install zip (zip pkg টি ইন্সটল করতে হবে)
$ zip [zipname] [filename1 filename2 filename3]
মনে করি আমরা test1 test2 test3 নামে তিনটা ফাইল এর zip করতে চাই, আর zip ফাইলের নাম দিব abc,তাহলে কমান্ড হবে-
$ zip abc test1 test2 test3
আর unzip করতে চাইলে,
$ chmod +x filename.zip
$ unzip filename.zip
এইক্ষেত্রে,
$ chmod +x abc.zip
$ unzip abc.zip
কিছু কিছু ফাইলের ক্ষেত্রে আমাদের অর্থ্যাৎ ইউজার এর শুধু read only পারমিশন থাকে, তাই এই ফাইল নিয়ে কাজ করতে চাইলে আমাদের execute করার পারমিশন দিতে হয় chmod +x কমান্ড এর মাধ্যমে, কোন ফাইল এর execute করার পারমিশন থাকলে সেই ফাইলনেম টি সবুজ কালারে দেখাবে।
$ git clone (Github repository থেকে কোন কিছু ক্লোন করতে বা ডাউনলোড করাও বলতে পারেন)
• git clone [git link]
$ git clone https://github.com/example
এরজন্য অবশ্যই আপনার git pkg টি ইন্সটল থাকতে হবে।
$ wget (কোন ফাইল ডাউনলোড করতে)
• wget [download link]
টার্মাক্স এ কোন প্রসেস STOP করতে CTRL+C প্রেস করুন, ফোর্স স্টপ করতে CTRL+Z প্রেস করুন।
Session close করতে exit কমান্ড রান করুন!
কোন অনাকাঙ্ক্ষিত ভুলের জন্য আমি আন্তরিক ভাবে দুঃখিত।
ভালো লাগলে শেয়ার করতে ভুলবেন না। ধন্যবাদ সবাইকে

Comments
Post a Comment