টার্মিনাল, ফোল্ডার আর প্রথম প্রজেক্ট
টার্মিনাল থেকে ফোল্ডারে ঘোরাফেরা করুন, প্রজেক্ট ফোল্ডার বানান, ফাইল চালান, এবং পাইথনের ইন্টারঅ্যাক্টিভ শেল কখন কাজে লাগে তা বুঝুন।
কীভাবে শিখতে চান?
যে সমস্যাটা আমরা সমাধান করছি
আগের অধ্যায়ে আপনি পাইথন ইনস্টল করেছেন আর একটা ফাইল চালিয়েছেন। কিন্তু সেখানে একটা জিনিস চুপচাপ ঘটেছিল — ফাইলটা চালানোর সময় টার্মিনাল ঠিক ওই ফোল্ডারেই খোলা ছিল। VS Code সেটা আপনার হয়ে করে দিয়েছিল।
সব সময় এমন হবে না। টার্মিনাল অন্য ফোল্ডারে থাকলে আপনাকে নিজেই ফাইলের ফোল্ডারে যেতে হবে। এই "যাওয়া" জিনিসটাই নতুনদের সবচেয়ে বেশি আটকে দেয়। কোড ঠিক, পাইথন ঠিক, কিন্তু টার্মিনাল অন্য ফোল্ডারে বসে আছে — আর পাইথন বলছে ফাইলটাই নেই।
চাকরিতে আপনি দিনে কয়েকশো বার এই কাজটা করবেন। তাই আজ আমরা টার্মিনালটাকে অচেনা কালো পর্দা থেকে একটা চেনা যন্ত্রে বদলে নেব।
এই অধ্যায় শেষে আপনি পারবেন
- টার্মিনাল এখন কোন ফোল্ডারে আছে তা বলতে
- এক ফোল্ডার থেকে আরেক ফোল্ডারে যেতে, আর এক ধাপ পিছিয়ে আসতে
- একটা প্রজেক্ট ফোল্ডার তৈরি করে তার ভেতরে ফাইল চালাতে
- পাইথনের ইন্টারঅ্যাক্টিভ শেল (REPL) খুলতে ও বন্ধ করতে
- REPL আর
.pyফাইলের পার্থক্য বুঝতে — এই একটা ভুল বোঝাবুঝি অনেক সময় নষ্ট করে
আগে যা জানা লাগবে: পাইথন ইনস্টল করা ও প্রথম প্রোগ্রাম চালানো।
টার্মিনাল আসলে কী
টার্মিনাল একটা জায়গা যেখানে আপনি মাউসে ক্লিক করার বদলে লিখে কম্পিউটারকে কমান্ড দেন। আর প্রতিটা টার্মিনাল উইন্ডো সব সময় কোনো একটা ফোল্ডারের ভেতরে "দাঁড়িয়ে" থাকে। ওটাকে বলে কারেন্ট ডিরেক্টরি — বর্তমান ফোল্ডার।
এটাই মূল ধারণা। আপনি যখন লিখছেন python hello.py, তখন আসলে বলছেন: "এই মুহূর্তে যে ফোল্ডারে আছি, সেখানকার `hello.py` ফাইলটা চালাও।" ফাইলটা অন্য ফোল্ডারে থাকলে পাইথন সেটা খুঁজে পাবে না — কারণ সে অন্য কোথাও খোঁজেই না।
এই অধ্যায়ের কমান্ডগুলো উইন্ডোজের PowerShell, macOS-এর Terminal আর লিনাক্সের Terminal — তিন জায়গাতেই প্রায় একই। যেখানে আলাদা, সেখানে দুটোই দেখানো আছে।
উইন্ডোজে PowerShell খুললে সাধারণত দেখবেন এরকম কিছু:
PS C:\Users\Rafi>macOS-এ এরকম:
rafi@MacBook ~ %আর লিনাক্সে এরকম:
rafi@laptop:~$এই লাইনটাকে বলে প্রম্পট — টার্মিনাল আপনার কমান্ডের অপেক্ষায় আছে। উইন্ডোজে C:\Users\Rafi অংশটা বলে দিচ্ছে আপনি এখন কোথায় আছেন। macOS আর লিনাক্সে ~ চিহ্নের মানে আপনার হোম ফোল্ডার।
চারটা কমান্ড, যেগুলো দিয়ে কাজ চলে যায়
pwd — আমি কোথায়?
pwdউইন্ডোজের PowerShell-এ উত্তর আসে এভাবে:
Path
----
C:\Users\RafimacOS বা লিনাক্সে শুধু পথটা আসে:
/home/rafi(macOS-এ পথটা হয় /Users/rafi।)
ls — এখানে কী কী আছে?
lsফোল্ডার আর ফাইলের একটা লিস্ট দেখাবে। ls তিনটা সিস্টেমেই কাজ করে; উইন্ডোজে একই কাজের পুরনো কমান্ড dir-ও আছে। ফাইল চালানোর আগে ls দিয়ে দেখে নেওয়া ভালো অভ্যাস — যে ফাইলটা চালাতে চান, সেটা আসলেই লিস্টে আছে কি না।
cd — অন্য ফোল্ডারে যাও
cd python-labএক ধাপ পিছিয়ে যেতে দুটো ডট:
cd ..আর যেকোনো জায়গা থেকে সোজা হোম ফোল্ডারে ফিরতে:
cd ~এই তিনটা কমান্ড উইন্ডোজ, macOS আর লিনাক্সে একইভাবে চলে।
টাইপ করার কষ্ট কমান। ফোল্ডার বা ফাইলের নামের প্রথম দু-তিনটা অক্ষর লিখে Tab চাপুন — টার্মিনাল বাকিটা নিজেই বসিয়ে দেবে। নামে ভুল হওয়ার সবচেয়ে বড় কারণ হাতে টাইপ করা, আর Tab সেটাই বন্ধ করে দেয়।
mkdir — নতুন ফোল্ডার বানাও
mkdir lesson-02একটা প্রজেক্ট ফোল্ডার গুছিয়ে নিন
শেখার সময় সব ফাইল ডেস্কটপে ছড়িয়ে রাখলে এক সপ্তাহ পরেই আর কিছু খুঁজে পাওয়া যায় না। তাই একটাই জায়গা ঠিক করে নিন, আর প্রতিটা অধ্যায়ের জন্য আলাদা ফোল্ডার। আগের অধ্যায়ে আপনি হোম ফোল্ডারে python-lab বানিয়েছিলেন; এবার তার ভেতরে এই অধ্যায়ের ফোল্ডার বানান:
cd ~
cd python-lab
mkdir lesson-02
cd lesson-02
pwdpython-lab যদি এখনো না থাকে, cd ~-এর পরে mkdir python-lab চালিয়ে নিন। এই কমান্ডগুলো তিনটা সিস্টেমেই একই।
উইন্ডোজে শেষ কমান্ডটার উত্তর হওয়া উচিত:
Path
----
C:\Users\Rafi\python-lab\lesson-02লিনাক্সে:
/home/rafi/python-lab/lesson-02macOS-এ পথটা শুরু হবে /Users/rafi দিয়ে। Rafi বা rafi-এর জায়গায় আপনার নিজের ইউজারনেম থাকবে।
এখন এই ফোল্ডারে notes.py নামে একটা ফাইল তৈরি করুন, ভেতরে লিখুন:
print("Folder:", "lesson-02")
print("Squares:", 2 * 2, 3 * 3, 4 * 4)আর চালান — উইন্ডোজে:
python notes.pymacOS বা লিনাক্সে:
python3 notes.pyFolder: lesson-02
Squares: 4 9 16পাইথনের ইন্টারঅ্যাক্টিভ শেল
টার্মিনালে শুধু python (macOS আর লিনাক্সে python3) লিখে এন্টার চাপলে পাইথন নিজেই খুলে বসে:
python3Python 3.12.3 (main, Aug 31 2026, 10:18:26) [GCC 13.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>প্রথম লাইনটা আপনার কম্পিউটারে আলাদা হবে — সেখানে আপনার পাইথনের ভার্সন, তারিখ আর অপারেটিং সিস্টেমের নাম থাকে (উইন্ডোজে শেষে থাকে on win32, macOS-এ on darwin)। ওই >>> চিহ্নটা সবখানে একই, আর এর মানে পাইথন এখন আপনার লাইনের অপেক্ষায়। এখানে যা লিখবেন, সাথে সাথে উত্তর পাবেন:
>>> 2 + 3
5
>>> "Python"
'Python'
>>> len("terminal")
8একে বলা হয় REPL — Read, Eval, Print, Loop: পড়া, চালানো, ছাপা, আবার শুরু। ছোট কিছু যাচাই করার জন্য এটা দারুণ: একটা হিসাব ঠিক আছে কি না, বা একটা ফাংশন কী ফেরত দেয়।
বেরিয়ে আসতে:
>>> exit()যে পার্থক্যটা অনেকের সময় নষ্ট করে: REPL-এ2 + 3লিখলে সে নিজে থেকেই5দেখায়। কিন্তু একটা.pyফাইলে শুধু2 + 3লিখে চালালে কিছুই দেখা যায় না — পাইথন হিসাবটা করে, ফলাফলটা ফেলে দেয়, আর চুপ করে থাকে। ফাইলে ফলাফল দেখতে চাইলে
কিছু ভাঙা অবস্থা ও তার সমাধান
python : The term 'python' is not recognized... (উইন্ডোজ) বা command not found: python (macOS, লিনাক্স) উইন্ডোজে পাইথন PATH-এ নেই — আগের অধ্যায়ের "কিছু ভাঙা অবস্থা" অংশটা দেখুন, ইনস্টলার আবার চালিয়ে Modify থেকে ঘরটা টিক দিতে হবে। macOS আর লিনাক্সে কমান্ডটার নাম python3।
can't open file '...notes.py': [Errno 2] No such file or directory টার্মিনাল ভুল ফোল্ডারে আছে, অথবা ফাইলের নামে টাইপো। pwd দিয়ে দেখুন কোথায় আছেন, তারপর ls দিয়ে দেখুন ফাইলটা সেখানে আছে কি না।
cd : Cannot find path ... because it does not exist (উইন্ডোজ) বা cd: no such file or directory (macOS, লিনাক্স) ফোল্ডারটা এখনো বানানো হয়নি, নয়তো নামে ভুল আছে। mkdir দিয়ে বানিয়ে নিন, আর পরের বার নাম লেখার সময় Tab চাপুন।
টার্মিনাল আটকে গেছে, শুধু >>> দেখাচ্ছে আপনি REPL-এর ভেতরে আছেন, বাইরে নন। এখানে ls বা python notes.py কাজ করবে না — এগুলো টার্মিনালের কমান্ড, পাইথনের নয়। exit() লিখে বেরিয়ে আসুন।
ফোল্ডারের নামে স্পেস আছে পুরো নামটা কোটেশনের ভেতরে দিন: cd "my python lab"। এটা তিনটা সিস্টেমেই কাজ করে। স্পেস ছাড়া নাম রাখলে এই সমস্যা আর হবে না — তাই python-lab, my_notes এভাবে লেখা ভালো।
ধাপ ৪ / ৬ — অনুমান
যাচাই করুন
এই দুই লাইনের ফাইলটি python notes.py দিয়ে চালালে টার্মিনালে কী দেখা যাবে?
2 + 3
print("done")- Adone
- Bকিছুই না — ফাইলটি এরর দেবে
- C5
- D5 done
notes.py ফাইলটি আছে lesson-02 ফোল্ডারের ভেতরে, কিন্তু টার্মিনাল দাঁড়িয়ে আছে তার এক ধাপ উপরের python-lab ফোল্ডারে। এখন python notes.py চালালে কী হবে?
- Aপাইথন এরর দেবে যে ফাইলটি খোলা যাচ্ছে না — সে শুধু বর্তমান ফোল্ডারেই খোঁজে
- Bপাইথন সাব-ফোল্ডারগুলোতেও খুঁজে ফাইলটি চালিয়ে দেবে
- Cফাইলটি চলবে, কিন্তু আউটপুট দেখা যাবে না
- Dপাইথন জিজ্ঞেস করবে ফাইলটি কোথায় আছে
আপনার টার্মিনালে এখন >>> দেখাচ্ছে, আর আপনি ফোল্ডারের ফাইলগুলোর লিস্ট দেখতে চান। কী করবেন?
- A`print(ls)` লিখবেন
- Bটার্মিনাল উইন্ডো বন্ধ করে নতুন করে খুলবেন, এটাই একমাত্র উপায়
- C`exit()` লিখে REPL থেকে বেরিয়ে এসে তারপর `ls` চালাবেন
- Dসরাসরি `ls` লিখবেন — REPL-এ টার্মিনালের কমান্ড কাজ করে
উত্তর দিতে অ্যাকাউন্ট লাগবে
উত্তর মিলিয়ে দেখতে সাইন ইন করুন
প্রশ্নগুলো উপরে আছে, আর মাথায় মাথায় উত্তর ভেবে নেওয়াই আসল কাজ। সঠিক উত্তর, ব্যাখ্যা আর তিন ধাপের ইঙ্গিত দেখতে সাইন ইন করুন।
নিজে করুন
টার্মিনাল থেকে, শুধু কমান্ড দিয়ে:
python-labফোল্ডারের ভেতরেpracticeনামে একটা ফোল্ডার বানান- তার ভেতরে ঢুকুন এবং
pwdদিয়ে নিশ্চিত হোন - সেখানে
about.pyনামে একটা ফাইল বানান, যেটা আপনার নাম আর আজকের তারিখ ছাপে python about.py(macOS বা লিনাক্সেpython3 about.py) দিয়ে চালান- এবার
cd ..দিয়ে এক ধাপ পিছিয়ে এসে আবার একই কমান্ড চালান — কী হলো?
শেষ ধাপটাই আসল শিক্ষা। ভুলটা চোখে দেখা থাকলে পরে যখন সত্যিকারের কাজে এই এরর আসবে, আপনি এক সেকেন্ডেই কারণটা ধরে ফেলবেন।
এই মিশনে আরও কিছু আছে
উপরে যা পড়েছেন সেটাই সম্পূর্ণ মিশন — কিছু কেটে রাখা হয়নি। প্রো এর সাথে যোগ করে:
- ভেতরে আসলে কী ঘটে — পাইথন কীভাবে এটা চালায়
- অনুশীলনীর সম্পূর্ণ সমাধান, ধাপে ধাপে ব্যাখ্যাসহ
- কঠিন অতিরিক্ত অনুশীলনী
- এই বিষয়ে ইন্টারভিউতে যা জিজ্ঞেস করা হয়, আর তার আদর্শ উত্তর
ধাপ ৬ / ৬
কঠিন করা — অধ্যায়ের কুইজ
সহজ থেকে কঠিন — দশটি প্রশ্ন, শেষেরগুলো ইচ্ছে করেই কঠিন।
সাইন ইন করে কুইজ দিন