mv sobrescreverá arquivos, mas recusará substituir diretórios . Não há um único comando que mescle diretórios e remova os diretórios de origem (que é provavelmente o que você quer com mv ). Mesmo rsync --remove-source-files deixará diretórios vazios.
Você pode usar uma combinação de comandos:
cp -a dev/. .
rm -r dev
que copia tudo em dev para o diretório atual e, em seguida, remove o diretório dev .
Ou:
rsync -a --remove-source-files dev/ .
find dev -depth -type d -exec rmdir {} \;
que usa rsync para mover todos os arquivos e, em seguida, exclui os diretórios vazios deixados para trás.