Probably a dumb question, but is there a reason there is no `cp` and no `mv` in `s6-portable-utils`?
Because reimplementing a full POSIX utility suite isn't a goal. There are already a lot of those you can choose from (coreutils, busybox, toybox, sbase+ubase, etc.) That said, if you don't have a cp program available, there's s6-hiercopy in s6-portable-utils.
What’s the recommended way of copying and moving files?
It really depends on your environment. I wrote s6-hiercopy for stripped-bare environments (think initramfs). On a normal system chances are you have POSIX utilities available, and cp/mv should work fine. :) -- Laurent