अरे हाँ। यदि आप निष्पादित करते ln -s
हैं , तो आप एक प्रतीकात्मक लिंक बनाते हैं, जो एक निश्चित फाइल सिस्टम ऑब्जेक्ट की ओर इशारा करते हुए एक इनोड है , यही वजह है कि सीमलिंक फाइल सिस्टम को आगे बढ़ा सकते हैं और हार्ड लिंक नहीं कर सकते हैं: हार्ड लिंक का अपना इनोड नहीं है।
यदि आप एक फाइलसिस्टम माउंट करते हैं --bind
, तो आप एक डिवाइस या फाइलसिस्टम के लिए दूसरा माउंटपॉइंट बनाते हैं ।
यदि आप एक सिम्लिंक को रीडायरेक्ट के रूप में कल्पना करते हैं, तो --bind
डेटा के लिए एक और प्रवेश द्वार बनाने के रूप में एक माउंटेड फाइल सिस्टम की कल्पना करें।
साइमलिंक और बाइंड माउंट्स एक पूरी तरह से अलग बॉलगेम हैं।
--bind
माउंट में थोड़ा और अधिक मेरे लिए मजबूत लगता है और यह शायद थोड़ा एक सिमलिंक के साथ काम करने की तुलना में तेजी है। दूसरी ओर, सीमलिंक का उपयोग करने के लिए कोई गंभीर कमियां नहीं हैं, क्योंकि प्रदर्शन हिट छोटा होगा (यदि यह बिल्कुल मौजूद है)।
संपादित करें : मैं इस बारे में सोच रहा हूं, और मेरे द्वारा मूल रूप से सोचा गया प्रदर्शन हिट थोड़ा बड़ा हो सकता है। यदि आपके पास एक एप्लिकेशन है जो बहुत सारी अलग-अलग फ़ाइलों को पढ़ता है, तो जो हर नई फ़ाइल खोली जाती है, उसे अतिरिक्त पढ़ने की आवश्यकता होती है। यहाँ कुछ शोध बताते हैं कि मेरी धारणा सही है, इसलिए यदि आपके पास कोई IO भारी एप्लिकेशन चल रहा है, --bind
तो सिम्लिंक समाधान के ऊपर माउंट करने के विकल्प पर विचार करें ।
कारण यह सामान्य नहीं है, शायद यह तथ्य है कि एक सिमलिंक एक में दिखाई देता है ls
, जबकि एक बाइंड माउंट केवल तब दिखता है जब / proc / mounts या / etc / mtab (जो माउंट कमांड करता है, यदि यह है तो मापदंडों के बिना निष्पादित)। इसके अलावा, मुझे नहीं लगता कि कोई मुद्दे हैं। मुझे दिलचस्पी होगी अगर वहाँ रहे हैं, हालांकि।
परिवर्धन : इसके साथ एक और मुद्दा ln -s
यह है कि कुछ अनुप्रयोगों के लिए, जब मार्ग को बंद कर दिया जाता है, तो यह अनुप्रयोग को गंजा करने का कारण बन सकता है अगर यह कुछ वस्तुओं को विशिष्ट स्थानों पर होने की "उम्मीद" करता है।