‹ BackHN Continuity

Thread

cp: -r or -R?

126 points · 110 comments · zdw

  1. 5555watch · · focus · HN ↗
    On a somewhat related note, I really hate that in scp -r and -R mean entirely different things.
    1. aulin · · focus · HN ↗
      How about port that is lowercase in ssh and uppercase in scp?
      1. wanick · · focus · HN ↗
        scp took -p from rcp/cp, where it already meant preserve times. So port got -P.
    2. pluc · · focus · HN ↗
      The worst is when things behave different when you give them `~/somedir` vs `~/somedir/`. I think it's rsync that does that
      1. amelius · · focus · HN ↗
        Yes, into versus onto. Luckily we have AI to write our command lines.
      2. IshKebab · · focus · HN ↗
        And `cp`.
        1. brewmarche · · focus · HN ↗
          I remember that macOS/FreeBSD’s cp -R behaves differently depending on the trailing slash (it’s pointed out in the man page). But when I compared with GNU coreutils and busybox they did not, so it’s something to look out for.
      3. mjmas · · focus · HN ↗
        rsync, or at least the version I had would behave differently for 'rsync a b' vs 'rsync a/ b/', even though I added the slash for both sides.
      4. GrantMoyer · · focus · HN ↗
        I really like this feature of rsync (trailing "/" means copy the directory contents to the dest, no trailing "/" means copy the directory itself). Other tools, like cp, don't have any way at all to say copy the directory contents to the dest, and for those tools the result depends on whether or not the destination already exists and is a directory (you might end up with a duplicate nested directory). Rsync produces the same result whether the destination already exists or not.
        1. 0xpgm · · focus · HN ↗
          Why not let the shell do the expansion of `somedir/*` to refer to the content of the directory instead?
          1. 1718627440 · · focus · HN ↗
            Because then you don't have two parameters anymore and need a marker between source and target arguments.
            1. 0xpgm · · focus · HN ↗
              Makes sense.
Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.