Help with understanding ls with grep command


After fooling around with the command line I am having trouble
understanding why I am getting the following using the “ls” and “grep”


eric:~> ls

bin Music
Desktop osha top 10 violations 2014.pdf
Documents Pictures
Downloads Public
french fry receipe public_html
hard drive return label Templates
kennedy.pdf tv-viewer_diag.out
k-birthday present.pdf Videos

eric:~> ls | grep D*

grep: Documents: Is a directory
grep: Downloads: Is a directory

eric:~> ls | grep Do*

grep: Downloads: Is a directory

I expected the last command to give me the output of the second command
and the second command to also include Desktop but I was wrong.

Does it have to do with the fact that “ls D*” also lists the contents of
the sub-directories of Documents and Downloads? I probably need to go
back to basics of the command line.

I am running openSUSE 13.2 using the bash shell with the Gnome Terminal.

Can anyone explain what is going on.

Thank you,