हार्ड लिंक के कुछ विशिष्ट उपयोग क्या हैं?


9

हर कोई जो विंडोज के लिए इस्तेमाल किया गया था, वह कल्पना कर सकता है कि सहानुभूति क्या हैं और उनका उपयोग कैसे किया जाता है। दूसरी ओर, हार्ड लिंक अवधारणा विंडोज के लिए विदेशी है (क्या मैं सही हूं?)।

मैं जानना चाहूंगा कि लिनक्स में हार्ड लिंक के विशिष्ट उपयोग क्या हैं। मैंने पहले से ही विभिन्न पदों को देखा है कि वे कैसे काम करते हैं, इस अंतर का वर्णन करते हैं। जब मैं पूछ रहा हूँ कि कुछ विशिष्ट परिस्थितियाँ क्या होती हैं जब कोई उपयोगकर्ता सहानुभूति के बजाय कठिन लिंक का उपयोग करना बेहतर होगा?


3
यह सवाल यूनिक्स और लिनक्स स्टैकएक्सचेंज पर पूछा गया है: हार्ड लिंक क्यों मौजूद हैं?
फ़्लिकम

जवाबों:


9

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

स्पष्टीकरण:

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


7

हार्ड लिंक की अनुमति ...

  • एक निष्पादन योग्य एक से अधिक नाम रखने के लिए।

    उदाहरण:

    ls -l /bin | grep -v ' 1 ' | sort/binआप के लिए लोगों को सूचीबद्ध करेगा । परिणाम ...

    -rwxr-xr-x 2 root root     63 2010-01-19 21:49 gunzip
    -rwxr-xr-x 2 root root     63 2010-01-19 21:49 uncompress
    -rwxr-xr-x 3 root root  26300 2011-12-12 22:40 bunzip2
    -rwxr-xr-x 3 root root  26300 2011-12-12 22:40 bzcat
    -rwxr-xr-x 3 root root  26300 2011-12-12 22:40 bzip2
    

    3 फ़ाइलों के बजाय bunzip2 bzcat और bzip2 एक ही फ़ाइल का उपयोग करते हैं और फ़ाइल के अंदर भेद किया जाता है कि क्या करना है। कोड सहेजता है और कम कोड का मतलब है कम संभव बग और आसान रखरखाव।

  • एक ही फाइल को कई रास्तों से एक्सेस किया जा सकता है।

    उदाहरण के लिए एक पैकेज मैनेजर लें, जो उस पैकेज के लिए / usr / share / doc / $ packagename डायरेक्टरी बनाता है जो उस डायरेक्टरी के अंदर है और उस डायरेक्टरी के अंदर एक फाइल है जिसे पैकेज की लाइसेंस जानकारी के साथ LICENSE कहा जाता है। एक विशिष्ट लिनक्स सिस्टम पर कई पैकेज जीपीएल लाइसेंस प्राप्त हैं, इसलिए फाइल सिस्टम पर जीपीएल की 200 प्रतियां होने के बजाय केवल एक कॉपी और 199 लिंक हो सकते हैं। ptman @ serverfault

यहाँ हार्ड लिंक क्यों काम करते हैं (और सॉफ्ट नहीं हैं): हार्ड लिंक के सिर्फ 1 को हटाने से फाइल खुद नहीं हटती है।


2
"उदाहरण: एक चाल ( mv) एक प्रति ( cp) + एक निष्कासन ( rm) है।" यह तभी सही है जब स्रोत और गंतव्य अलग-अलग आरोह पर हों। अन्यथा, mvकेवल नाम चलता है, फ़ाइल नहीं।
धान लैंडौ

1
यदि आप तकनीकी जाना चाहते हैं: एमवी इनोड को बदलता है नाम नहीं। लेकिन आप सही हैं: ऐसा लगता है कि उदाहरण आजकल थोड़ा पुराना है और मुझे उदाहरण के रूप में गज़िप का इस्तेमाल करना चाहिए;)
रिनजविंड

3
हम थोड़ा सा विषय छोड़ रहे हैं, लेकिन मैंने अभी इसका परीक्षण किया है। जब तक फ़ाइल उसी माउंट पर बनी रहती है, mvतब तक केवल नाम बदल जाता है; इनोड वही रहता है।
धान लैंडौ

यह वास्तव में यह नहीं समझाता है कि आप सिर्फ़ सिमलिंक का उपयोग क्यों नहीं कर सकते - जिसे आप अतिरिक्त डेटा के कुछ बाइट्स के लिए बचा सकते हैं। इस उत्तर में इसे सही तरीके से संबोधित किया गया है ।
केन तीव्र
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.