终端是设备,shell是程序。
终端有分仿真终端和真正终端。由于真正终端(用com口连接被控设备)市场上已经很少买了,因为很少人直接用终端接上设备了。一般都用仿真终端,比如telnet,ssh上去等等,目前有很多仿真终端的软件,比如crt,和windows自带的超级终端。
而shell是linux操作系统的一个人机界面的程序,相当于dos,它包含一些列对系统进行操作的命令。
你应该是说虚拟终端和shell
虚拟终端指xterm、rxvt、lxterminal、terminal等,我的理解是用来承载shell的,有一个能用的就行了,不必深究。
shell很多,功能多样,有的功能强有的速度快有的符合一定操作习惯,比如bash、dash、zsh、sh等等,涉及的知识简直无穷无尽。。。
总之,选一个终端,就可以运行各种shell,而利用shell可以设计脚本或交互执行命令,脚本又把众多工具有机结合起来完成一定工作。