एक प्रतीकात्मक लिंक को उस फ़ाइल की प्रतिलिपि के साथ कैसे बदला जाए, जिससे वह लिंक करता है?


15

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

जवाबों:


16
cp --remove-destination "$(readlink <symlink>)" <symlink>

1
त्रुटि "-बैश: एक डेबियन पर्यावरण से निष्पादित होने पर अप्रत्याशित टोकन 'न्यूलाइन' के पास सिंटैक्स त्रुटि।
लिन सॉन्ग यांग

यदि <symlink>किसी रिश्तेदार पथ के लिए एक सिम्लिंक है, तो यह केवल तभी काम करता है यदि <symlink>वर्तमान निर्देशिका में है। आप उपयोग करना चाह सकते हैं readlink -f। या अगर उपयोग कर रहे हैं zsh:cp --remove-destination path/to/symlink(:A) path/to/symlink
स्टीफन चेज़लस

0

तुम यह कर सकते थे:

file=path/to/symlink
{ rm -f -- "$file" && cat > "$file"; } < "$file"

(यह केवल सामग्री को कॉपी करता है, न कि फ़ाइल के मेटाडेटा जैसे अनुमतियाँ और स्वामित्व)।

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