A total newbie question.
Why do we need a shell in Linux? As an example when I type - find . -name xy* - I was told that the shell takes this input and calls the find command (making sure the wild card is correctly interpreted and all that). Can't this be done without the concept of a shell?... if shell keeps track of the various process can't this be done without it?
Also, why is that I can type >ls xy* and get a proper output while I need to escape * with a \ in find - find . -name xy\* Is shell doing the wild card expansion for one and not for the other executable?