लिनक्स में टूटे हुए सिमलींक को कैसे खोजें और ठीक करें

अपने सिस्टम पर टूटे हुए सीमलिंक को हटाने के बारे में अधिक जानना चाहते हैं? हो सकता है कि किसी ने आपको बताया हो कि कैसे मृत प्रतीकात्मक लिंक आपके स्टोरेज डिवाइस पर जगह लेते हैं और अब आप अच्छे के लिए उनसे छुटकारा पाना चाहते हैं।

सौभाग्य से, प्रतीकात्मक लिंक प्रबंधित करने के लिए कई यूटिलिटी उपलब्ध हैं जिन्हें आप अपने लिनक्स कंप्यूटर पर डाउनलोड कर सकते हैं। ये उपकरण आपको टूटे हुए नरम लिंक खोजने और उन्हें स्थायी रूप से ठीक करने में भी मदद करेंगे।

यहां हम चर्चा करेंगे कि आप कैसे अपने सिस्टम पर टूटे हुए प्रतीकात्मक लिंक को रिपोर्ट कर सकते हैं और सिमिलिंक का उपयोग करके ठीक कर सकते हैं और कमांड पा सकते हैं

आमतौर पर हर कंप्यूटर सिस्टम में दो तरह के लिंक होते हैं — सॉफ्ट लिंक्स और हार्ड लिंक्स। हार्ड लिंक निर्देशिका प्रविष्टियाँ हैं जो आपके सिस्टम पर मौजूद फ़ाइल के साथ एक विशिष्ट नाम लिंक करती हैं। ये मूल फाइलें हैं जो आपके भंडारण पर एक विशेष पते में संग्रहीत हैं।

दूसरी ओर, सॉफ्ट लिंक टेक्स्ट स्ट्रिंग्स हैं जो दो निर्देशिकाओं या फाइलों को एक-दूसरे से जोड़ते हैं। कार्यक्रम शॉर्टकट प्रतीकात्मक लिंक का एक शानदार उदाहरण हैं। मान लीजिए, फ़ाइल A में फ़ाइल B के साथ एक प्रतीकात्मक लिंक है। इसका मतलब है कि फ़ाइल A, B को दर्ज करने के लिए पूर्ण या सापेक्ष पथ संग्रहीत करेगा।

संबंधित: लिनक्स में एक सिम्कलिन कैसे बनाएं

एक सिमलिंक बनाने के लिए:

  1. अपने कीबोर्ड पर Ctrl + Alt + T दबाकर टर्मिनल लॉन्च करें।
  2. एक नई टेक्स्ट फ़ाइल बनाएँ, जिसका नाम text.txt है
     touch text.txt
  3. आप अभी बनाया है फ़ाइल (text.txt) के साथ एक और पाठ फ़ाइल (another.txt) लिंक।
     ln -s text.txt another.txt

आपने सिर्फ प्रतीकात्मक लिंक का उपयोग करके दो अलग-अलग पाठ फ़ाइलों को एक साथ जोड़ा है। Ln कमांड लिनक्स-आधारित ऑपरेटिंग सिस्टम पर प्रतीकात्मक लिंक बनाने का डिफ़ॉल्ट तरीका है। उपर्युक्त आदेश में -s प्रतीकात्मक लिंक के लिए खड़ा है।

संबंधित: लिनक्स में ls कमांड का उपयोग कैसे करें

प्रतीकात्मक लिंक के साथ प्रमुख समस्या यह है कि यदि आप लक्ष्य फ़ाइल को हटाते हैं या स्थानांतरित करते हैं, तो प्रतीकात्मक लिंक स्वचालित रूप से हटाया नहीं जाता है। इसके बजाय, लिंक अब एक फ़ाइल की ओर इशारा करता है जो आपके सिस्टम पर भी मौजूद नहीं है। ऐसे लिंक को झूलने, टूटने, अनाथ या मृत लिंक के रूप में जाना जाता है।

सबसे पहले, आपको यह पुष्टि करने की आवश्यकता है कि सिस्टम में एक प्रतीकात्मक लिंक मौजूद है। आप आसानी से ll और grep कमांड का उपयोग कर सकते हैं।

 ll | grep txt

उपरोक्त आदेश आपके वर्तमान कार्य निर्देशिका में पाठ फ़ाइलों से जुड़े सभी सिम्बलिंक को सूचीबद्ध करेगा।

अब, यदि हम पेरेंट टेक्स्ट फ़ाइल ( text.txt ) को हटाकर हमारे द्वारा बनाए गए सिमलिंक को तोड़ते हैं :

 rm text.txt

सिमलिंक टूट जाएगा और आपके सिस्टम से हटाया नहीं गया है। आप ll टाइप करके इसकी पुष्टि कर सकते हैं | फिर से अपने टर्मिनल में grep txt कमांड।

हालाँकि टूटे हुए सिम्बल की एक जोड़ी आपके कंप्यूटर को कोई नुकसान नहीं पहुँचाएगी, लेकिन यह धीरे-धीरे कुछ ही समय में एक हजार हो सकता है। इसीलिए अपने सिस्टम पर लटकते लिंक पर नजर रखने की जरूरत है।

इन टूटे हुए सिम्बल को ठीक करने का एकमात्र तरीका उन्हें हटाना है। आपके सिस्टम में सैकड़ों झूलने वाले लिंक हैं और किसी के पास इन लिंक को मैन्युअल रूप से जांचने का समय नहीं है। ऐसे मामलों में, लिनक्स उपकरण और कमांड वास्तव में मददगार साबित होते हैं।

Symlinks एक शक्तिशाली उपयोगिता है जो आपको उन सभी उपकरणों के साथ प्रदान करती है, जिन्हें आपको अपने सिस्टम पर टूटे हुए सीमलिंक को प्रबंधित करने और ठीक करने की आवश्यकता होती है। चूंकि यह डिफ़ॉल्ट रूप से अधिकांश लिनक्स वितरण पर स्थापित नहीं है, इसलिए आपको इसे मैन्युअल रूप से इंस्टॉल करना होगा।

आर्क लिनक्स पर पैकेज को स्थापित करने के लिए आप Pacman का उपयोग कर सकते हैं:

 sudo pacman -S symlinks

फेडोरा पर:

 sudo dnf install symlinks

CentOS पर:

 sudo yum install symlinks

डेबियन आधारित वितरण पर:

 sudo apt-get install symlinks

यदि आप उबंटू चला रहे हैं, तो सिम्बलिंक पैकेज स्थापित करने से पहले, आपको अपने सिस्टम की रिपॉजिटरी सूची में ब्रह्मांड रिपॉजिटरी को जोड़ना होगा।

 sudo add-apt-repository universe

आपके द्वारा सफलतापूर्वक सिमलिंक स्थापित करने के बाद, आपको अपने सिस्टम पर अनाथ लिंक के लिए जाँच करने की आवश्यकता है। ऐसा करने के लिए, दर्ज करें:

 symlinks .

। (डॉट) वर्ण वर्तमान कार्य निर्देशिका को संदर्भित करता है। यदि आप अपने / होम डायरेक्टरी में टूटे हुए सिम्बल को रिपोर्ट करना चाहते हैं, तो आप इसे टाइप करके देख सकते हैं:

 symlinks /home

यदि आपके सिस्टम पर एक टूटी हुई लिंक मौजूद है, तो आपको एक आउटपुट मिलेगा जो कुछ इस तरह दिखता है।

 dangling: /home/sharmadeepesh/another.txt -> test.txt

रिपोर्ट किए गए सिम्लिंक को जल्दी से हटाने के लिए, आप डिफ़ॉल्ट कमांड के साथ -d फ्लैग का उपयोग कर सकते हैं।

 symlinks -d .

/ होम डाइरेक्टरी में झूलते सिम्बलिंक्स को हटाने के लिए, दर्ज करें:

 symlinks -d /home

इस बार, आउटपुट न केवल टूटे हुए लिंक को सूचीबद्ध करेगा, बल्कि यह भी रिपोर्ट करेगा कि लिंक अब हटा दिया गया है।

 dangling: /home/sharmadeepesh/another.txt -> test.txt
deleted: /home/sharmadeepesh/another.txt -> test.txt

रिपोर्ट और रिकर्सिवली एक दिया निर्देशिका में टूट सांकेतिक लिंक हटाते हैं, तो डिफ़ॉल्ट आदेश, जहाँ d हटाने के लिए खड़ा है और आर पुनरावर्ती के लिए खड़ा के साथ डॉ ध्वज का उपयोग करें।

 symlinks -dr .

Find कमांड का

खोजने के आदेश हर Linux सिस्टम पर पहले से इंस्टॉल आता। जैसा कि नाम से पता चलता है, आप इस कमांड का उपयोग करके फ़ोल्डर्स और फ़ाइलों को खोज सकते हैंखोज आदेश आपको अपने सिस्टम पर मृत सॉफ्ट लिंक को आसानी से रिपोर्ट करने और हटाने की अनुमति देता है।

अपनी वर्तमान कार्यशील निर्देशिका में टूटे हुए प्रतीकात्मक लिंक को सूचीबद्ध करने के लिए, टाइप करें:

 find . -xtype l

अपने सिस्टम पर किसी अन्य निर्देशिका में मौजूद टूटे हुए लिंक को खोजने के लिए, बस को प्रतिस्थापित करें । (डॉट) निर्देशिका पथ के साथ चरित्र। निम्न आदेश / होम निर्देशिका में टूटे हुए लिंक के लिए खोज करेंगे।

 find /home -xtype l

आप उन टूटे हुए सिम्बल को भी सूचीबद्ध कर सकते हैं जो आपके सिस्टम द्वारा उपयोग नहीं किए जाते हैं।

 find . -xtype l ! -exec test -e {} ; -print

जाँच करने के लिए कि ये टूटे हुए लिंक कहाँ हैं, का उपयोग करें:

 find . -xtype l -exec ls -l {} +

आपके सिस्टम पर टूटे प्रतीकात्मक लिंक की मात्रा के आधार पर, आपको एक आउटपुट मिलेगा जो कुछ इस तरह दिखता है।

 lrwxrwxrwx 1 root root 19 Feb 21 11:53 /home/sharmadeepesh/another.txt -> /home/sharmadeepesh/text.txt

इसके अलावा, आप निम्न कमांड के साथ एक बार में टूटे हुए प्रतीकात्मक लिंक को हटा सकते हैं।

 sudo find . -xtype l -delete

मृत लिंक को हटाने के लिए एक वैकल्पिक तरीका है:

 sudo find . -xtype l ! -exec test -e {} ; -delete

लिनक्स सिस्टम के लिए प्रतीकात्मक लिंक महत्वपूर्ण हैं क्योंकि वे आपके कंप्यूटर पर पथ रिज़ॉल्यूशन और प्रबंधन की प्रक्रिया को आसान बनाते हैं। लेकिन अगर ध्यान नहीं दिया जाता है, तो टूटी हुई प्रतीकात्मक कड़ियाँ आपके सिस्टम स्टोरेज का एक बड़ा हिस्सा ले सकती हैं और आपको इसके बारे में पता भी नहीं चलेगा। ऐसी स्थितियों में, सहानुभूति और ढूंढने जैसी सुविधाएं खेलने में आती हैं।

यदि आप एक शुरुआत कर रहे हैं और लिनक्स में अपनी विशेषज्ञता में सुधार करना चाहते हैं, तो हर समय नए कमांड सीखना और फिर से जाना सही तरीका है। उपयोगकर्ताओं को पता होना चाहिए कि किसी दिए गए स्थिति को कुशलता से हल करने के लिए उन्हें किस कमांड की आवश्यकता है।