终端有一个称为“终端驱动程序”的东西。这不是硬件接口的驱动程序,而是解释某些字符序列,导致它执行操作,例如滚动、文本属性等。这些字符序列存储在“terminfo数据库”中。一个名为curses(或其现代等效物ncurses)的库读取terminfo数据库,并根据被调用的函数发出各种字符序列。将terminfo数据库与终端驱动程序分离可以使程序支持多个终端,如xterm、文本控制台、网络客户端,甚至通过串行线连接的远程智能终端。