Symlinks वे फाइलें हैं जो सीधे अन्य फाइलों से लिंक होती हैं। लिनक्स सिस्टम में, symlinks शॉर्टकट के रूप में काम करते हैं।
"सिमलिंक" शब्द "सिम्बोलिक" और "लिंक" का एक पोर्टमैंटू है, जो अन्य चीजों के प्रतीकात्मक संदर्भ के रूप में ऐसी फाइलों की उपयोगिता को उजागर करता है।
तथाकथित "हार्ड" लिंक उन फाइलों की कॉपी के रूप में अधिक कार्य करते हैं जिन्हें वे संदर्भित करते हैं बजाय शाब्दिक लिंक के। "सॉफ्ट" या सिम्बोलिक लिंक केवल अपने टारगेट की ओर इशारा करते हैं। इन लिंक्स को हटाने से उन फाइलों पर कोई असर नहीं पड़ता जिन्हें वे इंगित करते हैं, और सुविधा के लिए जितने आवश्यक हों उतने सिमलिंक बनाए जा सकते हैं। यह उन्हें फाइल सिस्टम और पार्टीशन में फाइलों को इंगित करने के लिए बहुत अच्छा बनाता है।
Symlinks के उपयोग
एक सिंगल एप्लिकेशन को अधिक कुशलता से चलाने के लिए फाइल सिस्टम की अंतर्निहित संरचना को बदलना एक गंभीर काम होगा। इसके बजाय, सिमलिंक का उपयोग अक्सर मामलों को सरल बनाने और प्रोग्राम्स के लिए संदर्भ के लिए कृत्रिम फाइल पदानुक्रम बनाने के लिए किया जाता है बिना मूल फाइलों के स्थानों को प्रभावित किए।
सिमलिंक का उपयोग विभिन्न प्रोग्राम्स को समायोजित करना आसान बनाता है, लेकिन यह फाइल सिस्टम के विश्लेषण को भी जटिल बनाता है।
Symlinks के साथ समस्याएं
जब सिमलिंक ठीक से काम कर रहे होते हैं, तो वे एक फाइल का स्पष्ट पथ बताते हैं जो वास्तव में मौजूद होती है। फेल हो रहे सिम्बोलिक लिंक, हालांकि, उन फाइलों की ओर इशारा करते हैं जो मौजूद नहीं हैं या हटा दी गई हैं। ये सिम्बोलिक लिंक मानव यूजर्स और उन प्रोग्राम्स दोनों के लिए भ्रम पैदा करते हैं जो उनकी सटीकता पर निर्भर करते हैं।
यदि सिमलिंक्स द्वारा लक्षित फाइलों को स्वैप आउट किया जाता है, तो लिंक स्वयं नई फाइल की ओर इशारा करता रहता है, इसकी सामग्री को पूरी तरह से अनदेखा करते हुए। यह ब्लाइंड फेथ कार्यक्षमता लिंक चेनिंग और रिलेटिव लिंक्स को एक संभावना बनाती है।
लिंक चेनिंग, विशेष रूप से, साइक्लिक लिंक्स (अनंत लंबाई के लिंक लूप) का कारण बन सकती है यदि एक लिंक दूसरे लिंक को संदर्भित करता है जो बदले में पहले पर वापस इंगित करता है।
ऐसी पहेलियां आवश्यक रूप से केवल मानव हस्तक्षेप द्वारा नहीं लाई जाती हैं; इष्टतम डिवाइस माउंटिंग मानक और कुछ ऑटोमेटेड प्रोसेस "डेड लिंक्स" बनाने में योगदान दे सकते हैं। यह ठीक वही जगह है जहां प्रबंधन तकनीकें काम आती हैं।
Symlinks प्रबंधित करना
लिनक्स सिस्टम में सिमलिंक को संभालने के लिए आसानी से उपलब्ध विभिन्न यूटिलिटी हैं। कोरयूटिल्स में एक डिफ़ॉल्ट समावेश ln है, जो टर्मिनल से ऐसे लिंक्स के निर्माण की सुविधा प्रदान करता है।
हालांकि, सिम्बोलिक लिंक्स को पूरी तरह से प्रबंधित करने के लिए, आपको उन्हें जल्दी से ढूंढने और विश्लेषण करने में सक्षम होना होगा। इस उद्देश्य के लिए विचार करने योग्य एक सरल कमांड-लाइन विकल्प उपयुक्त रूप से symlinks नाम दिया गया है।
हालांकि फेडोरा जैसे कुछ लिनक्स डिस्ट्रो इस टूल के साथ डिफ़ॉल्ट रूप से इंस्टॉल आते हैं, अन्य, जैसे उबंटू, नहीं आते। उबंटू में "Symlinks" इंस्टॉल करने के लिए, बस एक टर्मिनल विंडो खोलें और निम्न दर्ज करें:
sudo apt install symlinks
Symlinks बनाना
लिनक्स में अपने टर्मिनल से सिमलिंक बनाना आसान है। निम्न कोड दर्ज करें, "original-file.txt" को अपने चुने हुए लक्ष्य के नाम और फाइल एक्सटेंशन में बदलें, फिर "linkname" को जो चाहें उसमें बदलें।
ln -s original-file.txt linkname
ln यूटिलिटी लिंक बनाने के लिए है, और जब आप इसे चलाते हैं तो यह ऐसा करेगा। उपरोक्त कमांड में शामिल -s जेनरेटेड लिंक को सिम्बोलिक बनाता है।
रिलेटिव सिम्बोलिक लिंक्स को उसी कमांड में -r जोड़कर भी बनाया जा सकता है:
ln -rs original-file.txt linkname
रिलेटिव लिंक माउंट पॉइंट्स में परिवर्तनों की परवाह किए बिना कार्यात्मक रहते हैं।
Symlinks ढूंढना
ऊपर उल्लिखित Symlinks यूटिलिटी हमें एक दिए गए डायरेक्टरी में सिम्बोलिक लिंक्स ढूंढने का एक सरल तरीका प्रदान करती है। इसके लिए कमांड इस प्रकार है: ("directory-name" को उस डायरेक्टरी के पूर्ण पथ में बदलें जिसे आप खोजना चाहते हैं।)
symlinks -v directory-name
इस कमांड में r जोड़ने से Symlinks को निर्दिष्ट डायरेक्टरी के भीतर फाइलों को रिकर्सिवली जांचने के लिए कहा जाता है। यह निम्न जैसा दिखता है:
symlinks -rv directory-name
रिकर्सन का उपयोग करते समय सावधान रहें यदि आप साइक्लिक लिंक्स के साथ उत्पन्न होने वाली समस्याओं के बारे में चिंतित हैं। साइक्लिक लिंक्स वे लिंक्स हैं जो गलती से खुद पर वापस लूप हो जाते हैं; वे Symlinks यूटिलिटी को हैंग कर सकते हैं क्योंकि यह उनकी अनंत संरचना में रिकर्स करने का प्रयास करता है।
उपरोक्त दिखाए गए कमांड का नॉन-रिकर्सिव संस्करण केवल किसी भी मौजूदा साइक्लिक लिंक्स को "डैंगलिंग" या, दूसरे शब्दों में, टूटा हुआ बताएगा। यह विश्लेषण है जो Symlinks टूल करने में सक्षम है जो इसे वास्तव में ऐसे टूटे हुए लिंक्स को ठीक करने की अनुमति देता है।
Symlinks ठीक करना
एक दिए गए डायरेक्टरी में सिम्बोलिक लिंक्स को ठीक करना Symlinks के साथ अपेक्षाकृत सीधा है। यहां उपयोग करने की कमांड है:
symlinks -cds directory-name
उपरोक्त कमांड एक साथ कई चीजें करती है। यह जो भी एब्सोल्यूट लिंक्स ढूंढता है उन्हें रिलेटिव लिंक्स में बदल देता है, डैंगलिंग लिंक्स को हटा देता है, और "लंबे" लिंक्स (उनके पथ में बहुत सारे "../" वाले लिंक्स) को छोटा कर देता है।
यदि आप इस ऑपरेशन को चलाने के संभावित परिणामों के बारे में अनिश्चित हैं, तो आप बिना कुछ बदले केवल -c क्या करेगा इसका परीक्षण निम्न चलाकर कर सकते हैं:
symlinks -t directory-name
उम्मीद है, अब आपको बेहतर समझ है कि सिम्बोलिक लिंक्स क्या हैं और आप उन्हें कुशलतापूर्वक कैसे प्रबंधित कर सकते हैं। अपने फाइल सिस्टम पर अधिक विशिष्ट ऑपरेशन चलाने के लिए Symlinks यूटिलिटी की बाकी क्षमताओं की जांच करें।