লিনাক্সের প্রধান কমান্ডগুলো কাজের ধরন অনুযায়ী ভাগ করা যায়: নেভিগেশন (pwd, ls, cd), ফাইল নিয়ন্ত্রণ (cp, mv, rm, mkdir), অধিকার (chmod, chown), প্যাকেজ (apt), প্রসেস (ps, top, kill), খোঁজা ও টেক্সট প্রসেসিং (find, grep, sed, awk), নেটওয়ার্ক (ip, ss, curl) এবং সার্ভিস (systemctl, journalctl)। নিচে উদাহরণসহ টেবিল দেওয়া হয়েছে, যা টার্মিনালে প্রতিদিনের বেশিরভাগ কাজ কভার করে।
এই লিনাক্স কমান্ড চিট শিট কাজের ধরন অনুযায়ী সাজানো: ফাইল খোঁজা, প্যাকেজ ইনস্টল, আটকে যাওয়া প্রসেস বন্ধ করা, লগ থেকে একটি লাইন বের করা বা পোর্ট পরীক্ষা করা। কমান্ডগুলো Ubuntu ও Debian-এ যাচাই করা হয়েছে; প্রায় সবই অন্য ডিস্ট্রিবিউশনেও কাজ করে, প্রধান পার্থক্য প্যাকেজ ম্যানেজারে।
সাহায্য ও ইঙ্গিত
| কমান্ড | কাজ |
man ls | কমান্ডের পূর্ণ নির্দেশিকা, বের হতে q, খুঁজতে /শব্দ |
ls --help | অপশনের সংক্ষিপ্ত সাহায্য |
type cd | এটি কী: শেলের অন্তর্নির্মিত কমান্ড, অ্যালিয়াস, নাকি ফাইল |
which python3 | এক্সিকিউটেবল ফাইলের পাথ |
history | কমান্ড ইতিহাস; !123 দিলে ১২৩ নম্বর কমান্ড আবার চলে |
Ctrl+R | ইতিহাসে খোঁজা |
Ctrl+C / Ctrl+D | কমান্ড বন্ধ করা / শেল বন্ধ করা |
ফাইল সিস্টেমে নেভিগেশন
| কমান্ড | কাজ |
pwd | বর্তমান ডিরেক্টরি |
ls -la | সব ফাইল, লুকানো গুলোসহ, অধিকার ও আকারসহ |
ls -lh | সহজে পড়া যায় এমন আকার (K, M, G) |
ls -lt | পরিবর্তনের সময় অনুযায়ী সাজানো |
cd /var/log | অ্যাবসোলিউট পাথে যাওয়া |
cd .. / cd ~ / cd - | এক ধাপ উপরে / হোমে / আগের ডিরেক্টরিতে |
tree -L 2 | ২ স্তর পর্যন্ত ডিরেক্টরি ট্রি (প্যাকেজ tree) |
ফাইল ও ডিরেক্টরির সঙ্গে কাজ
| কমান্ড | কাজ |
touch file.txt | খালি ফাইল তৈরি বা পরিবর্তনের সময় হালনাগাদ |
mkdir -p a/b/c | প্যারেন্টসহ ডিরেক্টরি তৈরি |
cp file.txt backup.txt | ফাইল কপি |
cp -r src/ dst/ | ডিরেক্টরি রিকার্সিভলি কপি |
mv old.txt new.txt | নাম বদল বা স্থানান্তর |
rm file.txt | ফাইল মুছে ফেলা (ট্র্যাশ ছাড়া) |
rm -r dir/ | ডিরেক্টরি ও ভেতরের সব মুছে ফেলা; -f জিজ্ঞাসা ছাড়া, সাবধানে |
rmdir dir | খালি ডিরেক্টরি মুছে ফেলা |
ln -s /opt/app/current app | সিম্বলিক লিংক |
stat file.txt | বিস্তারিত: আকার, অধিকার, inode, তারিখ |
file image.bin | কন্টেন্ট দেখে ফাইলের ধরন নির্ণয় |
কন্টেন্ট দেখা
| কমান্ড | কাজ |
cat file | পুরো ফাইল দেখানো |
less file | পাতা ধরে দেখা, খুঁজতে /, বের হতে q |
head -n 20 file | প্রথম ২০ লাইন |
tail -n 50 file | শেষ ৫০ লাইন |
tail -f /var/log/syslog | ফাইল রিয়েল-টাইমে অনুসরণ |
wc -l file | লাইনের সংখ্যা |
diff a.conf b.conf | দুটি ফাইলের পার্থক্য |
অধিকার ও মালিক
| কমান্ড | কাজ |
chmod +x script.sh | চালানোর অনুমতি দেওয়া |
chmod 644 file | rw-r--r--: মালিক লিখতে পারে, বাকিরা পড়তে |
chmod 755 dir | rwxr-xr-x: ডিরেক্টরি ও স্ক্রিপ্টের জন্য সাধারণ |
chmod 600 ~/.ssh/id_ed25519 | শুধু মালিক: ব্যক্তিগত কী-এর জন্য |
sudo chown www-data:www-data file | মালিক ও গ্রুপ বদল |
sudo chown -R alice /srv/app | রিকার্সিভলি মালিক বদল |
id | আপনার UID, GID ও গ্রুপ |
sudo -i | root শেল |
sudo usermod -aG docker alice | ব্যবহারকারীকে গ্রুপে যুক্ত করা |
প্যাকেজ (apt, Debian ও Ubuntu)
| কমান্ড | কাজ |
sudo apt update | রিপোজিটরি থেকে প্যাকেজের তালিকা হালনাগাদ |
sudo apt upgrade | ইনস্টল করা প্যাকেজ হালনাগাদ |
sudo apt install nginx | প্যাকেজ ইনস্টল |
sudo apt remove nginx | মুছে ফেলা, কনফিগ থেকে যায়; purge কনফিগসহ মোছে |
sudo apt autoremove | অপ্রয়োজনীয় ডিপেন্ডেন্সি মুছে ফেলা |
apt search htop | প্যাকেজ খোঁজা |
apt show nginx | বিবরণ ও সংস্করণ |
dpkg -l | grep nginx | প্যাকেজ ইনস্টল আছে কি না |
dpkg -L nginx | প্যাকেজ কোন কোন ফাইল ইনস্টল করেছে |
RHEL, Fedora ও Rocky Linux-এ সমতুল্য কমান্ড হলো dnf install, dnf remove, dnf upgrade এবং rpm -qa।
পরিবেশ ও প্রোফাইল
| কমান্ড | কাজ |
echo $PATH | শেল প্রোগ্রাম কোথায় খোঁজে |
env | সব এনভায়রনমেন্ট ভেরিয়েবল |
export APP_ENV=prod | বর্তমান সেশন ও তার চাইল্ড প্রসেসের জন্য ভেরিয়েবল সেট |
alias ll='ls -la' | কমান্ডের শর্টকাট |
source ~/.bashrc | লগআউট ছাড়া প্রোফাইল পুনরায় পড়া |
crontab -e / crontab -l | cron কাজ এডিট / দেখা |
প্রসেস
| কমান্ড | কাজ |
ps aux | সব প্রসেস, ব্যবহারকারী, CPU ও মেমরিসহ |
ps aux | grep nginx | প্রসেস খোঁজা |
pgrep -a nginx | নাম দিয়ে PID ও কমান্ড লাইন |
top / htop | রিয়েল-টাইমে লোড |
kill 1234 | প্রসেসকে বন্ধ হওয়ার অনুরোধ (SIGTERM) |
kill -9 1234 | জোর করে বন্ধ (SIGKILL) — শেষ উপায় |
pkill -f "python app.py" | কমান্ড লাইনের সঙ্গে মিল থাকা প্রসেস বন্ধ |
command &, jobs, fg | ব্যাকগ্রাউন্ডে চালানো ও জব নিয়ন্ত্রণ |
nohup ./job.sh & | টার্মিনাল বন্ধ করলেও প্রসেস চলবে |
free -h | মেমরি ও swap |
uptime | চালু থাকার সময় ও গড় লোড |
strace -p 1234 | প্রসেসের সিস্টেম কল |
সার্ভিস ও লগ (systemd)
| কমান্ড | কাজ |
systemctl status nginx | সার্ভিসের অবস্থা ও শেষ কয়েক লাইন লগ |
sudo systemctl start|stop|restart nginx | চালু, বন্ধ, পুনরায় চালু |
sudo systemctl reload nginx | বন্ধ না করে কনফিগ পুনরায় পড়া |
sudo systemctl enable --now nginx | স্বয়ংক্রিয় চালু সক্রিয় ও এখনই চালু |
systemctl --failed | ব্যর্থ ইউনিটগুলো |
journalctl -u nginx -f | সার্ভিসের লগ রিয়েল-টাইমে |
journalctl -u nginx --since "1 hour ago" | গত এক ঘণ্টার লগ |
journalctl -p err -b | সর্বশেষ বুট থেকে ত্রুটি |
ফাইল খোঁজা
| কমান্ড | কাজ |
find /var/log -name "*.log" | নাম দিয়ে খোঁজা |
find . -type f -mtime -1 | গত ২৪ ঘণ্টায় পরিবর্তিত ফাইল |
find / -size +500M 2>/dev/null | বড় ফাইল; অ্যাক্সেস ত্রুটি লুকানো |
find . -name "*.tmp" -delete | খুঁজে মুছে ফেলা |
du -sh * | ডিরেক্টরির প্রতিটি আইটেমের আকার |
df -h | ফাইল সিস্টেমে খালি জায়গা |
খোঁজা ও টেক্সট প্রসেসিং: grep, sed, awk, jq
| কমান্ড | কাজ |
grep "error" app.log | শব্দটি আছে এমন লাইন |
grep -i -n "error" app.log | বড়-ছোট হাতের অক্ষর উপেক্ষা করে, লাইন নম্বরসহ |
grep -r "listen" /etc/nginx/ | ডিরেক্টরিতে রিকার্সিভলি |
grep -v "DEBUG" app.log | যেসব লাইনে শব্দটি নেই |
grep -c "500" access.log | মিলের সংখ্যা |
grep -E "warn|error" app.log | প্রসারিত রেগুলার এক্সপ্রেশন |
sed 's/old/new/g' file | বদলে ফলাফল দেখানো |
sed -i 's/8080/9090/' app.conf | সরাসরি ফাইলের ভেতরে বদল |
sed -n '10,20p' file | ১০ থেকে ২০ নম্বর লাইন |
awk '{print $1}' access.log | প্রতিটি লাইনের প্রথম ফিল্ড |
awk -F: '{print $1}' /etc/passwd | ব্যবহারকারীর নাম (বিভাজক :) |
awk '$9 == 500' access.log | যেসব লাইনে নবম ফিল্ড ৫০০ |
sort | uniq -c | sort -rn | পুনরাবৃত্তি গণনা ও সংখ্যা অনুযায়ী সাজানো |
cut -d, -f2 data.csv | CSV-এর দ্বিতীয় কলাম |
jq '.items[].name' data.json | JSON থেকে ফিল্ড বের করা |
একটি পাইপলাইনের উদাহরণ: nginx-এ সবচেয়ে বেশি অনুরোধ পাঠানো দশটি IP ঠিকানা।
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -10
রিডাইরেকশন ও পাইপ
| গঠন | কাজ |
cmd > out.txt | আউটপুট ফাইলে লেখা (আগেরটি মুছে) |
cmd >> out.txt | ফাইলের শেষে যোগ করা |
cmd 2> err.txt | ত্রুটি আলাদা ফাইলে পাঠানো |
cmd > all.log 2>&1 | আউটপুট ও ত্রুটি একই ফাইলে |
cmd1 | cmd2 | এক কমান্ডের আউটপুট অন্য কমান্ডের ইনপুট হিসেবে |
cmd | tee out.txt | স্ক্রিনে দেখানো ও একই সঙ্গে সংরক্ষণ |
cmd1 && cmd2 | প্রথমটি সফল হলেই দ্বিতীয়টি চালানো |
cmd1 || cmd2 | প্রথমটি ব্যর্থ হলে দ্বিতীয়টি চালানো |
আর্কাইভ
| কমান্ড | কাজ |
tar -czf backup.tar.gz dir/ | gzip দিয়ে প্যাক ও সংকোচন |
tar -xzf backup.tar.gz | এক্সট্র্যাক্ট |
tar -tzf backup.tar.gz | ভেতরের তালিকা দেখা |
zip -r site.zip site/ / unzip site.zip | zip আর্কাইভ |
নেটওয়ার্ক
| কমান্ড | কাজ |
ip a | ইন্টারফেস ও IP ঠিকানা |
ip r | রাউটিং টেবিল |
ping -c 4 8.8.8.8 | হোস্ট পৌঁছানো যায় কি না |
ss -tulpn | খোলা পোর্ট ও সেগুলো ব্যবহারকারী প্রসেস |
dig example.com / nslookup example.com | DNS কুয়েরি |
curl -I https://example.com | শুধু রেসপন্স হেডার |
curl -s https://api.example.com | jq | API কল ও সুন্দর JSON |
wget URL | ফাইল ডাউনলোড |
traceroute example.com | হোস্ট পর্যন্ত প্যাকেটের পথ |
ssh user@host | সার্ভারে যুক্ত হওয়া |
ssh-keygen -t ed25519 | SSH কী-জোড়া তৈরি |
scp file user@host:/tmp/ | সার্ভারে ফাইল কপি |
rsync -avz dir/ user@host:/srv/dir/ | ডিরেক্টরি সিঙ্ক্রোনাইজ |
sudo ufw status | ফায়ারওয়াল নিয়ম |
সিস্টেম ও ডিস্ক
| কমান্ড | কাজ |
uname -a | কার্নেল ও আর্কিটেকচার |
cat /etc/os-release | ডিস্ট্রিবিউশন ও সংস্করণ |
hostnamectl | হোস্টের নাম ও সিস্টেমের তথ্য |
lsblk | ডিস্ক ও পার্টিশন |
sudo mount /dev/sdb1 /mnt | পার্টিশন মাউন্ট |
who / w | এখন কে সিস্টেমে আছে |
sudo reboot / sudo shutdown -h now | রিবুট / বন্ধ |
সংক্ষেপে
প্রতিদিনের কাজের জন্য কয়েক ডজন কমান্ডই যথেষ্ট: ls, cd, cp, mv, rm, chmod, sudo, apt, ps, kill, systemctl, journalctl, grep, find, ss, curl ও ssh। এই লিনাক্স কমান্ড চিট শিট সংরক্ষণ করুন এবং কমান্ডগুলো অভ্যাসে না আসা পর্যন্ত এর সঙ্গে মিলিয়ে দেখুন। প্রতিটি কমান্ড-গোষ্ঠী লিনাক্স কোর্সে হাতে-কলমে শেখানো হয়।