通常来讲,计算机硬件是由运算器、控制器、存储器、输入/输出设备等共同组成的,而让各种硬件设备各司其职且又能协同运行的东西就是系统内核。Linux系统的内核负责完成对硬件资源的分配、调度等管理任务。由此可见,系统内核对计算机的正常运行来讲是太重要了,因此一般不建议直接去编辑内核中的参数,而是让用户通过基于系统调用接口开发出的程序或服务来管理计算机,以满足日常工作的需要,如图1所示。
必须肯定的是,Linux系统中有些图形化工具(比如逻辑卷管理器[Logical Volume Manager,LVM])确实非常好用,极大地降低了运维人员操作出错的概率,值得称赞。但是,很多图形化工具其实是调用了脚本来完成相应的工作,往往只是为了完成某种工作而设计的,缺乏Linux命令原有的灵活性及可控性。再者,图形化工具相较于Linux命令行界面会更加消耗系统资源,因此经验丰富的运维人员甚至都不会给Linux系统安装图形界面,需要开始运维工作时直接通过命令行模式远程连接过去,不得不说这样做确实挺高效的。
Shell 就是这样的一个命令行工具。Shell(也称为终端或壳)充当的是人与内核(硬件)之间的翻译官,用户把一些命令“告诉”终端,它就会调用相应的程序服务去完成某些工作。现在包括红帽系统在内的许多主流Linux 系统默认使用的终端是Bash(Bourne-Again SHell)解释器。主流Linux 系统选择Bash 解释器作为命令行终端主要有以下4项优势,读者可以在今后的学习和生产工作中细细体会Linux系统命令行的美妙之处,真正从心里爱上它们。
Linux系统中已经有了Bash这么好用的“翻译官”,接下来就有必要好好学习下怎么跟它沟通了。要想准确、高效地完成各种任务,仅依赖于命令本身是不够的,还应该根据实际情况来灵活调整各种命令的参数。常见执行Linux命令的格式是这样的:
命令对象一般是指要处理的文件、目录、用户等资源,而命令参数可以用长格式(完整的选项名称),也可以用短格式(单个字母的缩写),两者分别用“--”与“-”作为前缀(示例请见表1)。大多数Linux 新手不会执行命令,那是因为参数比较复杂,参数值需要随不同的命令和需求情况而发生改变。因此,要想灵活搭配各种参数,执行自己想要的功能,则需要长时间的经验积累了。
在Linux 有一个查看参数如何使用的帮助命令 man ,在不知道某个命令是用来干嘛的,遇到了一个不熟悉的Linux 命令有哪些可用参数的情况下,我肯可以使用它来查看和学习Linux 命令。
Linux 默认主机登录界面只有我们新建的普通用户,因此在正式进入系统之前,我们还需要先点击“Not listed”选项来切换至root管理员身份,这是红帽RHEL7系统为了避免用户乱使用权限而采取的一项小措施。而如果我们顺手使用默认的普通用户登录到主机中,则会出现一部分命令会因权限不足而无法执行,我们需要足够的权限才能完成接下来的实验。登录界面切换至root管理员身份,如图2 所示。
在RHEL 7系统的桌面上单击鼠标右键,在弹出的菜单中选择Open in Terminal 命令,这将打开一个Linux 系统命令行终端,如图3 所示。
一般来讲,使用man命令查看到的帮助内容信息都会很长很多,如果读者不了解帮助文档信息的目录结构和操作方法,乍一看到这么多信息可能会感到相当困惑。man命令的帮助信息的结构如表3 所示。

