в bash'е поведение звёздочки зависит от настроек... о том, как её настроить, чтобы она и скрытые файлы подцепляла, ЕМНИП есть в мане.
единственным способом гарантированно получить то, что надо является find:
find /src/dir/ -maxdepth 1 -exec cp -r '{}' /dest/dir/ \;
собственно man:
man bash пишет: The GLOBIGNORE shell variable may be used to restrict the set of file names matching a pattern. If GLOBIGNORE is set, each matching file name that also matches one of the patterns in GLOBIGNORE is removed from the list of matches. The file names ``.'' and ``..'' are always ignored when GLOBIGNORE is set and not null. However, setting GLOBIGNORE to a non-null value has the effect of enabling the dotglob shell option, so all other file names beginning with a ``.'' will match. To get the old behavior of ignoring file names beginning with a ``.'', make ``.*'' one of the patterns in GLOBIGNORE. The dotglob option is disabled when GLOBIGNORE is unset.
ну и пример:
Консоль:
alexander@goblin /tmp $ mkdir test
alexander@goblin /tmp $ cd test
alexander@goblin /tmp/test $ touch qwe
alexander@goblin /tmp/test $ touch .qwe
alexander@goblin /tmp/test $ ls *
qwe
alexander@goblin /tmp/test $ echo $GLOBIGNORE
alexander@goblin /tmp/test $ shopt -s dotglob
alexander@goblin /tmp/test $ ls *
qwe .qwe
95% процентов проблем находятся между клавиатурой и стулом.