ओएस एक्स में और फ्रीबीएसडी के पुराने संस्करण कोरुटिल्स -r
की तरह हैं -R -L --copy-contents
, या यह सिम्बलिंक का अनुसरण करता है और विशेष फाइलों और एफआईएफओ की सामग्री को पढ़ता है।
mkdir a;touch b;ln -s $PWD/b a;cp -r a c
सिम्लिंक को OS X में लक्ष्य फ़ाइल के साथ बदल देता है, mkdir a;mkfifo a/b;cp -r a c
FIFO को पढ़ने से अवरुद्ध हो जाता है, और शून्य से mkdir a;ln -s /dev/zero a;cp -r a b
भरना शुरू कर देता है b/zero
।
से cp
ओएस एक्स और FreeBSD के पुराने संस्करणों में आदमी पेज:
Historic versions of the cp utility had a -r option. This implementation
supports that option; however, its use is strongly discouraged, as it
does not correctly copy special files, symbolic links, or fifo's.
FreeBSD के नए संस्करणों में इसके -r
बराबर है -RL
:
Historic versions of the cp utility had a -r option. This implementation
supports that option, however, its behavior is different from historical
FreeBSD behavior. Use of this option is strongly discouraged as the
behavior is implementation-dependent. In FreeBSD, -r is a synonym for
-RL and works the same unless modified by other flags. Historical imple-
mentations of -r differ as they copy special files as normal files while
recreating a hierarchy.
http://www.gnu.org/software/coreutils/manual/html_node/cp-invocation.html :
--copy-contents
यदि पुनरावर्ती रूप से प्रतिलिपि बनाई जा रही है, तो किसी विशेष फ़ाइल (जैसे, FIFOs और डिवाइस फ़ाइलों) की सामग्री की प्रतिलिपि बनाएँ जैसे कि वे नियमित फ़ाइलें थीं। इसका मतलब है कि प्रत्येक स्रोत फ़ाइल में डेटा को पढ़ने और इसे गंतव्य पर लिखने की कोशिश की जा रही है। यह आमतौर पर इस विकल्प का उपयोग करने के लिए एक गलती है, क्योंकि यह आमतौर पर विशेष फ़ाइलों जैसे एफआईएफओ और आमतौर पर /dev
निर्देशिका में पाए जाने वाले लोगों पर अवांछनीय प्रभाव पड़ता है । ज्यादातर मामलों में, cp -R --copy-contents
एफआईएफओ और विशेष फाइलों जैसे से पढ़ने के लिए अनिश्चित काल तक लटका रहेगा /dev/console
, और यदि आप इसे कॉपी करने के लिए उपयोग करते हैं तो यह आपके गंतव्य डिस्क को भर देगा /dev/zero
। इस विकल्प का तब तक कोई प्रभाव नहीं पड़ता है जब तक कि पुनरावर्ती रूप से कॉपी नहीं किया जाता है, और यह प्रतीकात्मक लिंक की नकल को प्रभावित नहीं करता है।