লিনাক্স 2026 সালে ডেভেলপারদের জন্য অপরিহার্য — উইন্ডোজের WSL2 থেকে macOS-এর Unix ফাউন্ডেশন থেকে Ubuntu এবং Alpine চালিত ক্লাউড সার্ভার পর্যন্ত। লিনাক্স বোঝা আপনাকে আরও ভাল বিকাশকারী করে তোলে, সার্ভার-সাইড কাজ সক্ষম করে এবং বেশিরভাগ DevOps এবং ব্যাকএন্ড ভূমিকার জন্য প্রয়োজনীয়। লিনাক্স সম্পর্কে প্রতিটি বিকাশকারীর যা জানা দরকার তা এই নির্দেশিকাটি কভার করে।
📋 Table of Contents
কেন লিনাক্স বিকাশকারীদের জন্য গুরুত্বপূর্ণ
- সার্ভারগুলি লিনাক্স চালায়: শীর্ষ 1M ওয়েব সার্ভারের 96% লিনাক্স চালায়
- ডকার পাত্রে: প্রায় সব কন্টেইনার ইমেজ লিনাক্স-ভিত্তিক
- ক্লাউড কম্পিউট: AWS EC2, GCP, Azure ডিফল্ট Linux দৃষ্টান্তে
- উন্নয়ন সরঞ্জাম: লিনাক্সে gcc, git, bash, curl সব নেটিভ
- WSL2: ডুয়াল বুটিং ছাড়াই উইন্ডোজে লিনাক্স চালান
লিনাক্স ডিস্ট্রিবিউশন গাইড
| ডিস্ট্রো | কেস ব্যবহার করুন | প্যাকেজ ম্যানেজার |
|---|---|---|
| উবুন্টু 24.04 LTS | সার্ভার, শিক্ষানবিস, WSL2 | apt |
| ডেবিয়ান | স্থিতিশীল সার্ভার, কোন frills | apt |
| আলপাইন লিনাক্স | ডকার পাত্রে (5MB!) | apk |
| আর্ক লিনাক্স | কাস্টমাইজেশন, শেখার | প্যাকম্যান |
| সেন্টোস স্ট্রিম/আরএইচইএল | এন্টারপ্রাইজ, সম্মতি | dnf/yum |
ডেভেলপারদের জন্য অপরিহার্য লিনাক্স জ্ঞান
ফাইল সিস্টেম স্ট্রাকচার
# Key directories every developer should know
/ # root
/home/user/ # user home directory (~)
/etc/ # system configuration files
/var/log/ # log files
/var/lib/ # application data (databases, docker)
/opt/ # optional/third-party software
/usr/local/ # user-installed software
/tmp/ # temporary files (cleared on reboot)
/proc/ # virtual filesystem — kernel and process info
/dev/ # device files
# Navigation
cd ~ # go home
cd - # go back to previous directory
ls -la # list all with permissions
pwd # print working directory
find . -name "*.log" # find files
locate filename # fast find (uses index)
প্রক্রিয়া ব্যবস্থাপনা
# View processes
ps aux # all processes
ps aux | grep nginx # find nginx
top # interactive, real-time
htop # better interactive
pgrep -f "python" # find by name
# Kill processes
kill 1234 # graceful (SIGTERM)
kill -9 1234 # force kill (SIGKILL)
killall nginx # kill by name
pkill -f "python app.py" # kill by pattern
# Background jobs
./long_task.sh & # run in background
nohup ./task.sh & # persist after logout
jobs # list background jobs
fg %1 # bring job 1 to foreground
bg %1 # send to background
# System resources
free -h # memory usage
df -h # disk space
du -sh * # size of items in current dir
iostat -x 1 # I/O statistics
বিকাশকারীদের জন্য নেটওয়ার্কিং
# Check connectivity
ping google.com
traceroute google.com
dig google.com # DNS lookup
nslookup google.com
# Ports and services
ss -tulnp # list open ports + process
netstat -tulnp # same (older)
lsof -i :8000 # what's using port 8000
curl -I https://example.com # HTTP headers only
# SSH
ssh user@server.com
ssh -i ~/.ssh/key.pem ubuntu@ec2-host.compute.amazonaws.com
scp file.txt user@server:/path/to/dest/
rsync -avz ./src/ user@server:/app/src/
# SSH config (~/.ssh/config)
Host myserver
HostName 203.0.113.1
User ubuntu
IdentityFile ~/.ssh/mykey.pem
# Now: ssh myserver
systemd — পরিষেবা ব্যবস্থাপনা
# Managing services
sudo systemctl start nginx
sudo systemctl stop nginx
sudo systemctl restart nginx
sudo systemctl reload nginx # reload config without restart
sudo systemctl enable nginx # start on boot
sudo systemctl disable nginx
sudo systemctl status nginx
# View logs
journalctl -u nginx # nginx logs
journalctl -u nginx -f # follow nginx logs
journalctl -n 100 # last 100 system log entries
journalctl --since "1 hour ago"
# Create your own service
# /etc/systemd/system/myapp.service
[Unit]
Description=My App
After=network.target
[Service]
Type=simple
User=deploy
WorkingDirectory=/app
ExecStart=/usr/bin/python3 -m uvicorn main:app --host 0.0.0.0 --port 8000
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
ক্রোন জবস — নির্ধারিত কাজ
# Edit crontab
crontab -e
crontab -l # list current crons
# Cron syntax:
# MIN HOUR DAY MONTH WEEKDAY command
# 0 2 * * * /usr/bin/backup.sh
# Examples:
0 * * * * /app/hourly_task.sh # every hour
0 2 * * * /app/daily_backup.sh # 2am daily
*/15 * * * * /app/health_check.sh # every 15 min
0 9 * * 1-5 /app/weekday_report.sh # 9am Mon-Fri
0 0 1 * * /app/monthly_report.sh # 1st of month
# Logging cron output
0 2 * * * /app/backup.sh >> /var/log/backup.log 2>&1
ডকার এবং ক্লাউডের জন্য লিনাক্স
# Docker on Linux
sudo apt install docker.io
sudo usermod -aG docker $USER # run docker without sudo
newgrp docker
# Docker-compose
sudo apt install docker-compose-plugin
docker compose up -d
# Cloud instances: most common tasks
# Connect
ssh -i key.pem ubuntu@your-server-ip
# Update and install
sudo apt update && sudo apt upgrade -y
sudo apt install -y nginx python3-pip git
# Firewall
sudo ufw enable
sudo ufw allow ssh
sudo ufw allow 80
sudo ufw allow 443
sudo ufw status
2026 সালে ডেভেলপারদের জন্য Linux: কমান্ড লাইন আয়ত্ত করুন (আমাদের লিনাক্স কমান্ড গাইড সমস্ত কমান্ড কভার করে), প্রক্রিয়া পরিচালনা, নেটওয়ার্কিং সরঞ্জাম এবং সিস্টেমড পরিষেবাগুলি বুঝুন। যদি উইন্ডোজে থাকে, WSL2 আপনাকে সরাসরি উইন্ডোজ টার্মিনালে উবুন্টু দেয় — অত্যন্ত প্রস্তাবিত। টার্মিনাল হল যেখানে লিনাক্সের প্রকৃত শক্তি বাস করে এবং এখানে সময় বিনিয়োগ করা আপনার কর্মজীবন জুড়ে লভ্যাংশ প্রদান করে।
🔗 Share this article
✍️ Leave a Comment