एंड्रॉयड

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

CentOS 7: सही ढंग से प्रतीकात्मक लिंक निकालें

CentOS 7: सही ढंग से प्रतीकात्मक लिंक निकालें

विषयसूची:

Anonim

एक प्रतीकात्मक लिंक, जिसे सिमलिंक के रूप में भी जाना जाता है, एक विशेष प्रकार की फ़ाइल है जो किसी अन्य फ़ाइल या निर्देशिका की ओर इशारा करती है। यह विंडोज में शॉर्टकट की तरह है। एक सिमलिंक एक फ़ाइल या एक निर्देशिका या एक ही फाइल सिस्टम या विभाजन पर इंगित कर सकता है।

इस गाइड में, हम आपको दिखाएंगे कि rm , unlink और कमांड्स का उपयोग करके लिनक्स / UNIX सिस्टम में प्रतीकात्मक लिंक कैसे हटाएं (हटाएं)।

शुरू करने से पहले

एक सिम्लिंक को हटाने के लिए, आपको उस निर्देशिका पर लेखन अनुमतियाँ रखने की आवश्यकता होती है जिसमें सिम्लिंक शामिल होता है। अन्यथा, आपको "ऑपरेशन की अनुमति नहीं है" त्रुटि मिलेगी।

जब आप एक सिमलिंक को हटाते हैं, तो यह इंगित करता है कि फ़ाइल प्रभावित नहीं होती है।

किसी दिए गए फ़ाइल एक प्रतीकात्मक लिंक है या नहीं, और प्रतीकात्मक लिंक को इंगित करने वाली फ़ाइल या निर्देशिका को खोजने के लिए ls -l कमांड का उपयोग करें।

ls -l /usr/bin/python

lrwxrwxrwx 1 root root 9 Apr 16 2018 /usr/bin/python -> python2.7

पहला वर्ण "l", इंगित करता है कि फ़ाइल एक सिम्लिंक है। "->" प्रतीक उस फ़ाइल को दिखाता है जो सिमलिंक को इंगित करता है।

rm साथ प्रतीकात्मक लिंक निकालें

rm कमांड दिए गए फाइल्स और डायरेक्टरी को हटाता है।

एक सिमलिंक को हटाने के लिए, rm कमांड को एक तर्क के रूप में प्रतीकात्मक लिंक नाम के बाद लागू करें:

rm symlink_name

सफलता पर, कमांड शून्य से बाहर निकलता है और कोई आउटपुट प्रदर्शित नहीं करता है।

rm साथ आप एक से अधिक प्रतीकात्मक लिंक एक साथ हटा सकते हैं। अंतरिक्ष द्वारा अलग किए गए तर्क के रूप में सिम्बलिंक के नाम पास करने के लिए:

rm symlink1 symlink2

सिमलिंक को हटाने से पहले संकेत देने के लिए, -i विकल्प का उपयोग करें:

rm -i symlink_name

टाइप y पुष्टि करने के लिए और Enter दबाएँ।

rm: remove symbolic link 'symlink_name'?

यदि प्रतीकात्मक लिंक किसी निर्देशिका की ओर इशारा करता है, तो अंत में / अनुगामी स्लैश को न जोड़ें। अन्यथा, आपको एक त्रुटि मिलेगी:

rm symlink_to_dir/

rm: cannot remove 'symlink_to_dir/': Is a directory

यदि तर्क का नाम / साथ समाप्त होता है, तो rm कमांड मानता है कि फ़ाइल एक निर्देशिका है। त्रुटि तब होती है, क्योंकि जब -d या -r विकल्प के बिना उपयोग किया जाता है, तो rm निर्देशिकाओं को हटा नहीं सकता है।

सुरक्षित पक्ष पर होने के लिए, rm साथ प्रतीकात्मक लिंक को हटाते समय कभी -r विकल्प। उदाहरण के लिए, यदि आप टाइप करते हैं:

rm -f symlink_to_dir/

लक्ष्य निर्देशिका की सामग्री हटा दी जाएगी।

unlink साथ प्रतीकात्मक लिंक निकालें

unlink कमांड किसी दिए गए फ़ाइल को हटा देता है। rm विपरीत, unlink केवल एक तर्क को स्वीकार करता है।

एक प्रतीकात्मक लिंक को हटाने के लिए, एक तर्क के रूप में सिमिलिंक नाम के बाद unlink कमांड चलाएँ:

unlink symlink_name

यदि कमांड सफलतापूर्वक निष्पादित होता है, तो यह कोई आउटपुट प्रदर्शित नहीं करता है।

सीलिंक नाम के अंत में / अनुगामी स्लैश को न जोड़ें क्योंकि unlink निर्देशिका को हटा नहीं सकता है।

टूटी हुई सांकेतिक लिंक खोजें और हटाएँ

किसी दिए गए निर्देशिका के तहत सभी टूटे हुए प्रतीकात्मक लिंक को खोजने के लिए, निम्नलिखित कमांड चलाएँ:

find /path/to/directory -xtype l

/path/to/directory/symlink1 /path/to/directory/subdir/symlink2

कमांड निर्देशिका और उसके उपनिर्देशिकाओं के तहत सभी टूटे हुए लिंक को सूचीबद्ध करेगा।

find /path/to/directory -maxdepth 1 -xtype l

/path/to/directory/symlink1

एक बार जब आप टूटे हुए सिमलिंक पा लेते हैं, तो आप या तो उन्हें rm साथ मैन्युअल रूप से हटा सकते हैं या find आदेश के -delete विकल्प को unlink या उपयोग कर सकते find :

find /path/to/directory -xtype l -delete

निष्कर्ष

एक प्रतीकात्मक लिंक को हटाने के लिए, rm या unlink कमांड को सिमिलिंक के नाम के बाद एक तर्क के रूप में unlink । जब एक सांकेतिक लिंक को हटाते हैं जो एक निर्देशिका को इंगित करता है, तो सिमिलिंक नाम के पीछे एक अनुगामी स्लैश नहीं जोड़ा जाता है।

आरएम अनलिंक टर्मिनल खोजें