Why `cp` is designed this way to overwrite existing files silently?

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
0
down vote

favorite












I create such commands to test cp commands



In [98]: ls 
first.html second.html third.html

In [99]: less first.html second.html third.html

In [100]: cat first.html
first

In [101]: cat second.html
second

In [102]: cat third.html
third


When I copy first.html to second.html,



In [103]: cp first.html second.html 
In [104]: cat second.html
first


The second.html is overwritten silently without any error prompts.

Nonetheless, If I do it in the desktop GUI, draw a file in with the same name, it will be suffixed an first1.html automatically.

Doing this avoided to overwrite an existing file accidentally.



Why not follow this pattern to design cp but to overwrite silently.



I am learning python now and found that it's shutil.copy completely inherit from the idea of command cp.



I assume it not a good design and could be easily amended by insert an if check.



Why cp is designed this way to overwrite existing files silently?









share







New contributor




rider dragon is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.























    up vote
    0
    down vote

    favorite












    I create such commands to test cp commands



    In [98]: ls 
    first.html second.html third.html

    In [99]: less first.html second.html third.html

    In [100]: cat first.html
    first

    In [101]: cat second.html
    second

    In [102]: cat third.html
    third


    When I copy first.html to second.html,



    In [103]: cp first.html second.html 
    In [104]: cat second.html
    first


    The second.html is overwritten silently without any error prompts.

    Nonetheless, If I do it in the desktop GUI, draw a file in with the same name, it will be suffixed an first1.html automatically.

    Doing this avoided to overwrite an existing file accidentally.



    Why not follow this pattern to design cp but to overwrite silently.



    I am learning python now and found that it's shutil.copy completely inherit from the idea of command cp.



    I assume it not a good design and could be easily amended by insert an if check.



    Why cp is designed this way to overwrite existing files silently?









    share







    New contributor




    rider dragon is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.





















      up vote
      0
      down vote

      favorite









      up vote
      0
      down vote

      favorite











      I create such commands to test cp commands



      In [98]: ls 
      first.html second.html third.html

      In [99]: less first.html second.html third.html

      In [100]: cat first.html
      first

      In [101]: cat second.html
      second

      In [102]: cat third.html
      third


      When I copy first.html to second.html,



      In [103]: cp first.html second.html 
      In [104]: cat second.html
      first


      The second.html is overwritten silently without any error prompts.

      Nonetheless, If I do it in the desktop GUI, draw a file in with the same name, it will be suffixed an first1.html automatically.

      Doing this avoided to overwrite an existing file accidentally.



      Why not follow this pattern to design cp but to overwrite silently.



      I am learning python now and found that it's shutil.copy completely inherit from the idea of command cp.



      I assume it not a good design and could be easily amended by insert an if check.



      Why cp is designed this way to overwrite existing files silently?









      share







      New contributor




      rider dragon is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.











      I create such commands to test cp commands



      In [98]: ls 
      first.html second.html third.html

      In [99]: less first.html second.html third.html

      In [100]: cat first.html
      first

      In [101]: cat second.html
      second

      In [102]: cat third.html
      third


      When I copy first.html to second.html,



      In [103]: cp first.html second.html 
      In [104]: cat second.html
      first


      The second.html is overwritten silently without any error prompts.

      Nonetheless, If I do it in the desktop GUI, draw a file in with the same name, it will be suffixed an first1.html automatically.

      Doing this avoided to overwrite an existing file accidentally.



      Why not follow this pattern to design cp but to overwrite silently.



      I am learning python now and found that it's shutil.copy completely inherit from the idea of command cp.



      I assume it not a good design and could be easily amended by insert an if check.



      Why cp is designed this way to overwrite existing files silently?







      cp





      share







      New contributor




      rider dragon is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.










      share







      New contributor




      rider dragon is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.








      share



      share






      New contributor




      rider dragon is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.









      asked 1 min ago









      rider dragon

      1012




      1012




      New contributor




      rider dragon is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.





      New contributor





      rider dragon is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.






      rider dragon is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
      Check out our Code of Conduct.

























          active

          oldest

          votes











          Your Answer







          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "106"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          convertImagesToLinks: false,
          noModals: false,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );






          rider dragon is a new contributor. Be nice, and check out our Code of Conduct.









           

          draft saved


          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f477401%2fwhy-cp-is-designed-this-way-to-overwrite-existing-files-silently%23new-answer', 'question_page');

          );

          Post as a guest



































          active

          oldest

          votes













          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          rider dragon is a new contributor. Be nice, and check out our Code of Conduct.









           

          draft saved


          draft discarded


















          rider dragon is a new contributor. Be nice, and check out our Code of Conduct.












          rider dragon is a new contributor. Be nice, and check out our Code of Conduct.











          rider dragon is a new contributor. Be nice, and check out our Code of Conduct.













           


          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f477401%2fwhy-cp-is-designed-this-way-to-overwrite-existing-files-silently%23new-answer', 'question_page');

          );

          Post as a guest













































































          Popular posts from this blog

          How to check contact read email or not when send email to Individual?

          Bahrain

          Postfix configuration issue with fips on centos 7; mailgun relay