difference between shell and terminal


i am new to linux. What is the difference between shell and terminal. Can you please provide some good links, books, simulators to start learning linux. How is linux different from unix. what is difference between 'sh' and 'bash'. How is EmACs are different from VI text editors. What are advantages, disadvanages of each one and when to use which one.
Please advise
Any links resources ideas highly appreciated. Thanks in advance
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

You can always learn by installing a flavor of linux on your pc as a virtual machine (on virtualbox or vmware, fore example)

the difference between linux and unix is that unix is an os which was initially developed by AT&T and later there was many flavors of it mainly System V (five) and BSD Unix.

linux is different implementation but has most of the commands and tools, etc. of unix and more.

You can always google for unix or linux tutorials to learn the commands, tools, etc.

for vi and emacs you can do the same, google vi tutorial or emacs tutorial.

terminal is a graphical interface for command prompt and will run for you your default shell.

sh is the basic shell command interpreter that came with unix and bash is a more advanced command interpreter. I can say that sh is a subset of bash. The basic difference between them is in the internal commands supported and some scripting features.

You can also google for sh or bash tutorials

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
gudii9Author Commented:
>>terminal is a graphical interface for command prompt and will run for you your default shell.

I know command prompt where we type command. what is graphical interface for command prmopt. I never saw something like that. can you please advise probably with a screenshot of how it looks like.
Unix / linux systems are multi users systems where users can login to system and do different things.

Old systems were text based systems with no graphics. The users were using dump terminals, like vt100, etc.

These were physical hardware and were either connected directly to the system or via network.

Later, X windows were developed to support graphics on unix systems. X windows run on graphical monitors similar to today's monitors (VGA, SVGA, etc). X windows provided a soft terminal interface to run command interpreters and other text based applications and they simulate the capabilities of hardware terminals.

So, when you login to a system via X windows, you have a view similar to the attached one and then you can run any application that support graphics or a just a soft terminal where you run your commands.
Terminal is a display device with keyboard (e.g in the shop you enter PIN code in terminal)
Shell is the system prompt that you see there (in modern extension - say graphical shell like KDE - a mere software that interacts with the person)
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.