Originally Posted by i92guboj
In the strict sense, echo is not displaying file names. It is just displaying a string that it receives. Echo, unlike ls, has no concept of file names or whatever. The expansion happens before echo even gets into scene, to start with. All that echo receives is a string, and it effectively echoes that screen to stdout. The fact that that screen matches a list of file names is purely coincidental, and is due to the preliminary expansion that the shell does before passing the arguments to echo.
+1 The most clear of all of you. Its a rather simple concept thats being quite overkilled. =P . And yes it is a common question in classrooms and on Linux + exam.=)