बल सीम्पींक झूलने पर कॉपी करने के लिए बल


15

क्या किसी cpझूलने वाले सिमलिंक पर नकल करने के लिए (बैश 4.2.5, उबंटू 12.04) को बाध्य करने का कोई तरीका है ?

cp a-file path/to/danling/symlink/a-file
cp: not writing through dangling symlink `path/to/danling/symlink/a-file`

cp -f इस मामले में नपुंसक लगता है और एक ही संदेश में परिणाम है।


क्या आपने cp -fइसके बजाय प्रयोग करने की कोशिश की ?
रोहिथ माधवन

@ रोहितमधवन हां; एक ही संदेश (मैंने अभी-अभी सवाल अपडेट किया है)
मार्कस जुनियस ब्रूटस

जवाबों:


21

बनाओ cpप्रतिलिपि करने से पहले लक्ष्य फ़ाइल को हटा दें:

$ ln -s /random/file f              
$ cp -f a f                  
cp: not writing through dangling symlink ‘f’
$ cp --remove-destination a f
$ diff a f && echo yes
yes

से man cp:

--remove-destination
      remove  each existing destination file before attempting to open
      it (contrast with --force)

2

बस उपयोग unlink theSymLinkजहां theSymLinkवास्तविक सिमलिंक है, फिर पुन: प्रयास


3
यह काम करेगा, लेकिन ध्यान दें कि unlinkआमतौर पर उपयोग किए जाने वाले के समान प्रभाव (और इस प्रकार कोई लाभ नहीं है) rm। विशेष रूप से, जैसे rm foo, unlink fooएक फ़ाइल को fooतब भी हटा देगा जब वह एक नियमित फ़ाइल हो और प्रतीकात्मक लिंक न हो। (या ) के unlinkबजाय का उपयोग आकस्मिक डेटा हानि के खिलाफ गार्ड नहीं करता है । rmmv --remove-destination ...
एलियाह कागन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.