सवाल मुलायम (प्रतीकात्मक) लिंक और हार्ड लिंक के बीच क्या अंतर है?


मैंने सुना है कि अब आप कर सकते हैं Vista में भी सॉफ्ट लिंक बनाएँ। तो, मुलायम (प्रतीकात्मक) लिंक और यूनिक्स / लिनक्स / विस्टा पर एक कठिन लिंक के बीच क्या अंतर है?

क्या दूसरे पर एक का उपयोग करने के फायदे हैं? या वे सिर्फ दो अलग-अलग उद्देश्यों की सेवा करते हैं?


55
2018-05-20 20:58


मूल


व्यावहारिक शब्दों में, जवाब यह है कि आप लगभग हमेशा प्रतीकात्मक लिंक का उपयोग करना चाहते हैं। मेरी समझ यह है कि हार्ड लिंक ज्यादातर जगह को संरक्षित करने के लिए होते हैं, खासतौर पर स्नैपशॉट्स और बढ़ते बैकअप जैसी चीजों में, जहां लगातार स्नैपशॉट्स में कई समान फाइलें होती हैं जो भविष्य में बदलने की संभावना नहीं होती हैं। - Ryan Thompson
क्या इसे यूनिक्स और लिनक्स में माइग्रेट किया जाना चाहिए? देख unix.stackexchange.com/questions/9575/... - ripper234
नहीं, इसे माइग्रेट नहीं किया जाना चाहिए। चूंकि मूल प्रश्न केवल यूनिक्स के लिए विशिष्ट नहीं है - विंडोज हार्ड और सॉफ्ट लिंक का समर्थन करता है। - Richard West
कुछ अनुप्रयोग तोड़ेंगे (और कभी-कभी बुरी तरह) यदि आप मुलायम लिंक का उपयोग करते हैं - विशेष रूप से निर्देशिकाओं के लिए: सॉफ्टलिंक को संदर्भित किया जाएगा, और जब यह होता है और एप्लिकेशन तुलना करता है, तो कहें /var/opt/log/appname (इसकी कॉन्फ़िगरेशन) dereferenced मान के साथ, कहते हैं /apps/appname/logs, यह शिकायत करेगा कि यह एक मैच नहीं है। इसके लिए फिक्स का उपयोग करना है mount --bind (लिनक्स पर) मूल निर्देशिका को नए स्थान पर पुनर्स्थापित करने के लिए। - warren
बस अन्य उत्तरों में शामिल कुछ बिंदुओं को साफ़ करने के लिए ... विंडोज हार्डलिंक्स बना सकता है (हालांकि मुझे लगता है कि वे यूनिक्स की तुलना में थोड़ा अलग व्यवहार करते हैं)। Mklink कमांड और एच तर्क पर एक नज़र डालें। (यदि आप कमांड लाइन में mklink टाइप करते हैं तो आपको सहायता फ़ाइल दिखाई देगी जिसमें मूल वाक्यविन्यास शामिल है।)


जवाब:


एक कठिन लिंक परंपरागत रूप से एक ही फाइल सिस्टम संरचनाओं (यूनिक्सस्पीक में इनोड) साझा करता है, जबकि सॉफ्ट-लिंक एक पथनाम रीडायरेक्ट होता है।

  • हार्डलिंक्स एक ही फाइल सिस्टम पर होना चाहिए, सॉफ्टलिंक फाइल सिस्टम को पार कर सकते हैं।
  • हार्डलिंक्ड फाइलें तब भी लिंक रहती हैं, भले ही आप उनमें से किसी एक को स्थानांतरित करें (जब तक कि आप कॉपी-एंड-डिलीट तंत्र को ट्रिगर करने वाले किसी अन्य फ़ाइल सिस्टम में नहीं जाते)। अगर आप लक्ष्य (मूल) को स्थानांतरित करते हैं, और कभी-कभी जब आप लिंक को स्थानांतरित करते हैं तो सॉफ़्टलिंक्ड फ़ाइलें तोड़ती हैं (क्या आपने पूर्ण या सापेक्ष पथ का उपयोग किया था? क्या यह अभी भी मान्य है?)।
  • हार्डलिंक्ड फाइलें सह-बराबर होती हैं, जबकि मूल सॉफ्टलिंक में विशेष होती है, और मूल को हटाने से डेटा हटा दिया जाता है। डेटा तब तक नहीं जाता है सब हार्डलिंक्स हटा दिए गए हैं।
  • सॉफ़्टलिंक्स इंगित कर सकते हैं कोई भी लक्ष्य, लेकिन अधिकांश ओएस / फाइल सिस्टम फाइल सिस्टम ग्राफ़ में चक्र को रोकने के लिए हार्डलिंकिंग निर्देशिकाओं को अस्वीकार करते हैं (अपवाद के साथ) . तथा .. यूनिक्स निर्देशिका में प्रविष्टियां जो हार्ड लिंक हैं)।
  • सॉफ़्टलिंक्स को फाइल सिस्टम चलने वाले टूल से विशेष समर्थन की आवश्यकता हो सकती है। इस पर पढ़े रीडलिंक (2)

(कुछ विवरण वापस दिमाग में लाया mat1t। धन्यवाद।)


66
2018-05-20 21:12



अच्छा सारांश प्रत्येक लिनक्स उपयोगकर्ता को यह पता होना चाहिए (हालांकि हार्ड लिंक बहुत असामान्य हैं)। - Artem Russakovskii
डीएमकी का जवाब अर्थशास्त्र के बारे में विवरण काफी सटीक है। एकमात्र विस्तार जो मैं जोड़ता हूं वह एक उच्च स्तर पर क्या होता है इसका एक स्पष्टीकरण है: एक सॉफ्ट लिंक एक फ़ाइल है, जबकि एक हार्ड लिंक मौजूदा डेटा को इंगित करने वाली निर्देशिका प्रविष्टि है। विकिपीडिया के बारे में अधिक जानकारी है कठिन तथा मुलायम लिंक। - Mr. Shiny and New 安宇
अच्छा योग, बहुत उपयोगी - Razique
यह भी ध्यान दिया जाना चाहिए कि हार्ड लिंक अनुमतियों के साथ ही स्वामित्व जानकारी साझा करते हैं। - Corey S.
कृपया उस 2 हार्डलिंक स्वचालित रूप से नाम के साथ बनाए गए हैं। और .. हर बार जब आप एक फ़ोल्डर बनाते हैं। लिनक्स में कि वे फ़ोल्डर के लिए एकमात्र मान्य हार्डलिंक्स हैं। - Mircea Vutcovici


सारांश यह है कि एक प्रतीकात्मक / लघु लिंक पहली फ़ाइल के स्थान पर शॉर्टकट के रूप में कार्य करता है, जबकि हार्डलिंक डिस्क पर फ़ाइल का शॉर्टकट होता है।

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

कुछ प्रतिबंध भी हैं, उदाहरण के लिए मुझे नहीं लगता कि आप फ़ोल्डरों के कड़े लिंक बना सकते हैं, लेकिन आप उनमें से मुलायम लिंक बना सकते हैं। सॉफ्ट लिंक विभिन्न ड्राइव और विभाजन पर फ़ाइलों / फ़ोल्डर्स को इंगित कर सकते हैं जबकि हार्ड लिंक नहीं कर सकते हैं।


10
2018-05-20 21:12





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

तो सवाल गलत धारणा के साथ शुरू हुआ। हां, विस्टा सॉफ्टलिंक्स का उपयोग करता है, लेकिन यह नया नहीं है, यह एक एमएस शॉर्टकट है।


-1
2018-04-18 18:20



नहीं, एनटीएफएस हार्डलिंक्स का समर्थन करता है और तब से एनटीएफएस 3.1 (एक्सपी / 2003 के बाद से मौजूदा संस्करण) है। - Chris S