2011-05-17 12 views
5

लिनक्स में, यदि आपके पास एक फ़ाइल के लिए पथ है जो आप जानते हैं कि एक सिम्लिंक है, तो आप प्रोग्राम के रूप में प्रोग्राम (सी या सी ++ में) को किस प्रकार इंगित करते हैं?आप उस फ़ाइल के पथ को कैसे निर्धारित करते हैं जो एक सिम्लिंक इंगित करता है?

उत्तर

8

readlink कार्य करते हैं। man 2 readlink करें। यह फ़ंक्शन पॉज़िक्स एपीआई का हिस्सा है, इसलिए इसे लगभग किसी भी यूनिक्स पर काम करना चाहिए।

यदि पथ '/' के साथ शुरू होता है, तो यह एक पूर्ण सिम्लिंक है और आपके पास फ़ाइल का पूर्ण पूर्ण पथ है जो यह संदर्भित करता है (जो एक और प्रतीकात्मक लिंक हो सकता है, और आपको प्रक्रिया को फिर से दोहराना होगा) ।

यदि पथ '/' से शुरू नहीं होता है, तो यह एक सापेक्ष लिंक है और सिल्लिंक निर्देशिका में निर्देशिका के सापेक्ष व्याख्या की जाती है। वास्तविक फ़ाइल नाम को समझने के लिए पथ को उचित रूप से संयोजित करने के लिए आप पर निर्भर है।

बेशक

, कभी कभी सिमलिंक जानकारी है कि वास्तव में एक रास्ता नहीं है स्टोर करने के लिए उपयोग किया जाता है। कभी-कभी प्रोग्राम लॉकिंग उद्देश्यों के लिए पीआईडी ​​या ऐसी अन्य जानकारी संग्रहीत करते हैं। एक सिम्लिंक बनाने के लिए कॉल अधिक विश्वसनीय परमाणु संचालन में से एक है जिसे एनएफएस माउंटेड फाइल सिस्टम पर किया जा सकता है।

इसके अलावा, मेरे फेडोरा सिस्टम पर, यदि आप man 7 symlink करते हैं तो आपको सिम्लिंक की लंबी चर्चा, विभिन्न परिस्थितियों में उनके व्यवहार और उन कार्यों के एक छत को प्राप्त किया जाता है जो उन्हें छेड़छाड़ करते हैं या उनसे प्रभावित होते हैं।

5

पीओएसईक्स या बीएसडी सिस्टम पर readlink()

का उपयोग करें