随着Linux发行版的更新和发展,目前很多Linux发行版提供的图形化工具对用户运维都十分友好、直观、易操作,为初次使用Linux的用户带来了便利。事实上,很多图形化工具最终还是调用了脚本来完成相应的工作,图形化工具相较于Linux命令行界面会更加消耗系统资源,缺乏灵活性和可控性。因此,很多真实的业务场景的Linux服务器通常不安装图形界面,而直接使用Shell命令行进行操作,更加高效、灵活。这就需要用户熟悉命令行界面和各种命令行的操作。
◎ ◎ ◎ ◎ ◎ ◎ ◎ ◎ ◎ ◎
本章将介绍Linux的Shell。通过本章的学习,读者会掌握Shell在Linux中的地位,以及如何选择、配置Shell,调出Shell的快捷方式,设置别名等。
计算机硬件通常是由运算器、控制器、存储器、输入/输出设备等共同组成的,而管理整个计算机硬件的就是操作系统的内核(Kernel)。Linux内核负责完成硬件资源的分配、调度等管理任务。由于系统内核对计算机的正常运行十分重要,因此一般不允许直接操作内核,而是让用户通过基于系统调用接口开发出的程序或服务来管理计算机,以满足日常工作的需要,这个接口就是Shell。
Shell的中文含义是“外壳”,它就像包裹内核的一层外壳,对内保护内核,同时充当用户与内核(硬件)的沟通的角色。用户把一些命令“告诉”Shell,也就是运行Shell命令或Shell脚本,它就会调用相应的程序服务去完成某些工作。用户和内核进行交互的示意图如图3-1所示。
图3-1 用户和内核进行交互的示意图