Por que deveria? Em cp -r ../dhcppc0/* , cp não está processando ../dhcppc0/* . O shell expande ../dhcppc0/* e passa o conteúdo expandido para cp . Portanto, se ele for expandido em ../dhcppc0/bar , ../dhcppc0/baz e ../dhcppc0/foo , o comando expandido será:
cp -r ../dhcppc0/bar ../dhcppc0/baz ../dhcppc0/foo
E se foo for um diretório, cp ficará feliz em copiar todo o conteúdo dos outros diretórios para foo .
Faça echo ../dhcppc0/* , veja o último nome que aparece e inspecione o diretório.
É por isso que, ao copiar diretórios ou usar curingas, sempre use o -t paramater:
cp -t . ../dhcppc0/*
# or cp --target-directory . ../dhcppc0/*
E note que você perderá quaisquer pastas de pontos e arquivos de pontos se usar * . Você não precisa usá-lo, então é melhor simplesmente fazer:
cp -t . ../dhcppc0/