आपके काम कर रहे लिनक्स सिस्टम पर, मान लें कि आपके पास निर्देशिकाओं की कई परतों में नेस्टेड फ़ाइल है। उस फ़ाइल को आसानी से एक्सेस करने के लिए, आप अपने डेस्कटॉप पर उस फ़ाइल के लिए एक शॉर्टकट बनाना चाहते हैं। सिम्लिंक (जिसे सॉफ्ट लिंक भी कहा जाता है) का उपयोग करना संभव है। कड़ी का एक अन्य रूप भी है जिसे हार्ड लिंक के रूप में जाना जाता है। इस लेख में हम सॉफ्ट और हार्ड लिंक के बीच के अंतर को समझाएंगे और देखेंगे कि आपको किसका उपयोग करना चाहिए।
सॉफ्ट बनाम हार्ड लिंक
एक सॉफ्ट लिंक, या सिमलिंक, सिर्फ एक प्रतीकात्मक कड़ी है। यह लक्ष्य फ़ाइलपथ के लिए केवल एक सूचक है। एक सॉफ्ट लिंक इस बात की परवाह नहीं करता है कि फ़ाइलपथ पर फ़ाइल या फ़ोल्डर वास्तव में मौजूद है या नहीं। यदि फ़ाइल या फ़ोल्डर मौजूद नहीं है, तो इसका परिणाम केवल एक टूटी हुई सिमलिंक में होगा। आप सिमलिंक को संपादित या हटा सकते हैं, और यह लक्ष्य फ़ाइल को प्रभावित नहीं करेगा।
दूसरी ओर, एक हार्ड लिंक का लक्ष्य फ़ाइल को एक अतिरिक्त नाम देने का प्रभाव होता है। जब आप एक फ़ाइल की सामग्री को संपादित करते हैं, तो यह दूसरी फ़ाइल की सामग्री को भी संशोधित कर देगी। संक्षेप में, एक सॉफ्ट लिंक लक्ष्य फ़ाइलपथ का केवल एक संदर्भ है, जबकि एक हार्ड लिंक लक्ष्य फ़ाइल के डेटा का एक सीधा लिंक है।
नीचे हम बताएंगे कि सॉफ्ट और हार्ड लिंक कैसे काम करते हैं।
सॉफ्ट लिंक काम कर रहे हैं
मान लें कि हमारे पास "first_file.txt" नाम की एक फ़ाइल है जिसमें टेक्स्ट की चार पंक्तियाँ हैं।
हम अपनी होम डायरेक्टरी में एक सॉफ्ट लिंक बनाएंगे।
ln -s first_file.txt ~/sl-firstfile.txt
गनोम डेस्कटॉप वातावरण में, फ़ाइल पर केवल राइट-क्लिक करके और "लिंक बनाएं" का चयन करके एक फ़ाइल के लिए एक सॉफ्ट लिंक बनाया जा सकता है। एक सॉफ्ट लिंक बनाया जाता है जहां नाम "
अगर हम “sl-firstfile.txt” की सामग्री को देखने का प्रयास करते हैं, तो हम देख सकते हैं कि यह “first_file.txt” जैसा ही है।
अगर हम फाइल मैनेजर में इन दो फाइलों पर एक नजर डालते हैं, तो सॉफ्ट लिंक मूल फाइल के शॉर्टकट के रूप में दिखाई देता है। फ़ाइल के आइकन में काला तीर इसे दर्शाता है।
जब हम ls -l
. कमांड का उपयोग करके वर्तमान निर्देशिका की सूची देखने का प्रयास करते हैं , आप देख सकते हैं कि सॉफ्ट लिंक लक्ष्य फ़ाइल की ओर इशारा कर रहा है। "sl-firstfile.txt" के लिए अनुमति स्ट्रिंग में पहला वर्ण "l" है, जिसका अर्थ है कि यह प्रविष्टि एक लिंक के लिए है।
सॉफ्ट लिंक का विलोपन व्यवहार
जब लक्ष्य फ़ाइल हटा दी जाती है, तब भी सॉफ्ट लिंक आसपास रहेगा।
हालांकि, यह एक "लटकने वाला" या "टूटा हुआ" लिंक बन गया है और बेकार है।
अब, यदि आप इसी नाम से दूसरी फ़ाइल बनाते हैं - "first_file.txt" - तो सॉफ्ट लिंक फिर से सक्रिय हो जाएगा।
नोट :यदि आपको सॉफ्ट लिंक मिलते हैं और आप उस फ़ाइल का संपूर्ण पथ खोजना चाहते हैं जिसके लिए लिंक बनाया गया है, तो बस readlink
का उपयोग करें कमांड जैसा कि नीचे दिखाया गया है।
इस कमांड का आउटपुट मूल फ़ाइल का पूर्ण पथ होगा।
हार्ड लिंक कार्रवाई में हैं
अब हम अपनी होम डायरेक्टरी में उसी फाइल के लिए एक हार्ड लिंक बनाएंगे। यह निम्न आदेश के साथ किया जा सकता है:
ln first_file.txt hl-first-file.txt
नोट :सॉफ्ट और हार्ड लिंक बनाने के तरीके दोनों ln
. का उपयोग करते हैं आज्ञा। अंतर केवल -s
. का है ध्वज जो एक प्रतीकात्मक कड़ी को दर्शाता है।
हार्ड लिंक बनाने का दूसरा तरीका link
. का उपयोग करना है आदेश।
link hl-firstfile.txt hl2-firstfile.txt
दोनों फाइलों की जांच से पता चलता है कि उनकी सामग्री समान है।
जीयूआई में, दोनों फाइलें अलग-अलग संस्थाओं के रूप में दिखाई देती हैं। हार्ड लिंक के अस्तित्व के बारे में कोई संकेत नहीं है।
आइए हम हार्ड लिंक फ़ाइल “hl-firstfile.txt” में एक नई लाइन जोड़ने का प्रयास करें।
echo "hello" >> hl-first-file.txt
डेटा में परिवर्तन दोनों फाइलों में देखा जा सकता है।
जब एक हार्ड लिंक बनाया जाता है, तो ऐसा लगता है जैसे दो अलग-अलग फाइलें मौजूद हैं, लेकिन उनका डेटा जुड़ा हुआ है। एक में परिवर्तन दूसरे में परिलक्षित होता है।
त्वरित युक्ति :सॉफ्ट लिंक और हार्ड लिंक बनाते समय, उसी एक्सटेंशन का उपयोग करना एक अच्छा विचार होगा, जिस फ़ाइल के लिए लिंक बनाया जा रहा है।
हार्ड लिंक का विलोपन व्यवहार
हार्ड लिंक के लिए, मूल फ़ाइल या हार्ड लिंक को हटाना चिंता का विषय नहीं है। डेटा जो प्रारंभ में फ़ाइल में संग्रहीत किया गया था, अब भी हार्ड लिंक के माध्यम से पहुँचा जा सकता है।
सॉफ्ट लिंक कब उपयोगी होंगे?
हमने देखा कि सॉफ्ट लिंक किसी फ़ाइल के लिए शॉर्टकट के रूप में दिखाई देते हैं। जब हमारे पास निर्देशिकाओं की कई परतों के भीतर एक फ़ाइल होती है और इसे आसान पहुंच के लिए किसी स्थान पर संग्रहीत करना चाहते हैं, तो एक अच्छा विकल्प इसके लिए एक छोटा लिंक बनाना होगा।
हार्ड लिंक कब उपयोगी होंगे?
हमने देखा है कि एक बार फ़ाइल के लिए एक हार्ड लिंक बन जाने के बाद, फ़ाइल में कोई भी परिवर्तन या हार्ड लिंक दोनों में परिलक्षित होता है।
मान लें कि आपके पास एक बैकअप सर्वर है। एक वृद्धिशील बैकअप तंत्र का उपयोग किया जा रहा है जहां पिछले बैकअप के बाद से केवल फाइलों/फ़ोल्डरों में परिवर्तन परिलक्षित होते हैं। आप सर्वर में फ़ाइल और कंप्यूटर में संबंधित प्रतिलिपि के बीच एक हार्ड लिंक बना सकते हैं। जब बैकअप होता है, तो कंप्यूटर में फ़ाइल में परिवर्तन स्वचालित रूप से सर्वर में संबंधित हार्ड-लिंक्ड फ़ाइल में दिखाई देगा, भले ही फ़ाइलों में नाम परिवर्तन हो।
निष्कर्ष
सॉफ्ट और हार्ड लिंक दोनों के अपने-अपने उपयोग हैं और विभिन्न स्थितियों में इनका उपयोग किया जाना चाहिए। उनके मतभेदों को समझने से आप लिंक बनाते समय बेहतर निर्णय ले सकते हैं। निर्देशिकाओं के लिए भी सॉफ्ट लिंक और हार्ड लिंक बनाए जा सकते हैं। जबकि सॉफ्ट लिंक पूरे फाइल सिस्टम में बनाए जा सकते हैं, हार्ड लिंक केवल उसी फाइल सिस्टम के भीतर ही बनाए जा सकते हैं।