প্রায় প্রতিটা বাস্তব developer টুল — প্যাকেজ ইনস্টল করা, একটা স্ক্রিপ্ট রান করা, Git ব্যবহার করা — আইকনে ক্লিক করে না, টাইপ করা কমান্ডের মাধ্যমে হয়। টার্মিনাল (যাকে কমান্ড লাইন বা কনসোল-ও বলা হয়) হলো যেখানে আপনি সেগুলো টাইপ করেন।
সাধারণ একটা অ্যাপ হলো GUI — Graphical User Interface — যেখানে আপনি বাটন আর আইকনে ক্লিক করেন। একটা টার্মিনাল হলো CLI — Command-Line Interface — যেখানে আপনি ঠিক কী করাতে চান তা এক লাইন টেক্সটে টাইপ করেন, আর কম্পিউটার মাঝখানে কোনো মেনু ছাড়াই সাথে সাথে সেটা করে।
Windows-এ, Start মেনুতে PowerShell বা Windows Terminal খুঁজুন। macOS-এ, Applications → Utilities থেকে Terminal অ্যাপ খুলুন। দুটোই একই ধরনের টাইপ-করা উইন্ডো দেয় — নির্দিষ্ট কমান্ডগুলো সামান্য আলাদা, যে কারণেই নিচের টেবিলে দুটোই দেখানো হয়েছে।
| কাজ | Windows (PowerShell) | macOS / Linux (bash) |
|---|---|---|
| বর্তমান folder দেখান | pwd | pwd |
| এখানকার file লিস্ট করুন | dir (বা ls) | ls |
| একটা folder-এ ঢুকুন | cd foldername | cd foldername |
| এক ধাপ উপরে যান | cd .. | cd .. |
PS C:\Users\Rahul> cd projects
PS C:\Users\Rahul\projects> dir
my-site notes.txt
PS C:\Users\Rahul\projects> cd my-site
PS C:\Users\Rahul\projects\my-site>এখনই গড়ে তোলার মতো দুটো অভ্যাস
আগের কমান্ড আবার টাইপ না করে ফিরিয়ে আনতে ↑ তীরচিহ্ন চাপুন, আর একটা file বা folder-এর নাম auto-complete করতে Tab চাপুন — দুটোই আপনি যত টার্মিনাল ব্যবহার করবেন সবগুলোতেই কাজ করে।
নেভিগেশন আপনাকে ঘুরিয়ে দেখায়; এই কমান্ডগুলো দিয়ে আপনি আসলে সেখানে কী আছে তা বদলাতে পারেন — right-click → New Folder, বা Delete-এর terminal ভার্সন।
| কাজ | Windows (PowerShell) | macOS / Linux (bash) |
|---|---|---|
| একটা folder তৈরি করুন | mkdir foldername | mkdir foldername |
| একটা খালি file তৈরি করুন | New-Item filename.txt | touch filename.txt |
| একটা file মুছে ফেলুন | del filename.txt | rm filename.txt |
| একটা খালি folder মুছে ফেলুন | rmdir foldername | rmdir foldername |
এখানে কোনো undo নেই
Terminal থেকে মোছা স্থায়ী — এরপর বাঁচানোর জন্য কোনো Recycle Bin বা Trash নেই। Enter চাপার আগে file বা folder-এর নাম দুবার চেক করুন, বিশেষত এমন কিছুর ক্ষেত্রে যা একবারে একটা পুরো folder-এর সবকিছু মুছে দেয়।
বেশিরভাগ কমান্ডই একই আকারে থাকে: নিজেই command, ঐচ্ছিক flag যা এর আচরণ বদলায় (সাধারণত - বা / দিয়ে শুরু হয়), আর একটা argument — আসলে কীসের উপর কাজ করবে।
ls -la my-site
│ │ └─ argument: কোন folder লিস্ট করতে হবে
│ └─ flag: -l (লম্বা ফরম্যাট) আর -a (hidden file গুলোও দেখাও)
└─ command: file লিস্ট করোএই আকারটা একবার বোঝা হয়ে গেলে, একটা অচেনা কমান্ড মুখস্থ করার মতো জাদুর শব্দের বদলে এমন কিছু মনে হবে যা আপনি আসলেই পড়তে পারেন — একটা command, flag দিয়ে সামঞ্জস্য করা, একটা argument-এর দিকে লক্ষ্য করা।
একটা file ডাবল-ক্লিক করার বদলে, আপনি terminal-কে সরাসরি সেটা চালাতে বলতে পারেন — যে প্রোগ্রামটা সেটা বোঝে তার নাম লিখে, তারপর file-এর নাম: python app.py একটা Python file চালায়, node app.js একটা JavaScript file চালায়। code editor পার হয়ে গেলে প্রায় প্রতিটা বাস্তব project আসলে এভাবেই শুরু হয়।
শুরুর দিকে দুটো error প্রায়ই দেখা যায়, আর দুটোর কোনোটারই মানে এই না যে কিছু ভেঙে গেছে:
| বার্তা | সাধারণত যা বোঝায় |
|---|---|
| "command not found" / "not recognized" | সেই প্রোগ্রামটা এখনও ইনস্টল হয়নি, বা terminal জানে না সেটা কোথায় খুঁজে পাবে |
| "permission denied" | বর্তমান user অ্যাকাউন্টের যা ছোঁয়ার অনুমতি নেই, আপনি এমন কিছু বদলানোর চেষ্টা করছেন |
একটা GUI শুধু সেই বাটনগুলোই দিতে পারে যা কেউ বানানোর কথা ভেবেছিল। টার্মিনাল কম্পিউটার যা করতে সক্ষম তার সবকিছুই করতে পারে, যে কারণেই Git, Python, আর Node.js-এর মতো টুল টাইপ করে ব্যবহার করা হয়, ক্লিক করে না। পরের দুটো পাঠ — Git আর GitHub — পুরোপুরি এখান থেকেই টাইপ করা হয়।