फ़ाइलों को अधिलेखित करने के लिए मैं 'cp' का उपयोग कैसे करूँ?


10

शेल स्क्रिप्ट या टर्मिनल का उपयोग करते हुए, मैं उन फ़ाइलों को कैसे अधिलेखित कर सकता हूं जो मौजूद हो सकती हैं या नहीं। मैंने cp के लिए मैन पेज देखा, इसमें कहा गया था कि अधिलेखित करने के लिए -f तर्क का उपयोग करें। लेकिन, यह कुछ नहीं करता है।

$ cp -f /path/to/source/file.txt /path/to/target

या ओएस एक्स में सामान्य इन-बिल्ट कमांड लाइन टूल का उपयोग करके फ़ाइलों को अधिलेखित करने का एक और विकल्प है?


3
इससे मेरा काम बनता है। जब आप इसे आज़माते हैं तो यह ओवरराइटिंग के बजाय क्या करता है?
गॉर्डन डेविसन

2
यदि आपके पास लक्ष्य फ़ाइल को अधिलेखित करने की अनुमति नहीं है, तो यह विफल हो जाएगा। यदि आप वास्तव में एक लक्ष्य फ़ाइल को अधिलेखित करना चाहते हैं, तो आप sudoकमांड की शुरुआत में उपयोग कर सकते हैं । लेकिन सावधानी के साथ उपयोग करें!
डैनियल

@ गॉर्डन डेविसन: यह क्या कर रहा है? कुछ भी तो नहीं। यदि मैं mvउन्हें या rmउन्हें लक्ष्य निर्देशिका में केवल फाइलों को कॉपी करूंगा।
रॉगरफर्नैंड

@Daniel लॉसन: का उपयोग किए बिना sudoमैं उपयोग कर सकते हैं mvया rmउपयोग करने से पहले ले जाएँ या फ़ाइलें निकालने के लिए cp। उपयोग करने sudo cpसे कोई फर्क नहीं पड़ता।
रॉगरफर्नैंड

अजीब तरह से।
डैनियल

जवाबों:


14

अगर कोई उर्फ ​​शामिल नहीं है, तो मैं इस बात पर अडिग हूं कि cp इस तरह क्यों बर्ताव कर रहा है। हालांकि, इस सटीक स्थिति के लिए एक त्वरित-गंदा और खतरनाक उपयोगिता प्रदान की जाती है yes:। आप किसी भी आदेश में पुष्टि की एक सतत स्ट्रीम को पाइप करने के लिए इसका उपयोग कर सकते हैं जो आपको पुष्टि संकेत देता है (आप इसका उपयोग किसी भी पाठ को भेजने के लिए कर सकते हैं, लेकिन डिफ़ॉल्ट "y" है)।

yes | cp foo bar cp कमांड निष्पादित करेगा और सभी पुष्टिकरण संकेतों को बायपास करेगा।


8

यह एक अन्य उपनाम के कारण हो सकता है।

cpसीधे कॉल करने के लिए आप उपयोग कर सकते हैं/bin/cp src dest


1
यकीन नहीं हो रहा था कि यह क्यों ठुकरा दिया गया। मैं इस धारणा के तहत था कि स्पष्ट रूप से निर्दिष्ट करना-उर्फ में ओवरराइड -आई करेगा, लेकिन मैंने जाँच की और यह नहीं करता है। पोस्टर से पता लगाना चाहिए कि क्या उनके पास cp aliased (प्रकार alias cp) है। वे अपने प्रोफाइल में उपनाम बदल सकते हैं या सुझाव के अनुसार / बिन / सीपी का उपयोग कर सकते हैं।
अष्टकवर्ग

मैं डिफ़ॉल्ट का उपयोग कर रहा हूं cpक्योंकि Apple ने इसे प्रदान किया है।
रेजरफर्नैंड

@octern:roger$ alias cp -bash: alias: cp: not found
rogerFernand

मुझे प्रयोग करना था / बिन / cp मुझे पता नहीं क्यों।
बीते

1
मुझे बहुत देर हो सकती है, लेकिन सर्च इंजन से आने वाले लोगों के लिए मैं यह देखने में सक्षम था कि क्या कमांड को ऐसा करने से कोई अन्य व्यक्ति था या नहीं type cp। और यह वास्तव में किया था।
shriek

2
rm foo/bar/destination && cp source foo/bar/destination

पहले आप rmगंतव्य को हटा दें ( ), फिर यदि सफल ( &&) आप अपनी नकल करते हैं। जब किसी फ़ोल्डर को हटाने के लिए, कृपया जोड़ने के लिए याद -rकरने के लिए rm( rm -r)।


1

मैं भी एक उर्फ ​​के साथ गड़बड़ कर रहा था -f, सीधे / बिन से सीपी कॉल और सब ठीक है, एक उपनाम है जो आकस्मिक रूप से ओवरराइट को रोकता है / डिफ़ॉल्ट रूप से निष्कासन बहुत अच्छा है, इसलिए सबसे अच्छा इसे हटा नहीं।

। # उर्फ

उर्फ cp = 'cp -i'

जैसा कि पहले से ही कहा गया है, -i झंडा सुपर-लेस है, जो नीचे दिए गए आदेश को प्रदर्शन करने की अनुमति नहीं देगा।

। # / बिन / cp -fauv src dst

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