मैं अपने शेल से स्थायी रूप से एक उपनाम कैसे निकालूं


28

जब मैं अपने कंप्यूटर के पास नहीं था, तो किसी लड़के ने इसे प्राप्त किया और lsअपने रूट फ़ोल्डर में एक उपनाम स्थापित किया । उसने उसे सेट कर दिया 'yes NeverGonnaGiveYouUp'। तो अब जब मैं अपने रूट फ़ोल्डर में टाइप करता lsहूं और मुझे NeverGonnaGiveYouUp का अनंत लूप मिलता है। यह मुझे पागल कर रहा है और मुझे नहीं पता कि इससे कैसे छुटकारा पाया जाए।

मैं पहले से ही की कोशिश की है unaliasऔर unalias -aलेकिन उन सिर्फ यह अस्थायी रूप से हटा दें। एक बार जब मैं खोल को बंद कर देता हूं और फिर से खोल देता हूं तो यह वापस आ जाता है। मैं इस बकवास से कैसे छुटकारा पाऊं?


2
का उत्पादन क्या है grep -n 'NeverGonnaGiveYouUp' ~/.profile ~/.bashrc /etc/bash.bashrc /etc/profile? आपके शेल और डिस्ट्रो के आधार पर भी देखने के लिए कुछ अन्य फाइलें हैं..लेकिन यह हमें एक शुरुआत देनी चाहिए ..
heemayl

5
ऐसा लगता है कि रिक रोल कर्नेल मॉड्यूल LOL
Moonbutt74

जवाबों:


24

यदि यूलायस मुद्दे को हटाता है (अस्थायी रूप से भी) हमारे पास पुष्टि है कि यह एक उपनाम है। यह ~ / .bashrc में एक अनलिस एलएस जोड़कर "जानवर मजबूर" हो सकता है।

echo "unalias ls" >> ~/.bashrc

कि हर बार bashrc पढ़ने के लिए उत्साहित हो जाएगा और उपनाम हटा देगा।
यह आपको कुछ शांति खरीदेगा लेकिन वास्तविक मुद्दे को हल नहीं करेगा कि कुछ फ़ाइल अभी भी उपनाम को फिर से शुरू करने के लिए कोड युक्त है। आपको यह खोजना होगा कि किस फ़ाइल में समस्या है।

यदि बैश का उपयोग कर रहे हैं:

grep "NeverGonnaGiveYouUp" /etc/profile /etc/bash.bashrc \
      ~/.bashrc ~/.bash_profile ~/.profile \
      /root/.bashrc /root/.bash_profile /root/.profile

यह उन संभावित फ़ाइलों की एक अच्छी सूची है जिन्हें परिभाषा मिली। यदि उस खोज में कुछ भी नहीं दिखता है, या आप कुछ अन्य शेल का उपयोग करते हैं, तो हमें आगे मदद करने के लिए बताएं।


16

unalias कमांड ने चालू लॉगिन सत्र की अवधि के लिए उपनाम को बंद कर दिया। alias को .bashrc फ़ाइल से unalias कमांड द्वारा हटाया नहीं जाता है, जब उपयोगकर्ता फिर से लॉग इन करता है, तो वह उपनाम फिर से प्रभावी होता है।

.bashrc एक छिपी हुई फ़ाइल है, आप टाइप करके उपनाम की सूची देख सकते हैं:

$ alias

शेल कॉन्फ़िगरेशन फ़ाइल की जाँच करें ~ / .bashrc और आप स्थायी रूप से आवश्यक उपनाम हटा सकते हैं:

 vi ~/.bashrc

उपनाम खोजने के लिए:

  $ type --all ls

एक उपनाम निकालें:

unalias gs

मैनुअल पर अधिक

नोट : यूनलिया-ए वर्तमान शेल निष्पादन वातावरण से सभी अन्य परिभाषाओं को हटा देगा।


-1

Ubuntu 16.04 LTS के लिए आप निम्न कमांड का उपयोग कर सकते हैं

cat /dev/null > ~/.bash_aliases

यह ~/.bash_aliasesकेवल lsउर्फ (जो शायद वहाँ भी परिभाषित नहीं किया जा सकता है) में परिभाषित कुछ भी हटा देगा ।
स्टीफन किट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.