-
cp -R foo/copia tudo recursivamente emfoo/ -
cp -R foo/*copia recursivamente todos os arquivos e diretórios que correspondem afoo/*. E, por padrão, os nomes com um ponto não são incluídos (ls *também não os listará). Isso é explicado aqui (bem como alguns outros pequenos detalhes sobre os principais pontos ).
Além da manipulação de arquivos com pontos iniciais, outra diferença é que cp -R foo/* copia os arquivos e diretórios individuais em foo/ para o diretório de destino, enquanto cp -R foo/ faz uma cópia de foo/ no diretório de destino ( então você tem mais um nível de diretório).