यह ट्यूटोरियल बताता है कि कैसे सिम्बलिंक (प्रतीकात्मक लिंक) बनाया जाता है, जिसे लिनक्स में ln कमांड का उपयोग करके "सॉफ्ट लिंक्स" के रूप में भी जाना जाता है।
यदि आप Windows ऑपरेटिंग सिस्टम का उपयोग करके किसी पृष्ठभूमि से Linux में आ रहे हैं, तो आप शॉर्टकट की अवधारणा से परिचित होंगे। - ऐसी फ़ाइलें जिनमें कोई वास्तविक डेटा नहीं होता है और जिसमें उस वास्तविक फ़ाइल या फ़ोल्डर का लिंक होता है जिसे आप एक्सेस करना चाहते हैं।
वे केवल आपकी सुविधा के लिए मौजूद हो सकते हैं (नेस्टेड फ़ोल्डरों के माध्यम से क्लिक करने में समय बचाने के लिए) या आउटपुट को पुनर्निर्देशित करने के लिए (आपके पास एक हार्ड-कोडेड निर्देशिका वाला एक प्रोग्राम है जिसमें यह फाइलों को आउटपुट करता है, और आप उन्हें कहीं और भेजना चाहते हैं)।पी>
लिनक्स में सॉफ्ट लिंक्स (सिम्लिंक) अनिवार्य रूप से एक ही उद्देश्य की पूर्ति करते हैं।
हार्ड लिंक बनाम सॉफ्ट लिंक
- सॉफ्ट लिंक्स (प्रतीकात्मक लिंक या सिम्लिंक के रूप में भी जाना जाता है ) फ़ाइल सिस्टम पर किसी अन्य फ़ाइल या फ़ोल्डर के स्थान को देखें।
- इसलिए, अगर फ़ाइल सॉफ्ट लिंक की गई है से हटा दिया गया है, तो सॉफ्ट लिंक अर्थहीन है क्योंकि यह एक ऐसी फ़ाइल की ओर इशारा करता है जो मौजूद नहीं है।
- चूंकि सॉफ्ट लिंक लिंक की गई फ़ाइल स्थान का केवल एक संदर्भ है, वे विभिन्न फाइल सिस्टम पर मौजूद हो सकते हैं।
- लिंक और लिंक के बीच अनुमतियां साझा नहीं की जाती हैं।
- हार्ड लिंक लिंक की गई फ़ाइल की मिरर कॉपी हैं - दोनों कॉपी स्टोरेज डिवाइस पर एक ही डेटा को संदर्भित करती हैं।
- इसलिए, हार्ड-लिंक की गई फ़ाइल को हटाने से डेटा नहीं हटेगा - डेटा का अन्य "हार्ड लिंक" अभी भी फ़ाइल सिस्टम में फ़ाइल के रूप में मौजूद रहेगा।
- फाइल सिस्टम कितने संदर्भों की गणना करेगा डिस्क पर फ़ाइल के लिए हैं। जब सभी हार्ड लिंक हटा दिए जाते हैं, तो वह गिनती 0 (शून्य) होगी। जब गिनती शून्य पर पहुंच जाती है, तो फ़ाइल हटा दी जाती है और डेटा स्थान को डी-आवंटित कर दिया जाएगा ताकि इसका उपयोग अन्य फ़ाइलों को संग्रहीत करने के लिए किया जा सके।
- चूंकि वे एक ही डेटा के दो संदर्भ हैं, वे एक ही फाइल सिस्टम पर मौजूद होने चाहिए।
- अनुमतियां साझा की जाती हैं - लिंक और लिंक दोनों डिस्क पर एक ही फ़ाइल दो स्थानों से संदर्भित की जा रही हैं।
- इसलिए, हार्ड-लिंक की गई फ़ाइल को हटाने से डेटा नहीं हटेगा - डेटा का अन्य "हार्ड लिंक" अभी भी फ़ाइल सिस्टम में फ़ाइल के रूप में मौजूद रहेगा।
सिंटैक्स
ln [OPTIONS] SOURCE_PATH LINK_PATH
ध्यान दें कि:
- फ़ाइलों और फ़ोल्डरों दोनों का उपयोग SOURCE_PATH के रूप में किया जा सकता है
- सॉफ्ट लाइक LINK_PATH पर बनाया जाएगा
विकल्प
आप निम्न विकल्पों को ln . पर पास कर सकते हैं आदेश:
-F | यदि प्रस्तावित लिंक (link_name) पहले से मौजूद है और एक निर्देशिका है, तो उसे हटा दें ताकि लिंक हो सके। -F विकल्प का उपयोग या तो -f या -i विकल्पों के साथ किया जाना चाहिए। यदि कोई निर्दिष्ट नहीं है, -f निहित है। -F विकल्प एक नो-ऑप है जब तक कि -s विकल्प निर्दिष्ट न हो। |
-h | यदि link_name या link_dirname एक सांकेतिक लिंक है, तो उसका अनुसरण न करें। यह एक सिमलिंक को बदलने के लिए -f विकल्प के साथ सबसे उपयोगी है, जो एक निर्देशिका को इंगित कर सकता है। |
-f | यदि प्रस्तावित लिंक (link_name) पहले से मौजूद है, तो उसे अनलिंक करें ताकि लिंक हो सके। (-f विकल्प किसी भी पिछले -i विकल्पों को ओवरराइड करता है।) |
-i | यदि प्रस्तावित लिंक मौजूद है तो ln को मानक त्रुटि के लिए एक संकेत लिखने का कारण बनता है। यदि मानक इनपुट से प्रतिक्रिया y या Y वर्ण से शुरू होती है, तो प्रस्तावित लिंक को अनलिंक करें ताकि लिंक हो सके। अन्यथा, लिंक का प्रयास न करें। (-i विकल्प किसी भी पिछले -f विकल्पों को ओवरराइड करता है।) |
-n | -h के समान, अन्य ln कार्यान्वयनों के साथ संगतता के लिए। |
-s | एक प्रतीकात्मक लिंक बनाएं। |
-v | एलएन को वर्बोज़ होने के कारण, फ़ाइलों को संसाधित होने के रूप में दिखा रहा है। |
ls . के लिए ये विकल्प और पूर्ण विवरण उपयोगकर्ता मैनुअल में कमांड को चलाकर पाया जा सकता है:
man ls
उदाहरण
एक साधारण प्रतीकात्मक लिंक बनाने का प्रदर्शन करने के लिए (सिम्लिंक संक्षेप में), हम एक फ़ाइल बना सकते हैं:
touch test_file.txt
तब हम एक सॉफ्ट लिंक . बना सकते हैं इसके लिए:
ln -s test_file.txt link_to_test_file
आप लिंक को चलाकर सत्यापित कर सकते हैं:
ls -l
जो कुछ इस तरह आउटपुट करेगा:
-rw-r--r-- 1 user staff 0 2 Jan 01:31 test_file.txt lrwxr-xr-x 1 user staff 9 2 Jan 01:32 link_to_test_file -> test_file.txt
ध्यान दें कि:
- पहले कॉलम के अक्षर फ़ाइल या फ़ोल्डर प्रकार और अनुमतियों का प्रतिनिधित्व करते हैं
- निम्नलिखित संख्या निहित फाइलों की संख्या है
- उपयोगकर्ता/कर्मचारी उपयोगकर्ता/समूह हैं जिनके पास फ़ाइल या फ़ोल्डर की अनुमति है
- फ़ाइल के आकार, संशोधन की तारीख और नाम के बाद
- देखें कि l पंक्ति की शुरुआत में? इसका मतलब है कि यह एक लिंक . है
- इसके अतिरिक्त, आप -> . देख सकते हैं अंत में बिट, जो दिखा रहा है कि फ़ाइल test_file.txt से जुड़ी हुई है
- एसओ, यह निश्चित रूप से एक कड़ी है
निष्कर्ष
जब मैं अधिकांश सिस्टम में लॉग इन करता हूं, तो मुझे सीधे उपयोगकर्ता के होम डायरेक्टरी में भेज दिया जाता है। निर्देशिका के पथ को टाइप करने के बजाय, मैं उस दिन काम करना चाहता हूं (उदाहरण के लिए, एक वेब ऐप के लिए फ़ाइलों को होस्ट करने वाली निर्देशिका में जिसे मैं तैनात कर रहा हूं), पहली चीज जो मैं आमतौर पर करता हूं वह है एक नरम बनाना उस फ़ोल्डर से लिंक करें ताकि मुझे हर बार उस पर वापस नेविगेट करने के लिए पूरा पथ टाइप न करना पड़े।
तो, यह बहुत उपयोगी है।
लिनक्स के लिए नया? कुछ कोड सीखकर इसे सीधे उपयोग में लाएं!