चीट शीट

Linux कमांड: शुरुआती और एडमिनिस्ट्रेटर के लिए चीट शीट

अपडेट किया गया: · Skillaria.Top

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 22 स्तर तक डायरेक्टरी ट्री (पैकेज 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 filerw-r--r--: मालिक लिखे, बाक़ी पढ़ें
chmod 755 dirrwxr-xr-x: डायरेक्टरी और स्क्रिप्ट के लिए आम
chmod 600 ~/.ssh/id_ed25519केवल मालिक: निजी कीज़ के लिए
sudo chown www-data:www-data fileमालिक और ग्रुप बदलना
sudo chown -R alice /srv/appमालिक को पूरी ट्री में बदलना
idआपका UID, GID और ग्रुप
sudo -iroot शेल
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 -lcron जॉब संपादित करना / देखना

प्रोसेस

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.csvCSV का दूसरा कॉलम
jq '.items[].name' data.jsonJSON से फ़ील्ड निकालना

पाइपलाइन का उदाहरण: 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.zipzip आर्काइव

नेटवर्क

ead>
कमांडक्या करती है
ip aइंटरफ़ेस और IP पते
ip rरूट की तालिका
ping -c 4 8.8.8.8होस्ट उपलब्ध है या नहीं
ss -tulpnखुले पोर्ट और उन पर चल रहे प्रोसेस
dig example.com / nslookup example.comDNS अनुरोध
curl -I https://example.comकेवल उत्तर के हेडर
curl -s https://api.example.com | jqAPI अनुरोध और सुंदर JSON
wget URLफ़ाइल डाउनलोड करना
traceroute example.comहोस्ट तक पैकेट का रास्ता
ssh user@hostसर्वर से जुड़ना
ssh-keygen -t ed25519SSH कीज़ की जोड़ी बनाना
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> से बंद करें।

इस विषय को वीडियो में सीखें

यह विषय “Linux: с нуля до уверенного администрирования” कोर्स में अभ्यास के साथ विस्तार से समझाया गया है।

कोर्स पर जाएँ