Linux की मुख्य कमांड कुछ समूहों में बँटी हैं: नेविगेशन (pwd, ls, cd), फ़ाइलें (cp, mv, rm, mkdir), अधिकार (chmod, chown), पैकेज (apt), प्रोसेस (ps, top, kill), खोज और टेक्स्ट प्रोसेसिंग (find, grep, sed, awk), नेटवर्क (ip, ss, curl) और सर्विस (systemctl, journalctl)। नीचे तालिकाएँ हैं जिनमें कमांड और उदाहरण दिए गए हैं, जो टर्मिनल के रोज़ के ज़्यादातर काम कवर करते हैं।
यह Linux कमांड चीट शीट काम के हिसाब से समूहों में बनी है: कोई फ़ाइल ढूँढनी हो, पैकेज लगाना हो, अटका हुआ प्रोसेस बंद करना हो, लॉग से एक लाइन निकालनी हो या पोर्ट चेक करना हो। कमांड Ubuntu और Debian पर जाँची गई हैं; लगभग सब कुछ बाक़ी डिस्ट्रीब्यूशन पर भी चलता है, मुख्य अंतर पैकेज मैनेजर का होता है।
मदद और सुझाव
| ead> | | कमांड | क्या करती है |
man ls | कमांड का पूरा मैनुअल; बाहर निकलने के लिए q, खोजने के लिए /शब्द |
ls --help | फ़्लैग की संक्षिप्त सहायता |
type cd | बताता है कि यह बिल्ट-इन कमांड है, एलियास है या फ़ाइल |
which python3 | चलने योग्य फ़ाइल का पाथ |
history | कमांड का इतिहास; !123 नंबर 123 वाली कमांड दोबारा चलाता है |
Ctrl+R | इतिहास में खोज |
Ctrl+C / Ctrl+D | कमांड रोकना / शेल बंद करना |
फ़ाइल सिस्टम में नेविगेशन
| ead> | | कमांड | क्या करती है |
pwd | मौजूदा डायरेक्टरी |
ls -la | सभी फ़ाइलें, छिपी हुई भी, अधिकार और आकार के साथ |
ls -lh | आकार सुविधाजनक रूप में (K, M, G) |
ls -lt | बदलने के समय के हिसाब से छाँटना |
cd /var/log | एब्सोल्यूट पाथ पर जाना |
cd .. / cd ~ / cd - | एक स्तर ऊपर / होम पर / पिछली डायरेक्टरी पर |
tree -L 2 | 2 स्तर तक डायरेक्टरी ट्री (पैकेज tree) |
फ़ाइलों और डायरेक्टरी पर काम
| ead> | | कमांड | क्या करती है |
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 | सामग्री से फ़ाइल का प्रकार पहचानना |
सामग्री देखना
| ead> | | कमांड | क्या करती है |
cat file | पूरी फ़ाइल दिखाना |
less file | पन्ने-पन्ने देखना, खोजने के लिए /, बाहर आने के लिए q |
head -n 20 file | पहली 20 लाइनें |
tail -n 50 file | आख़िरी 50 लाइनें |
tail -f /var/log/syslog | फ़ाइल में नई लाइनें रियल टाइम में देखना |
wc -l file | लाइनों की संख्या |
diff a.conf b.conf | दो फ़ाइलों के बीच अंतर |
अधिकार और मालिक
| ead> | | कमांड | क्या करती है |
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)
| ead> | | कमांड | क्या करती है |
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।
वातावरण और प्रोफ़ाइल
| ead> | | कमांड | क्या करती है |
echo $PATH | शेल प्रोग्राम किन डायरेक्टरी में ढूँढता है |
env | सभी एनवायरनमेंट वेरिएबल |
export APP_ENV=prod | मौजूदा सेशन और उसके चाइल्ड प्रोसेस के लिए वेरिएबल सेट करना |
alias ll='ls -la' | कमांड का छोटा रूप |
source ~/.bashrc | बिना लॉगआउट के प्रोफ़ाइल दोबारा पढ़ना |
crontab -e / crontab -l | cron जॉब संपादित करना / देखना |
प्रोसेस
| ead> | | कमांड | क्या करती है |
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)
| ead> | | कमांड | क्या करती है |
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 | बूट के बाद की त्रुटियाँ |
फ़ाइलें खोजना
| ead> | | कमांड | क्या करती है |
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
| ead> | | कमांड | क्या करती है |
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 | लाइन 10 से 20 दिखाना |
awk '{print $1}' access.log | हर लाइन का पहला फ़ील्ड |
awk -F: '{print $1}' /etc/passwd | यूज़र नाम (विभाजक :) |
awk '$9 == 500' access.log | वे लाइनें जिनमें नौवाँ फ़ील्ड 500 है |
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
रीडायरेक्शन और पाइप
| ead> | | संरचना | क्या करती है |
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 | दूसरी कमांड तब, जब पहली विफल हो |
आर्काइव
| ead> | | कमांड | क्या करती है |
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 आर्काइव |
नेटवर्क
| ead> | | कमांड | क्या करती है |
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 | फ़ायरवॉल के नियम |
सिस्टम और डिस्क
| ead> | | कमांड | क्या करती है |
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। इस Linux कमांड चीट शीट को सहेज लें और जब तक कमांड उँगलियों में न बैठ जाएँ, इससे मिलाते रहें। सभी कमांड-समूह हमारे लिनक्स कोर्स में व्यवहार में सिखाए जाते हैं।
man या less से कैसे बाहर निकलें?
<code>q</code> दबाएँ। अंदर खोजने के लिए स्लैश और शब्द लिखें, <code>n</code> अगले मेल पर ले जाता है।
vim एडिटर से कैसे बाहर निकलें?
<code>Esc</code> दबाएँ, फिर <code>:q!</code> लिखकर Enter दबाएँ, ताकि बिना सेव बाहर निकलें, या <code>:wq</code> लिखकर सेव करके बाहर निकलें। नए लोगों के लिए nano में फ़ाइल बदलना आसान है।
rm -rf कितना ख़तरनाक है?
यह कमांड बिना पूछे और बिना ट्रैश के हटाती है, और पाथ में छोटी-सी ग़लती (जैसे स्टार से पहले अतिरिक्त स्पेस) ग़लत डायरेक्टरी मिटा सकती है। चलाने से पहले <code>ls</code> से पाथ जाँच लें।
पिछली कमांड sudo के साथ कैसे दोबारा चलाएँ?
<code>sudo !!</code> लिखें, शेल पिछली कमांड पूरी तरह उसकी जगह रख देगा।
टर्मिनल में अटकी हुई कमांड कैसे रोकें?
<code>Ctrl+C</code> रुकने का सिग्नल भेजता है। अगर कमांड जवाब न दे, तो दूसरे टर्मिनल में <code>ps</code> या <code>pgrep</code> से उसका PID ढूँढकर <code>kill</code> से बंद करें।