Respostas:
O ponto ( .) é apenas o .diretório dentro de um diretório que é o mesmo que o próprio diretório ( ls -la /fooo mostrará a você). Portanto, se você copiar em foo/.outro lugar, efetivamente copia toda a árvore abaixo foosem se copiar foo(você está copiando na foo2/.qual é igual a foo2).
/foo/*é expandido pelo shell para a lista de arquivos e diretórios não ocultos /foo, para que também copie a mesma estrutura de diretórios para /foodentro /foo2, exceto para os arquivos de ponto / pontos. Efetivamente, cpreceberá (potencialmente) muitos argumentos. Se a lista for muito grande, pode até causar cpfalha na execução .
set -xou echo cp -pr /foo/* /foo2para ver o que está acontecendo. É importante perceber que é o shell que expande os curingas. cpnão vê a estrela.
cp -r /foo/*faz a mesma coisa quecp /foo/*?