सॉफ्ट (प्रतीकात्मक) लिंक और हार्ड लिंक में क्या अंतर है?


59

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

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


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

क्या इसे यूनिक्स और लिनक्स में स्थानांतरित किया जाना चाहिए? देखें unix.stackexchange.com/questions/9575/...
ripper234

2
नहीं, इसे माइग्रेट नहीं किया जाना चाहिए। चूंकि मूल प्रश्न केवल यूनिक्स के लिए ही विशिष्ट नहीं है - विंडोज हार्ड और सॉफ्ट लिंक का समर्थन करता है।
रिचर्ड वेस्ट

1
कुछ एप्लिकेशन टूटेंगे (और कभी-कभी बुरी तरह से) यदि आप एक नरम लिंक का उपयोग करते हैं - पूरी तरह से निर्देशिकाओं के लिए: सॉफ्टलिंक को आसानी से मिल जाएगा, और जब यह होता है और आवेदन तुलना करता है, तो /var/opt/log/appname(इसके कॉन्फिगरेशन) को डीरिफर्ड वैल्यू के साथ कहें /apps/appname/logs, यह शिकायत करेगा यह मैच नहीं है। mount --bindमूल स्थान को नए स्थान पर हटाने के लिए इसके लिए फिक्स (लिनक्स पर) का उपयोग करना है ।
वॉरेन

1
बस कुछ अन्य बिंदुओं में शामिल बिंदुओं को साफ़ करने के लिए ... विंडोज़ हार्डलिंक बना सकता है (हालांकि मेरा मानना ​​है कि वे यूनिक्स की तुलना में थोड़ा अलग व्यवहार करते हैं)। Mklink कमांड और h तर्क पर एक नज़र डालें। (यदि आप कमांड लाइन में mklink टाइप करते हैं तो आपको हेल्प फाइल दिखाई देगी जिसमें बेसिक सिंटैक्स शामिल है।)

जवाबों:


68

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

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

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


अच्छा सारांश। प्रत्येक लिनक्स उपयोगकर्ता को यह जानना चाहिए (हालांकि हार्ड लिंक बहुत असामान्य हैं)।
आर्टेम रसाकोवस्की

dmckee के उत्तर में शब्दार्थ के बारे में बहुत सटीक विवरण है। एकमात्र विवरण मैं जोड़ूंगा कि उच्च स्तर पर क्या होता है, इसकी एक व्याख्या है: एक नरम लिंक अपने आप ही एक फ़ाइल है, जबकि एक हार्ड लिंक एक निर्देशिका प्रविष्टि है जो मौजूदा डेटा की ओर इशारा करती है। विकिपीडिया में हार्ड और सॉफ्ट लिंक के बारे में अधिक विवरण है ।
श्री शाइनी और न्यू 安 Sh

अच्छा योग, बहुत उपयोगी
23

9
यह भी ध्यान दिया जाना चाहिए कि हार्ड लिंक अनुमतियों के साथ-साथ स्वामित्व की जानकारी साझा करते हैं।
कोरी एस।

6
कृपया यह जोड़ें कि 2 हार्डलिंक स्वचालित रूप से नाम के साथ बनाए गए हैं। और .. हर बार जब आप एक फ़ोल्डर बनाते हैं। लिनक्स में कि वे एक फ़ोल्डर में केवल वैध हार्डलिंक हैं।
मिरिकिया वुटकोविसी

10

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

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

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


-1

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

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


3
नहीं, NTFS हार्डलिंक का समर्थन करता है और NTFS 3.1 (XP / 2003 के बाद से वर्तमान संस्करण) के बाद से है।
क्रिस एस
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.