यदि आप Linux शेल/टर्मिनल में रहते हैं, तो उपनाम एक बड़ा टाइमसेवर हैं। यहां उदाहरणों के साथ अपने स्वयं के Bash उपनाम बनाने का तरीका बताया गया है।
Bash/Linux शेल में उपनाम क्या है?
एक उपनाम एक लंबी कमांड का शॉर्टकट है। यह कीबोर्ड शॉर्टकट के समान है – जैसे CTRL + C कुंजी संयोजन कई ग्राफिकल ऑपरेटिंग सिस्टम में कॉपी कमांड का शॉर्टकट है (स्क्रीन पर माउस खींचने और कमांड तक पहुंचने के लिए कई मेनू पर क्लिक करने में समय बचाता है), उपनाम लंबी टर्मिनल कमांड के शॉर्टकट हैं (पूरी कमांड टाइप करने में समय बचाते हैं)।
Bash बिल्ट-इन एलियासिंग कार्यक्षमता प्रदान करता है, जैसा कि कई अन्य Linux शेल करते हैं, जिसमें zsh, शामिल है, जो समान सिंटैक्स साझा करता है।
इस लेख के उदाहरण Bash और Zsh दोनों के साथ काम करने चाहिए।
एक उपनाम बनाना
alias कमांड का उपयोग उपनाम बनाने के लिए किया जाता है।
alias और unalias कमांड सिंटैक्स
यहां alias कमांड के लिए सिंटैक्स है:
alias OPTIONS SHORTCUT=COMMAND
और यहां unalias कमांड के लिए सिंटैक्स है:
unalias OPTIONS SHORTCUT
ध्यान दें कि:
- OPTIONS नीचे दी गई तालिका से वैकल्पिक फ्लैग की एक सूची है
- SHORTCUT वह शॉर्टकट है जिसे आप COMMAND निष्पादित करने के लिए टाइप करना चाहते हैं
- इसमें केवल अल्फ़ान्यूमेरिक कैरेक्टर, डैश, और अंडरस्कोर हो सकते हैं
- COMMAND वह कमांड होनी चाहिए जिसे आप SHORTCUT दर्ज करने पर निष्पादित करना चाहते हैं
- = कैरेक्टर SHORTCUT और COMMAND को कोई स्पेस नहीं के साथ अलग करना चाहिए
- यदि COMMAND में स्पेस हैं, तो आपको इसे कोट्स में शामिल करना होगा
- एक उपनाम का उपयोग केवल कमांड में पहले शब्द के रूप में किया जा सकता है
| alias कमांड विकल्प | |
|---|---|
| -p | वर्तमान में परिभाषित उपनाम सूचीबद्ध करें (केवल alias कमांड के लिए) |
| -a | सभी उपनाम साफ़ करें (केवल unalias कमांड के लिए) |
Bash में अस्थायी रूप से उपनाम असाइन करना
जब alias कमांड निष्पादित किया गया है, और एक उपनाम बनाया गया है, तो यह केवल वर्तमान सत्र के लिए उपलब्ध है। यानी, आपके पास खुली टर्मिनल विंडो या रिमोट सर्वर के साथ लॉगिन सत्र।
टर्मिनल से बाहर निकलने, लॉग आउट करने, रीबूट करने आदि से सभी उपनाम साफ़ हो जाएंगे, और वे भविष्य के सत्रों के लिए पुनः नहीं बनाए जाएंगे।
उदाहरण – उपनाम बनाना और उपयोग करना
यहां उपनाम परिभाषित करने का एक सरल उदाहरण है:
alias say_hello='echo "Hello LinuxScrew!"'
उपरोक्त, एक उपनाम say_hello परिभाषित किया गया है, जो कमांड चलाएगा:
echo "Hello LinuxScrew!"
लेकिन अब, उस सब को टाइप करने के बजाय, उपनाम चलाया जा सकता है:
say_hello
यहां तक कि इस सरल उदाहरण के लिए, बहुत सारी टाइपिंग बचती है। अधिक जटिल कमांड के लिए, उपनाम बहुत सारी टाइपिंग या लंबी कमांड स्ट्रिंग याद रखने से बचा सकते हैं।
Bash में स्थायी रूप से उपनाम असाइन करना
एक उपनाम स्थायी बनाना चाहते हैं ताकि यह विंडो क्लोजर, लॉगआउट, और रीबूट से बचे? अपने alias कमांड को .bashrc फ़ाइल में जोड़ें ताकि प्रत्येक लॉगिन पर उन्हें पुनः लोड किया जाए:
nano ~/.bashrc
.bashrc फ़ाइल आपके उपयोगकर्ता खाते के लिए Bash शेल के व्यवहार को परिभाषित करती है। बस फ़ाइल के अंत में अपने alias कमांड को जोड़ें, प्रत्येक लाइन पर एक, उन उपनाम कमांड को हर बार लॉग इन करने पर स्वचालित रूप से निष्पादित करने के लिए।
मौजूदा उपनाम सूचीबद्ध करना
-p विकल्प के साथ alias कमांड चलाकर मौजूदा उपनाम सूचीबद्ध करें:
alias -p
उपनाम हटाना
उपनाम हटाने के लिए, unalias का उपयोग करें:
unalias say_hello
सभी उपनाम साफ़ करना
-a विकल्प के साथ alias कमांड चलाकर सभी उपनाम साफ़ करें:
alias -a
Zsh एक्स्ट्रा
जबकि उपरोक्त Zsh शेल में काम करेगा, Zsh में अन्य एलियासिंग विकल्पों का एक गुच्छा भी शामिल है:
https://zsh.sourceforge.net/Intro/intro_8.html
Zsh, Apple के macOS में डिफ़ॉल्ट शेल बनने के कारण लोकप्रियता में बढ़ रहा है। हालांकि, Bash अभी भी अधिकांश Linux ऑपरेटिंग सिस्टम में डिफ़ॉल्ट है, इसलिए मैं भ्रम से बचने के लिए Zsh की अतिरिक्त कार्यक्षमता में बहुत गहराई से नहीं जाऊंगा – वह दूसरे लेख के लिए है!