संपूर्ण पथ स्ट्रिंग टाइप किए बिना वर्तमान निर्देशिका को एक निरपेक्ष पथ से जोड़ने का सबसे आसान तरीका है
ln -s "$(pwd)/foo" ~/bin/foo_link
target
(प्रथम) के लिए तर्क ln -s
आदेश प्रतीकात्मक कड़ी का स्थान नहीं, बल्कि आपके वर्तमान निर्देशिका के सापेक्ष काम करता है। यह जानने में मदद करता है कि, अनिवार्य रूप से, बनाया गया सिमलिंक (दूसरा तर्क) आपके पास पहले तर्क के लिए प्रदान किए गए पाठ को रखता है।
इसलिए, यदि आप निम्न कार्य करते हैं:
cd some_directory
ln -s foo foo_link
और फिर उस लिंक को चारों ओर घुमाएं
mv foo_link ../some_other_directory
ls -l ../some_other_directory
आप देखेंगे कि यह उस निर्देशिका में इंगित करने का foo_link
प्रयास करता है foo
जिसमें यह निवास कर रहा है। यह सापेक्ष रास्तों की ओर संकेत करते हुए प्रतीकात्मक लिंक के साथ भी काम करता है। यदि आप निम्न कार्य करते हैं:
ln -s ../foo yet_another_link
और फिर yet_another_link
किसी अन्य निर्देशिका में जाएं और जांचें कि यह कहां इंगित करता है, आप देखेंगे कि यह हमेशा इंगित करता है ../foo
। यह इच्छित व्यवहार है, क्योंकि कई बार प्रतीकात्मक लिंक एक निर्देशिका संरचना का हिस्सा हो सकते हैं जो विभिन्न निरपेक्ष पथों में निवास कर सकते हैं।
आपके मामले में, जब आप टाइप करके लिंक बनाते हैं
ln -s foo ~/bin/foo_link
foo_link
बस foo
इसके स्थान के सापेक्ष एक लिंक रखता है । लाना $(pwd)
लक्ष्य तर्क के नाम के सामने बस वर्तमान कार्यशील निर्देशिका के निरपेक्ष पथ कहते हैं, जिससे वे सभी एक निरपेक्ष लक्ष्य के साथ बनाया जाता है।