इस लेख में, हम एक सरल ट्रिक का पता लगाएंगे जो आपको टर्मिनल में दोहराए जाने वाले कमांड टाइप करने में घंटों बचा सकती है।
डेवलपर्स के रूप में, हम टर्मिनल पर कमांड निष्पादित करने में पर्याप्त समय बिताते हैं। चाहे वह निर्देशिकाओं के माध्यम से नेविगेट करना हो, स्क्रिप्ट चलाना हो, Node.js संस्करण बदलना हो, या वर्जन कंट्रोल कमांड हो, हर कमांड को मैन्युअल रूप से टाइप करना एक समय लेने वाला कार्य है।
उन लोगों के लिए जो कमांड या उनके संबद्ध फ्लैग को याद रखने के लिए संघर्ष करते हैं, यह और भी थकाऊ हो सकता है।
चिंता न करें! इस समस्या का एक सरल लेकिन शक्तिशाली समाधान है। इसे टर्मिनल aliases कहते हैं।
alias कमांड
alias कमांड आपको मौजूदा कमांड के लिए शॉर्टकट बनाने की अनुमति देता है, जिससे उन्हें याद रखना आसान और जल्दी निष्पादित करना होता है। जब आप एक alias परिभाषित करते हैं, तो आप एक मौजूदा कमांड के लिए एक नया लेबल बना रहे होते हैं।
alias कमांड का सिंटैक्स
सिंटैक्स सीधा है: आप एक कमांड को एक लेबल पर असाइन कर सकते हैं जैसे आप अधिकांश प्रोग्रामिंग भाषाओं में एक वेरिएबल को मान असाइन करते हैं।
alias alias_name='long command'
आइए इस कमांड को बेहतर ढंग से समझने के लिए विच्छेदित करें:
alias: वह टर्मिनल कमांड जो alias परिभाषित करने में सक्षम बनाता है।alias_name: यह वह नाम या लेबल है जिसे आप कमांड को असाइन कर रहे हैं। मूल रूप से, आप इसे टर्मिनल में पूर्ण कमांड के बजाय टाइप करेंगे।'long command': यह वह कमांड है जिसमें आप alias जोड़ना चाहते हैं। सुनिश्चित करें कि आप कमांड को सिंगल कोट्स (') में लपेट रहे हैं क्योंकि लगभग सभी कमांड में स्पेस या विशेष वर्ण होते हैं।
पूर्वनिर्धारित Aliases
टर्मिनल के भीतर पहले से ही कुछ पूर्वनिर्धारित aliases सेट हैं। और इस बात की बहुत संभावना है कि आप उन्हें जाने बिना भी उपयोग कर रहे थे।
ऐसे aliases सिस्टम (/etc/bash.bashrc) या उपयोगकर्ता-विशिष्ट (~/.bashrc) शेल कॉन्फिगरेशन फ़ाइलों के भीतर परिभाषित होते हैं।
आप alias कमांड को बिना किसी विकल्प या फ्लैग के निष्पादित करके सभी पूर्वनिर्धारित aliases की सूची पा सकते हैं।
alias
सत्रों में बने रहने वाला Alias कैसे बनाएं
डिफ़ॉल्ट रूप से, aliases केवल वर्तमान सत्र में बने रहते हैं। इसका मतलब है, यदि आप टर्मिनल बंद करते हैं, तो alias मिट जाएगा और आप बाद में इसका उपयोग नहीं कर पाएंगे।
इससे निपटने के लिए, आपको alias को शेल की कॉन्फिगरेशन फ़ाइल में परिभाषित करना होगा। शेल एक इंटरप्रेटर है जो टर्मिनल के अंदर रहता है और आपके और ऑपरेटिंग सिस्टम के बीच एक इंटरफेस स्थापित करता है। इसलिए, सही शेल तक पहुंचना और साथ ही सही कॉन्फिगरेशन फ़ाइल को संशोधित करना बहुत महत्वपूर्ण है।
यहां तीन सबसे आमतौर पर उपयोग किए जाने वाले शेल एप्लिकेशन के लिए कॉन्फिगरेशन फ़ाइलें हैं:
- Bash:
~/.bashrc - Zsh:
~/.zshrc - Fish:
~/.config/fish/config.fish
आइए Bash में एक नया alias जोड़ने का प्रयास करें।
echo "alias nrd='npm run dev'" >> ~/.bashrc
आइए इस कमांड को विच्छेदित करें:
echo: एक टर्मिनल कमांड जो आपको टर्मिनल कमांड के भीतर सामग्री लिखने देता है।"alias ...": यह वह सामग्री है जिसके बारे में हमने पिछले बिंदु में बात की थी। यह एक alias कमांड है जोnrdकोnpm run devकमांड के लिए alias के रूप में जोड़ता है।>>: टर्मिनल को बाईं ओर की सामग्री (alias कमांड) को दाईं ओर की फ़ाइल में जोड़ने के लिए कहता है। हमारे मामले में, हम इसे bash कॉन्फिगरेशन फ़ाइल में संग्रहीत कर रहे हैं।~/.bashrc: यह वह फ़ाइल है जिसमें echo कमांड से सामग्री जोड़ी जाएगी।
~/.bashrc को अपने शेल की कॉन्फिगरेशन फ़ाइल से बदलना न भूलें।
डायनामिक Alias कैसे बनाएं
अक्सर, आपको दोहराए जाने वाले कमांड का उपयोग करने की आवश्यकता होती है लेकिन आप जो चाहते हैं उसके आधार पर कुछ छोटे बदलावों के साथ। इसका सबसे अच्छा उदाहरण Git कमांड हैं। इस मामले में, आप अपने कमांड में एक विकल्प जोड़ सकते हैं जिसे टर्मिनल में निष्पादित करते समय डायनामिक विकल्प/पैरामीटर द्वारा प्रतिस्थापित किया जाएगा।
alias gpll='git pull --rebase origin ${branch}'
कमांड निष्पादित करते समय, आपको ${branch} को उस ब्रांच से बदलना होगा जिससे आप परिवर्तन खींचना चाहते हैं। main ब्रांच से परिवर्तन खींचने के लिए आप इसे इस तरह करेंगे:
gpll main
आप अपने alias में कई विकल्प भी जोड़ सकते हैं। बस सुनिश्चित करें कि आप वास्तविक मूल्यों के सही क्रम के साथ alias लिख रहे हैं:
alias gpll='git pull --rebase ${remote} ${branch}
कमांड निष्पादित करते समय, आपको ${remote} और ${branch} को उपयुक्त मूल्यों से बदलना होगा, जैसे निम्नलिखित:
gpll origin main
एकाधिक कमांड के लिए Alias कैसे बनाएं
ऐसे मामले हैं जहां आपको क्रमिक रूप से एकाधिक कमांड का उपयोग करने की आवश्यकता होती है। आप इसके लिए भी एक alias बना सकते हैं। प्रत्येक कमांड को && से अलग करें जो बाएं वाले कमांड के निष्पादित होने के बाद दाएं वाले कमांड को निष्पादित करता है।
gpsh='git pull --rebase && git push'
Alias कैसे हटाएं
यदि आप वर्तमान सत्र से एक alias हटाना चाहते हैं, तो आप unalias कमांड का उपयोग कर सकते हैं। यह कमांड केवल एक तर्क लेता है - alias नाम।
unalias my-alias-name
हालांकि, यदि आप कॉन्फिगरेशन फ़ाइल में सहेजे गए alias को हटाना चाहते हैं, तो आपको इसे फ़ाइल से ही हटाना होगा। आप इसे करने के लिए Nano जैसे सरल टेक्स्ट एडिटर का उपयोग कर सकते हैं।
nano ~/.bashrc
नीचे स्क्रॉल करके अपने सभी aliases ढूंढें और उन लोगों को हटाएं जिन्हें आप अब नहीं चाहते।
जब आप पूरा कर लें, तो सहेजने के बाद एडिटर से बाहर निकल सकते हैं। यह वह जगह है जहां मैं टर्मिनल-आधारित टेक्स्ट एडिटर से बाहर निकलने में सक्षम नहीं होने के बारे में एक मीम पेश कर सकता हूं। लेकिन Nano के साथ, यह बहुत सरल है:
ctrl+xदबाएं यदि आप Linux पर हैं और^+xयदि आप Mac पर हैं।Yदबाएं परिवर्तनों की पुष्टि करने के लिए- अपने ऑपरेटिंग सिस्टम के आधार पर फ़ाइल को सहेजने के लिए Enter या Return दबाएं।
देखा? कुछ भी मुश्किल नहीं :)
चेतावनी
Alias बनाते समय आपको दो महत्वपूर्ण बातें याद रखनी चाहिए।
Aliases शेल-प्रतिबंधित हैं
Aliases आपके द्वारा उपयोग किए जा रहे शेल के लिए विशिष्ट हैं। एक शेल में बनाया गया alias दूसरे शेल में काम नहीं करेगा।
यदि आप इसे किसी अन्य सत्र में उपयोग करना चाहते हैं तो आपको एक नया alias बनाना होगा। इस चेतावनी का कोई समाधान नहीं है। एक ट्रिक जो आप कर सकते हैं वह है सभी शेल्स की कॉन्फिग फ़ाइलों में alias को मैन्युअली सहेजना जिनका आप उपयोग करते हैं।
Aliases डिफ़ॉल्ट रूप से सत्र-बाउंड हैं
Aliases केवल वर्तमान सत्र में उपलब्ध हैं। यदि आप एक नई टर्मिनल विंडो खोलते हैं या लॉग आउट करते हैं, तो alias उपलब्ध नहीं होगा।
इसलिए, कॉन्फिगरेशन फ़ाइल में alias को सहेजने की सिफारिश की जाती है ताकि आप जब चाहें इसका उपयोग कर सकें।
TL;DR
aliasकमांड एक कमांड या कमांड की श्रृंखला में शॉर्टकट जोड़ता है।alias shortcut='existing valid command।- शेल की कॉन्फिग फ़ाइल में alias सहेजें ताकि यह सत्रों में बना रहे। हर शेल की एक अद्वितीय कॉन्फिग फ़ाइल होती है।
echo "nrd='npm run dev'" >> ~/.bashrc। - डायनामिक मान के साथ प्लेसहोल्डर को प्रतिस्थापित करके एक डायनामिक alias बनाएं। प्लेसहोल्डर को
${}में लपेटा जाना चाहिए।alias gp='git pull origin ${branch}को टर्मिनल मेंgp mainके रूप में निष्पादित किया जाना चाहिए। &&के साथ जोड़कर एक alias में एकाधिक कमांड जोड़ें।- कॉन्फिग फ़ाइल से मैन्युअली मिटाकर alias हटाएं।
समापन
मुझे उम्मीद है कि यह ब्लॉग आपके समय को अनुकूलित करने और आपकी डेवलपर उत्पादकता को बढ़ावा देने में मदद करता है। यदि ऐसा हुआ, तो इसे अपने साथियों के साथ साझा करना न भूलें ताकि वे भी अपनी दक्षता में सुधार कर सकें।
आप कुशलतापूर्वक काम करने के लिए किन अन्य तकनीकों का उपयोग करते हैं? मैं उनके बारे में अधिक जानना पसंद करूंगा। यदि आप नमस्ते कहना चाहते हैं तो मैं ट्विटर और Peerlist पर सबसे अधिक सक्रिय हूं!
तब तक, हैप्पी स्क्रिप्टिंग! 👨💻
मुफ्त में कोड करना सीखें। freeCodeCamp का ओपन सोर्स पाठ्यक्रम 40,000 से अधिक लोगों को डेवलपर्स के रूप में नौकरी पाने में मदद कर चुका है। शुरू करें