Кажется, что rsync может выполнять всю работу cp.
cp
часть coreutils, поэтому он присутствует везде. кроме того, это, прежде всего, было разработано для копирования файлов в одном компьютере.
rsync
не часть coreutils, это не присутствует даже на стандартной среде. Это было, прежде всего, разработано для передачи файлов по сети. Также rsync имеет больше зависимостей по сравнению с coreutils, однако это различие не имеет большого смысла.
основное преимущество CP по rsync время и меньше использования CPU.