O ponto ( .
) é apenas o diretório .
dentro de um diretório que é o mesmo que o próprio diretório ( ls -la /foo
mostrará a você). Portanto, se você copiar foo/.
em outro lugar, copiará efetivamente toda a árvore abaixo de foo
sem copiar foo
(você está copiando em foo2/.
, que é o mesmo que foo2
).
/foo/*
é expandido pelo shell para a lista de diretórios e arquivos não ocultos em /foo
, portanto, copiaria a mesma estrutura de diretórios em /foo
para /foo2
, exceto para os dotfiles / dotdirs. Efetivamente, cp
receberá (potencialmente) muitos argumentos. Se a lista for muito grande, pode até mesmo causar a falha na execução de cp
.