Linux操作系统是当前应用极为广泛的服务器和桌面操作系统之一。它是一种自由和开放源码的类UNIX操作系统,可安装在多种计算机硬件设备当中,广泛应用于系统管理和维护、系统开发、语言开发及嵌入式系统等领域。本书基于CentOS7全面介绍了Linux操作系统的安装、基本使用及几种基本服务器的搭建。全书共分为6章,内容涉及Linux操作系统的概况介绍、Linux操作系统的安装、RPM包管理、Systemd初始化、Linux的常用命令、存储管理与磁盘分区、raid和逻辑卷管理、账户管理、权限管理、进程管理、管理守护进程、监视系统性能、Linux网络配置、远程控制服务、Linux网络工具、vi编辑器、Shell脚本编程以及Samba服务器配置、DHCP服务器配置、DNS服务器配置、Apache服务器配置等。
本书可作为高等职业技术院校及各培训机构的Linux操作系统教材,也可作为Linux操作系统爱好者的自学用书。
Linux是一种类UNIX操作系统,可供用户免费使用和自由传播。Linux操作系统支持多CPU多线程,很好地支持多用户、多任务。如今Linux广泛用于各种计算机设备、网络设备和智能设备中,如个人计算机、服务器、路由器、智能手机和平板电脑等。因此,想进入这些领域的从业人员和在校学生,可以把学习Linux作为进入工作岗位的敲门砖。
本书选择了相对于其他Linux发行版更加稳定的CentOS7版本。CentOS是Linux发行版本之一,是基于著名的RedHat公司提供的可自由使用源代码的企业级Linux发行版本,是RHEL(RedHatEnterpriseLinux)源代码再编译的版本。更为重要的是CentOS免费,而且它的每个发行版本通过安全更新的方式都会获得10年的支持。
全书共6章,其中:第1章介绍了Linux操作系统的概况并详细讲解了Linux操作系统的安装;第2章介绍了Linux的操作基础与磁盘管理;第3章介绍了多用户多任务管理;第4章
讲解了网络配置与远程控制服务;第5章详细描述了vi编辑器和Shell脚本编程;第6章介绍了Samba服务器、DHCP服务器、DNS服务器和Apache服务器的简单配置。
本书可作为高等职业技术院校及各培训机构的Linux操作系统教材,也可供广大Linux操作系统爱好者自学使用。
本书由梁波、张婷婷、高秀东主编,周籴、赵昱凯、杨眷玉、张浩副主编,参与编写工作的还有胡将军、欧丽娜、杨贺昆、肖欢、刘泽、刘连喜、徐浩等老师。由于编者水平有限,书中难免有疏漏之处,希望广大学生、Linux爱好者和Linux业界资深人士给予批评指正。诚挚地希望使用本书的老师提出宝贵意见和建议,让我们共同研究Linux和自由软件教学,为促进自由软件在我国的发展尽绵薄之力。
编者编者
2021年4月
第1章Linux简介与安装1
1.1Linux简介1
1.1.1自由软件与Linux1
1.1.2Linux体系结构2
1.1.3CentOS简介3
1.1.4Linux的内核版本与发行版本3
1.2安装Linux4
1.2.1准备安装Linux4
1.2.2U盘安装6
1.2.3硬盘安装6
1.2.4安装并配置VM虚拟机7
1.3初入Linux13
1.3.1安装CentOS713
1.3.2重置管理员密码19
1.3.3获得命令帮助21
1.4RPM包管理23
1.4.1RPM概述23
1.4.2yum软件仓库23
1.4.3RPM命令的使用24
1.5Systemd初始化26
1.5.1Systemd概述和特性26
1.5.2Systemd的核心概念:unit26
1.5.3Systemd的单元27
1.5.4Systemd的目标27
1.5.5Systemd的基本工具28
1.6思考与实验30
第2章Linux操作基础与磁盘管理32
2.1系统终端32
2.1.1Shell简介33
2.1.2命令格式和通配符33
2.1.3Shell变量和Shell环境35
2.1.4几种提高工作效率的方法36
2.1.5进一步使用Shell38
2.2Linux常用操作命令39
2.2.1Linux命令的基本特点39
2.2.2文件目录操作命令41
2.2.3文本操作命令42
2.2.4输入/输出和管道命令43
2.2.5打包和压缩命令45
2.2.6信息显示命令47
2.3存储管理与磁盘分区49
2.3.1Linux目录结构49
2.3.2存储管理工具简介50
2.3.3磁盘及分区52
2.3.4创建和挂装文件系统56
2.3.5磁盘限额59
2.4独立冗余磁盘阵列和逻辑卷管理61
2.4.1RAID的相关概念61
2.4.2LVM相关概念66
2.5思考与实验76
第3章多用户多任务管理77
3.1账户管理77
3.1.1用户和组群概述77
3.1.2使用命令行工具管理账户80
3.1.3口令管理和口令时效82
3.2文件权限管理85
3.2.1操作权限概述85
3.2.2更改操作权限86
3.2.3更改属主和同组人89
3.2.4预设权限umask的使用90
3.2.5使用ACL权限91
3.3进程管理92
3.3.1进程概述93
3.3.2查看进程93
3.3.3杀死进程94
3.3.4作业控制95
3.4管理守护进程96
3.4.1初始化进程服务97
3.4.2使用Systemctl管理服务98
3.5监视系统性能98
3.5.1系统监视概述98
3.5.2top命令99
3.5.3mpstat命令100
3.5.4vmstat命令101
3.5.5iostat命令102
3.5.6性能分析标准的经验准则103
3.6思考与实验105
第4章网络配置与远程控制服务107
4.1Linux网络配置107
4.1.1Linux网络基础107
4.1.2配置网络参数108
4.1.3使用系统菜单配置网络110
4.1.4使用nmcli管理网络112
4.2远程控制服务115
4.2.1SSH与OpenSSH115
4.2.2配置OpenSSH服务116
4.2.3安全密钥验证118
4.2.4远程传输命令119
4.3Linux网络工具120
4.3.1网络测试工具121
4.3.2其他常用网络工具122
4.4思考与实验123
第5章vi编辑器与Shell脚本编程125
5.1vi编辑器125
5.1.1vi编辑器的启动与退出126
5.1.2vi编辑器的工作模式128
5.1.3vi编辑器常用命令128
5.2Shell编程基础131
5.2.1硬件、内核与Shell131
5.2.2bash的功能132
5.2.3Shell脚本简介133
5.2.4Shell变量操作135
5.2.5Shell的变量键盘读取、数组、声明和个脚本程序137
5.2.6Shell脚本跟踪与调试140
5.3判断式141
5.3.1利用test命令的测试功能141
5.3.2判断符号[]144
5.4条件判断式145
5.4.1if语句145
5.4.2case语句147
5.5循环结构149
5.5.1whiledodone和untildodone(不定循环)149
5.5.2fordodone语句(固定循环)150
5.5.3fordodone的数值处理151
5.6函数152
5.7Shell脚本的应用153
5.8思考与实验155
第6章DHCP服务和DNS服务156
6.1Samba服务器156
6.1.1SMB/CIFS协议和Samba简介156
6.1.2Samba服务的安装和管理157
6.1.3Samba服务器的配置160
6.2DHCP服务164
6.2.1DHCP简介164
6.2.2DHCP服务的安装与配置166
6.3DNS服务器171
6.3.1DNS系统与域名空间171
6.3.2DNS服务器类型172
6.3.3DNS查询模式与解析过程173
6.3.4使用BIND配置DNS服务174
6.4Apache服务177
6.4.1Apache简介177
6.4.2Apache的安装与基本配置178
6.5思考与实验183
参考文献184