प्रतीकात्मक लिंक को कैसे हटाएं


139

मैं इस प्रतीकात्मक लिंक को बनाने की कोशिश कर रहा था:

sudo ln -s /usr/share/phpmyadmin /var/www/phpmyadmin

लेकिन मैंने गलती से टाइप किया:

sudo ln -s /usr/share/php,yad,in /var/www/phpmyadmin

इसलिए अब मैं इसे सही करना चाहता हूं लेकिन यह कहता है कि प्रतीकात्मक लिंक पहले से मौजूद है।

जवाबों:


165

आप rmसीमलिंक को हटाने के लिए उपयोग कर सकते हैं ।

उदाहरण:

-rw-rw-r-- 1 2014-01-02 09:21 tmo
lrwxrwxrwx 1 2014-01-02 09:21 tmo2 -> tmo

फिर ...

 rm tmo2

सिमलिंक को हटा देगा।


1
अनुमति नहीं मिली। यह वही है जो मैंने पहले टाइप किया था: sudo ln -s / usr / share / php, yad, in / var / www / phpmyadmin
James

6
अनुमति से इनकार: आप जानते हैं कि आपको sudo की आवश्यकता है यदि आप इसे उस स्थिति में उपयोग करना चाहते हैं जो आपके पास फ़ाइल नहीं है? वह 'आरएम' के लिए भी जाता है।
रिनजविंड

2
मैंने इसे rm / usr / bin / python किया और ubuntu से मेरा अजगर हटा दिया: S

2
@RaheelKhan नहीं तुमने नहीं किया-आपने एक SYMLINK को हटा दिया। पाइथन हालांकि इस सिम्लिंक पर निर्भर करता है। यदि आप फिर से बनाते हैं कि सिमिलिंक पायथन वापस आ जाएगा।
रिनविविंड

1
मैं इस कमांड की कोशिश करता हूं, लेकिन ऐसा लगता है कि मेरी फाइल को हटा दिया गया है, मैं अपनी फाइल नहीं हटाना चाहता हूं
saeed masoomi

24

आप unlinkकमांड के रूप में अच्छी तरह से कोशिश कर सकते हैं ।
unlinkका एक उपनाम आदेश है rm। इसलिए rm <symlink>उसी तरह काम करेगाunlink <symlink>

यहाँ संदर्भ लिंक है


9
unlinkविशेष रूप से सहानुभूति के साथ कुछ नहीं करना है। Serverfault.com/a/38817/64085
मैथ्यू पढ़ें

@ कुशवर्मा लेकिन यह काम करता है। क्या आपने कोशिश की?
हकुनामी

1
उत्तर सही हो सकता है, लेकिन भ्रमित करेगा newbies
मिट

" unlinkएक उपनाम है rm" [प्रशस्ति पत्र की जरूरत]
mwfearnley

12

मान लीजिए आप करने की कोशिश कर रहे थे:

sudo ln -s /usr/share/phpmyadmin /var/www/phpmyadmin/

लेकिन गलती से किया:

sudo ln -s /usr/share/somethingelse /var/www/phpmyadmin/

इसे ठीक करने के लिए बस उस फ़ोल्डर में नेविगेट करें जहां लिंक है और अनलिंक करें

cd /var/www/phpmyadmin/  
~:# unlink somethingelse

8

आप प्रतीकात्मक लिंक को हटाने के लिए निम्नलिखित का उपयोग करेंगे

sudo rm path/to/the/link

व्याख्या

  • rmकिसी फ़ाइल को निकालने के लिए टर्मिनल कमांड है। rm --helpअधिक विकल्पों के लिए देखें जो इसे ले सकते हैं।
  • sudoका उपयोग किया जाता है क्योंकि प्रतीकात्मक लिंक के साथ बनाया गया था sudo। इसलिए फ़ाइल रूट से संबंधित है और आपका सामान्य उपयोगकर्ता इसे संपादित / हटा नहीं सकेगा क्योंकि इसमें रूट से कम 'पावर' है।
  • path/to/the/link/usr/share/php,yad,inआपकी टिप्पणी पर आधारित होगा ।

अतिरिक्त

इंस्टॉल करने के बाद त्रुटि नहीं मिलने पर इस पोस्ट और phpmyadmin तक पहुंचने के पहले उत्तर के लिए मेरी टिप्पणी देखें ।


आपकी टिप्पणी सामान्य नहीं है। कृपया प्रतीकात्मक लिंक को हटाने के लिए जेनेरिक कमांड का उपयोग हमेशा करें
kushvarma

जेनेरिक का अर्थ है, यह सब कुछ के लिए मान्य होना चाहिए, जैसे आपका कमांड / usr / share / php, yad, के लिए विशिष्ट है, लेकिन यह rm <
symlink

@ कुशवर्मा, धन्यवाद। मैंने उत्तर को और अधिक सामान्य बना दिया है - यह मूल रूप से विशिष्ट था क्योंकि ओपी को फाइल को हटाने के लिए एक मुद्दा लग रहा था
chesedo

1

Necro पोस्ट के लिए क्षमा करें, लेकिन मुझे यह प्रश्न तब मिला जब मैं इस मुद्दे का उत्तर ढूंढ रहा था।

मेरे द्वारा पाया गया एक छोटा चेतावनी यह था कि मैं दौड़ने की कोशिश कर रहा था rmऔर unlinkएक सिम्लिंक पर और मुझे एक त्रुटि मिल रही थी कि यह एक निर्देशिका थी।

$ rm folder_name/
rm: cannot remove ‘folder_name/’: Is a directory
$ unlink folder_name/
unlink: cannot unlink ‘folder_name/’: Not a directory

सीलिंक को हटाने के लिए, मैंने उपयोग किया unlink folder_nameलेकिन यह विफल हो रहा था अगर /उदाहरण के लिए एक अनुगामी था unlink folder_name/क्योंकि यह सोचता है कि यह एक निर्देशिका है, न कि वह फ़ाइल जिसे आप निकालना चाहते हैं।


0

मैं यहाँ अचेत हो गया क्योंकि मुझे एक dpkg-divertऔर नया पैकेज निकालना था , इसे हटाए जाने तक स्थापित न करें।

तो अगर आपने ऐसा कुछ किया है:

sudo dpkg-divert --add --rename --divert /usr/bin/gcc.real /usr/bin/gcc

आपको इसे कुछ इस तरह से हटाने की आवश्यकता है:

sudo dpkg-divert --remove /usr/bin/gcc.real
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.