<पी> लिनक्स उपनाम आपको लंबे, त्रुटि-प्रवण कमांड को छोटे, सार्थक शब्दों से बदलने देते हैं जो आपके काम करने के तरीके से मेल खाते हैं। आदेशों को दोबारा टाइप करने या सिंटैक्स का दूसरा अनुमान लगाने के बजाय, आप एक ही कीवर्ड के साथ बिल्कुल वही ट्रिगर करते हैं जो आप चाहते हैं। यह गलतियाँ कम करता है, नियमित कार्यों में तेजी लाता है और आपको कमांड लाइन के बजाय काम पर ध्यान केंद्रित रखने में मदद करता है। इस गाइड में, मैं बैश में उपनामों का प्रभावी ढंग से उपयोग करने के व्यावहारिक उदाहरण दिखाऊंगा। <पी> सामग्री तालिका लिनक्स में उपनाम कैसे काम करते हैं
<पी> लिनक्स में कई उन्नत कार्यों के लिए लंबे और जटिल कमांड टाइप करने की आवश्यकता होती है। alias कमांड आपको लंबे कमांड के लिए छोटे, कस्टम नाम बनाने की अनुमति देकर इस प्रक्रिया को सरल बनाता है। उपनाम एक शॉर्टकट के रूप में काम करता है:जब आप उपनाम टाइप करते हैं, तो शेल समान विकल्पों और तर्कों के साथ मूल कमांड चलाता है। आप ये शॉर्टकट स्वयं बना सकते हैं, और कुछ सिस्टम या कुछ एप्लिकेशन में पहले से ही डिफ़ॉल्ट रूप से मौजूद हो सकते हैं। <पी> उपनाम बनाने का मूल सिंटैक्स है: alias short_name='command'
<पी> यहां, short_name उस लंबी कमांड का प्रतिनिधित्व करता है जिसे आप बदलना चाहते हैं। उदाहरण के लिए, आप सामान्यतः ls -lah टाइप करेंगे छिपी हुई फ़ाइलों और मानव-पठनीय आकारों सहित फ़ाइलों की एक विस्तृत सूची प्रदर्शित करने के लिए। हर बार इस पूर्ण कमांड को टाइप करने से बचने के लिए, आप इस तरह एक उपनाम बना सकते हैं: alias ll='ls -lah'
<पी> इसके बाद आपको सिर्फ ll टाइप करना होगा , और शेल स्वचालित रूप से इसे ls -lah से बदल देता है इसे क्रियान्वित करने से पहले.
अपना बैश उपनाम वातावरण सेट करना
<पी> अधिकांश लिनक्स सिस्टम डिफ़ॉल्ट शेल के रूप में जीएनयू बैश का उपयोग करते हैं। बैश में, आप अलग-अलग स्थानों में उपनामों को परिभाषित कर सकते हैं, यह इस पर निर्भर करता है कि आप उन्हें अस्थायी रूप से या स्थायी रूप से काम करना चाहते हैं या नहीं। <पी> एक अस्थायी उपनाम केवल वर्तमान सत्र में काम करता है और जब आप टर्मिनल बंद करते हैं तो गायब हो जाता है। यदि आप चाहते हैं कि हर बार नया टर्मिनल खोलने पर आपके उपनाम उपलब्ध रहें, तो आपको उन्हें कॉन्फ़िगरेशन फ़ाइल में परिभाषित करना चाहिए। स्थायी उपनाम आमतौर पर आपकी होम निर्देशिका में निम्नलिखित फ़ाइलों में से एक में जोड़े जाते हैं: - “.bashrc” (सबसे अधिक उपयोग की जाने वाली फ़ाइल)
- “.bash_aliases” (उपनामों को अलग से व्यवस्थित रखने के लिए उपयोगी)
- “.bash_profile” (लॉगिन शेल के लिए प्रयुक्त)
<पी> एक साफ़ तरीका यह है कि अपने उपनामों को ".bash_aliases" फ़ाइल के अंदर संग्रहीत करें और सुनिश्चित करें कि यह आपकी ".bashrc" फ़ाइल से लोड किया गया है। ऐसा करने के लिए, अपनी ".bashrc" फ़ाइल के अंदर निम्नलिखित पंक्तियाँ जोड़ें (होम फ़ोल्डर में छिपी हुई): if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
<पी> यह कोड जाँचता है कि ".bash_aliases" फ़ाइल मौजूद है या नहीं और इसे स्वचालित रूप से लोड करता है।
<पी> अपने उपनाम जोड़ने या संपादित करने के बाद, निम्न आदेश चलाकर कॉन्फ़िगरेशन को पुनः लोड करें: source ~/.bashrc
<पी> एक बार जब आप ऐसा कर लेते हैं, तो आपके उपनाम स्थायी हो जाते हैं और प्रत्येक नए टर्मिनल सत्र में उपलब्ध होंगे। उपनामों के साथ पठनीयता और फ़ाइल लिस्टिंग में सुधार
<पी> डिफ़ॉल्ट रूप से, ls कमांड सरल और स्कैन करने में कठिन लग सकता है, खासकर जब बड़ी संख्या में फ़ाइलों से निपट रहा हो। पठनीयता में सुधार और दैनिक उपयोग में तेजी लाने के लिए, आप उपनामों का उपयोग करके इसे फिर से परिभाषित या विस्तारित कर सकते हैं। <पी> उदाहरण के लिए, मैं एक उपनाम बनाता हूं जो स्वचालित रंग आउटपुट को सक्षम बनाता है। इससे निर्देशिकाओं, निष्पादनयोग्यों और अन्य फ़ाइल प्रकारों में अंतर करना बहुत आसान हो जाता है: alias ls='ls --color=auto'
<पी> फिर मैं कुछ और शॉर्टकट जोड़ता हूं जिनका मैं नियमित रूप से उपयोग करता हूं: alias la='ls -A'
alias lt='ls -lhtr'
<पी> अब, la चल रहा है . के बिना फ़ाइलों की पूरी सूची दिखाता है और .. दृश्य को अव्यवस्थित करने वाली प्रविष्टियाँ। lt के साथ , फ़ाइलों को विस्तृत जानकारी के साथ सूचीबद्ध किया जाता है और संशोधन समय के अनुसार उल्टे क्रम में क्रमबद्ध किया जाता है, नवीनतम फ़ाइलों को सबसे नीचे रखा जाता है।
फ़ाइल नेविगेशन शॉर्टकट
<पी> जब मैं लगातार निर्देशिकाओं के बीच नेविगेट कर रहा होता हूं, तो लंबे सापेक्ष पथ टाइप करना निराशाजनक हो जाता है। cd ../../.. जैसे पूर्ण कमांड को बार-बार दर्ज करने के बजाय मैं सरल नेविगेशन शॉर्टकट परिभाषित करता हूं: alias ..='cd ..'
alias ...='cd ../..'
alias ....='cd ../../..'
<पी> अब मैं केवल दो या तीन बिंदुओं का उपयोग करके कई निर्देशिका स्तरों को ऊपर ले जा सकता हूं, जो बहुत तेज़ और आसान है।
<पी> इसी तरह, मैं उन फ़ोल्डरों के लिए सीधे शॉर्टकट बनाता हूं जिन्हें मैं रोजाना एक्सेस करता हूं: alias docs='cd ~/Documents'
प्रतिदिन गिट वर्कफ़्लो के लिए शॉर्टकट
<पी> कुछ Git कमांड जैसे git log --oneline --graph --decorate बार-बार टाइप करने में लंबा समय लगता है, इसलिए मैं उन्हें शॉर्टकट से सरल बनाता हूं: alias gl='git log --oneline --graph --decorate'
alias gs='git status'
alias ga='git add .'
alias gc='git commit -m'
alias gp='git push'
<पी> एक बार जब ये उपनाम स्थापित हो जाते हैं, तो मैं बस gl टाइप करता हूं git log --oneline --graph --decorate के बजाय मेरी प्रतिबद्धताओं का स्पष्ट, संक्षिप्त और दृष्टिगत रूप से संरचित इतिहास शीघ्रता से देखने के लिए। अधिक उन्नत Git-विशिष्ट शॉर्टकट के लिए, आप बैश के बजाय अपनी ".gitconfig" फ़ाइल के अंदर मूल Git उपनाम परिभाषित कर सकते हैं। जोखिम भरे कमांड में एक सुरक्षा परत जोड़ना
<पी> कुछ आदेश, जैसे rm -rf , गलत तरीके से उपयोग किए जाने पर फ़ाइलों को स्थायी रूप से हटा सकता है। इसलिए, मैं इन आदेशों को उपनामों के साथ पुनः परिभाषित करके आकस्मिक दुर्घटनाओं को रोकता हूं: alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
<पी> -i ध्वज कोई भी कार्रवाई करने से पहले पुष्टि के लिए संकेत देता है। पी>
मल्टी-कमांड उपनाम
<पी> उपनाम क्रम में कई कमांड भी चला सकते हैं। उदाहरण के लिए, मैंने एक शॉर्टकट बनाया जो मेरे सिस्टम को अपडेट करता है और सभी पैकेजों को अपग्रेड करता है, लेकिन अपडेट सफल होने पर ही अपग्रेड चलाता है: alias update='sudo apt update && sudo apt upgrade -y'
<पी> आप && का उपयोग कर सकते हैं अगला कमांड तभी चलाएं जब पिछला कमांड सफल हो और ; सफलता की परवाह किए बिना कमांड चलाने के लिए।
उपनामों को व्यवस्थित करना और बनाए रखना
<पी> जैसे-जैसे आपके उपनामों की सूची बढ़ती है, उन्हें व्यवस्थित रखने से उन्हें प्रबंधित करना और अपडेट करना आसान हो जाता है। उदाहरण के लिए, जब भी मैं अपने सभी उपनाम देखना चाहता हूं, तो मैं बस alias चलाता हूं बिना किसी तर्क के आदेश: alias
<पी> और यदि मुझे किसी विशिष्ट की जांच करने की आवश्यकता है, तो मैं alias के साथ शॉर्टकट नाम निर्दिष्ट करता हूं आदेश: alias update
<पी> इसी प्रकार, जब भी मैं वर्तमान सत्र के लिए कोई उपनाम हटाना चाहता हूं, तो मैं unalias का उपयोग करता हूं आदेश: unalias ll
<पी> किसी उपनाम को स्थायी रूप से हटाने के लिए, इसे मेरी ".bashrc" या ".bash_aliases" फ़ाइल से हटा दें और फिर शेल को source ~/.bashrc के साथ पुनः लोड करें आदेश. उपनामों का उपयोग कब नहीं करना चाहिए
<पी> हालाँकि उपनाम उपयोगी होते हैं, वे हमेशा सही समाधान नहीं होते हैं। - उपनामों का विस्तार केवल इंटरैक्टिव शेल सत्रों में किया जाता है। यदि आप अपने टर्मिनल में एक उपनाम परिभाषित करते हैं और फिर इसे शेल स्क्रिप्ट के अंदर उपयोग करने का प्रयास करते हैं, तो यह आमतौर पर काम नहीं करेगा।
- उपनाम केवल निष्पादन से पहले पाठ को प्रतिस्थापित करते हैं। वे
$1 जैसे स्थितीय मापदंडों को संसाधित नहीं करते हैं , $2 , इत्यादि.
- उपनाम सरल कमांड प्रतिस्थापन के लिए डिज़ाइन किए गए हैं। एक बार जब आपको स्थिति जांच, लूप, एकाधिक पैरामीटर या उन्नत तर्क की आवश्यकता होती है, तो उपनामों को प्रबंधित करना मुश्किल हो जाता है।
<पी> सरल शब्दों में, उपनाम सरल, दोहराव वाले आदेशों के लिए सर्वोत्तम हैं। तर्क या पैरामीटर की आवश्यकता वाली किसी भी चीज़ के लिए, इसके बजाय किसी फ़ंक्शन या स्क्रिप्ट का उपयोग करें।