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?
omarfaridConnect With a Mentor Commented:
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
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.
gheistConnect With a Mentor Commented:
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)
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.