mv will complain that it can't move html to itself, but will still move the rest.
With bash:
shopt -s dotglob
mv -- * html
With ksh93:
FIGNORE='@(.|..)'
mv -- * html
POSIXly:
mv -- * .??* .[!.] html
or
mv -- * .[!.]* ..?* html
(you're likely to get errors for those of the patterns that have no match. That should be harmless but will still cause the exit status to be non-zero so in script you would not be able to distinguish that with a failure to move files).
Best Answer
If using GNU find, you can do
Edit
To avoid to show non-hidden items contained in hidden directories
(as noted,
tee
could be avoided if you do not need to see the output, and-ls
option should be used only if required).