
डेवलपर्स, DevOps इंजीनियरों और जिज्ञासु पावर-यूज़रों के लिए एक आधुनिक, पूर्ण मार्गदर्शिका
Shell वह प्रोग्राम है जो आपके और ऑपरेटिंग-सिस्टम के कर्नेल के बीच बैठता है। यह आपकी टाइप की हुई (या स्क्रिप्ट में लिखी) कमांडों को कर्नेल-समझी कम-स्तरीय सिस्टम-कॉल में बदल देता है और परिणाम पढ़ने या पाइप करने के लिए लौटाता है। सरल शब्दों में, Shell दो भूमिकाएँ निभाता है—
| परत | भूमिका | सामान्य टूल |
|---|---|---|
| Kernel | CPU, RAM, डिवाइस, फ़ाइल-सिस्टम सीधे संभालता है | Linux, XNU, NT |
| Shell | मानवीय कमांड को सिस्टम-कॉल में बदलता है | bash, zsh, fish, PowerShell |
| Terminal | टेक्स्ट I/O दिखाता है, की-स्ट्रोक Shell को भेजता है | xterm, gnome-terminal, iTerm2, Windows Terminal |
“Terminal” केवल खिड़की है; “Shell” वही है जो उस खिड़की के भीतर चलता है और कर्नेल से बात करता है।
strace या dtruss से प्रत्येक सिस्टम-कॉल देखें।1971 – Ken Thompson का sh (Unix V6) जिसने $PATH, रीडायरेक्शन (>, <) और साधारण पाइप पेश किए।
$(…)।User mode में CPU सीधे हार्डवेयर को नहीं छू सकता; उसे सिस्टम-कॉल के ज़रिए kernel mode में ट्रैप करना पड़ता है। Shell पूरी तरह यूज़र-स्पेस में चलता है और read, write, execve जैसी कॉलों पर निर्भर रहता है।
fork() – वर्तमान प्रोसेस की कॉपी बनाता है।execvp() – बच्चे की मेमरी को नई प्रोग्राम से बदलता है।waitpid() – पैरेंट बच्चे के ख़त्म होने तक रुका रहता है; एग्ज़िट-स्टेटस पाता है।readline() → parse() → fork() ─┐
│ child → execvp() → प्रोग्राम
parent ← waitpid() ←───────────┘
हर कमांड यह सूक्ष्म जीवन-चक्र शुरू करती है।
टोकन स्पेस पर टूटते हैं, फिर विस्तारित होते हैं: वेरिएबल $HOME, कमांड सब्स्टिट्यूशन $(date), अंकगणित $((1+1)) आदि।
| फ़ाइल | कब लोड होती है | सामान्य उपयोग |
|---|---|---|
~/.profile |
लॉगिन Shell | PATH, locale |
~/.bashrc |
इंटरैक्टिव bash | ऐलियस, प्रॉम्प्ट |
~/.zshrc |
इंटरैक्टिव zsh | प्लग-इन, थीम |
\u@\h:\w \$ यूज़र, होस्ट, डायरेक्टरी दिखाता है।Ctrl-Z से सस्पेंड; bg/fg से बैकग्राउंड/फोरग्राउंड प्रबंधन।शून्य (0) = सफलता; गैर-शून्य = त्रुटि। $? में पिछला स्टेटस रहता है।
> ओवरराइट, >> जोड़ना, < फ़ाइल से इनपुट।command1 | command2 पहली का stdout दूसरी के stdin को देता है।*.c — सभी C स्रोत फ़ाइलें।**/*.py ( shopt -s globstar या zsh के साथ) — पुनरावर्ती खोज।#!/usr/bin/env bash
set -euo pipefail # सख्त मोड
for f in *.log; do
grep -q ERROR "$f" && echo "Alert: $f"
done
Ubuntu के /bin/sh पर हल्का dash; दैनिक उपयोग हेतु फीचर-समृद्ध bash।
tcsh ऑटो-कम्प्लीशन व कमांड-सुधार देता है, पर सिंटैक्स अनूठा (if (expr) then … endif)।
पुराने UNIX में लोकप्रिय; Bourne सरलता + C-शैली ऐरे देता है।
fish_config।PowerShell 7+ – ऑब्जेक्ट-आधारित पाइपलाइन:
Get-Process | Where CPU -gt 100 | Stop-Process
विरासत स्क्रिप्ट हेतु cmd.exe।
खिड़कियाँ, डॉक, कम्पोज़िटर; पृष्ठभूमि में CLI-Shell चलाते हैं।
Bash Dockerfile, GitHub Actions, Kubernetes init-container चलाता है।
सैकड़ों सर्वरों पर SSH;
for host in $(<hosts); do …; done
cat access.log | awk '{print $9}' | sort | uniq -c | sort -nr | head
रिवर्स Shell, लॉग विश्लेषण, strings, hexdump।
Jupyter, conda, Slurm को स्क्रिप्ट से ऑर्केस्ट्रेट कर प्रयोग दोहराएँ।
रूट के रूप में रोज़ काम न करें; सूक्ष्म sudo नियम अपनाएँ।
$(…) से पहले इनपुट सैनिटाइज़ करें।rm -rf / tmp/* (खोया स्पेस) सिस्टम मिटा सकता है।set -o noclobber – गलती से फ़ाइल ओवरराइट रोकता है।"${var}" में बाँधें।fail2ban + SSH कुंजी सक्षम करें।Oh-My-Zsh, Starship, Powerlevel10k प्रॉम्प्ट में Git-स्टेटस व एग्ज़िट-कोड दिखाते हैं।
AI-सापेक्ष ऑटो-कम्प्लीशन (GitHub Copilot CLI, Warp AI), टर्मिनल में VS Code-शैली डायग्नोस्टिक।
Ctrl-Alt-F3।| कमांड | उद्देश्य |
|---|---|
pwd |
वर्तमान डायरेक्टरी दिखाएँ |
ls -lah |
फ़ाइल-सूची, मानव-पठनीय आकार |
cd /path |
डायरेक्टरी बदलें |
man <cmd> |
कमांड का मैनुअल पेज |
history | grep <pattern> |
हिस्ट्री ढूँढें |
tldr छोटे उदाहरणों हेतु (npm i -g tldr)Shell में महारत उपभोक्ता से पावर-यूज़र तक का सबसे तेज़ रास्ता है। चाहे आप C में मिनी-Shell बना रहे हों, माइक्रोसर्विस तैनात कर रहे हों या बायनरी रिवर्स-इंजीनियर कर रहे हों, प्रोसेस निर्माण, रीडायरेक्शन, स्क्रिप्ट अनुशासन व सुरक्षा स्वच्छता प्रोफ़ेशनल कंप्यूटिंग की नींव हैं।
एक VM चलाएँ, strace -f bash चलाकर देखें कि आपकी कमांड User–Kernel सीमा कैसे पार करती है। हर प्रॉम्प्ट उबाऊ को ऑटोमैट करने, जटिल को जाँचने और मज़बूत सिस्टम बनाने का निमंत्रण है। हैपी हैकिंग! 🚀
यदि आपको यह सामग्री मूल्यवान लगी, तो कल्पना कीजिए कि आप हमारे व्यापक 47-सप्ताह के विशिष्ट प्रशिक्षण कार्यक्रम के साथ क्या हासिल कर सकते हैं। 1,200+ से अधिक छात्रों से जुड़ें जिन्होंने यूनिट 8200 तकनीकों के साथ अपने करियर को बदल दिया है।