GNU coreutils के लिए मैनुअलmv
का कहना है:
-f --force Do not prompt the user before removing a destination file.
हालाँकि, यह पहले से ही डिफ़ॉल्ट व्यवहार के लिए प्रतीत होता है mv
, इसलिए यह -f
विकल्प अतिश्योक्तिपूर्ण प्रतीत होता है। जैसे ग्नू बैश संस्करण में 4.3.11:
$ ls -l
total 0
$ touch 1 2; mv -f 1 2; ls
2
$ touch 1 2; mv 1 2; ls
2
ऐसा लगता है कि -f
ध्वज का इरादा ओवरराइड करने की संभावना नहीं है alias mv="mv -i"
, क्योंकि एक उपनाम (जैसे का उपयोग करने) के कई मानक तरीके हैं\mv
) जो इसे अधिक संक्षिप्त रूप से और एक तरह से आदेशों के अनुरूप है।
मैनुअल नोट करता है कि, "यदि आप -i -f, -n विकल्पों में से एक से अधिक निर्दिष्ट करते हैं, तो केवल अंतिम एक ही प्रभावी होता है," लेकिन यह अभी भी लगता है कि -f
ध्वज का इरादा -i
सामान्य रूप से ध्वज को ओवरराइड करने का नहीं है । क्योंकि समतुल्य व्यवहार का उपयोग करके प्राप्त किया जा सकता है mv
, जो कि उपयोग करने की तुलना में अधिक संक्षिप्त और समझने योग्य हैmv -if
।
यही कारण है कि -f
झंडे का उद्देश्य क्या है ? इसका अस्तित्व क्यों है?
mount
उदाहरण के लिए, जैसे एक उपकरण लें (हालांकि बेहतर उदाहरण हैं)। क्या आप वास्तव में यह याद रखना चाहते हैं कि हर विकल्प के लिए चूक क्या है, इसलिए आप यह निर्धारित कर सकते हैं कि आपको कौन से विकल्प सेट करने की आवश्यकता है? यह डिफ़ॉल्ट और गैर-डिफ़ॉल्ट दोनों के लिए विकल्प है, इसलिए आप मानसिक रूप से डिफ़ॉल्ट क्या है, इसका ध्यान रखने की आवश्यकता के बजाय विकल्प को स्पष्ट रूप से सेट कर सकते हैं। वहाँ कुछ याद रखना आसान है , वहाँ कुछ नहीं है ।