大数据及人工智能产教融合系列丛书 Linux操作系统实用教程
作者:凌菁,毕国锋编著
出版时间: 2020年版
丛编项: 大数据及人工智能产教融合系列丛书
内容简介
《Linux操作系统实用教程》从实用角度出发,对Red Hat Enterprise Linux 7.5平台下的系统管理及网络服务做了全面、系统的介绍,既便于读者了解Red Hat Enterprise Linux 7.5的强大功能,又可以帮助Linux用户在较短的时间内快速地学习和掌握Red Hat Enterprise Linux 7.5。全书分为三部分,共12章,内容涵盖Linux系统概述、安装Linux系统、图形桌面与命令行、Linux文件管理和常用命令、磁盘管理、用户管理和常用命令、软件包管理、文本编辑器的使用、Shell编程、Linux下C语言编程,以及Linux网络基础、网络安全与病毒防护。《Linux操作系统实用教程》内容丰富,语言通俗易懂,叙述深入浅出,非常适合初、中级Linux用户阅读,既可以作为各类院校相关专业学生的教材及Linux培训班学生的教材,又可以作为广大Linux爱好者的专业参考书。
目录
目 录
第一部分 Linux入门\t
第1章 Linux系统概述\t2
1.1 Linux的起源及特性\t3
1.1.1 Linux的起源\t3
1.1.2 Linux的特性\t4
1.2 Linux版本的发展\t6
1.2.1 Linux内核版本\t6
1.2.2 Linux发行版本\t7
1.3 Red Hat Enterprise Linux简介及其优点\t8
1.3.1 Red Hat Enterprise Linux 简介\t9
1.3.2 Red Hat Enterprise Linux 的优点\t9
1.4 如何获取Red Hat Enterprise Linux\t10
1.5 小结\t10
1.6 习题\t11
1.7 上机练习――获取Red Hat Enterprise Linux\t11
第2章 安装Linux系统\t12
2.1 安装Linux系统的准备工作\t12
2.1.1 硬件需求与兼容性\t12
2.1.2 安装方法\t13
2.2 从光盘安装Linux系统\t14
2.2.1 启动安装程序\t14
2.2.2 时区选择\t15
2.2.3 语言支持和键盘布局\t15
2.2.4 安装源和软件选择\t16
2.2.5 安装位置\t17
2.2.6 网络和主机名\t18
2.2.7 用户设置\t19
2.2.8 安装完成\t20
2.2.9 初始设置\t21
2.2.10 进入桌面\t22
2.3 在虚拟机中安装Linux系统\t23
2.3.1 下载并安装VMware\t23
2.3.2 添加新的虚拟机\t25
2.3.3 安装Linux系统\t27
2.4 登录Linux\t27
2.4.1 图形化登录\t28
2.4.2 虚拟控制台登录\t28
2.4.3 远程登录\t28
2.5 卸载Linux\t29
2.5.1 从硬盘上卸载Linux\t29
2.5.2 从虚拟机中删除Linux\t29
2.6 小结\t29
2.7 习题\t29
2.8 上机练习―使用光盘安装Red Hat Enterprise Linux 7.5版本\t30
第3章 图形桌面与命令行\t31
3.1 Linux图形桌面概述\t31
3.2 使用GNOME图形桌面\t32
3.2.1 进入GNOME桌面\t32
3.2.2 GNOME命令行模式\t38
3.2.3 添加和删除软件包\t38
3.2.4 查找文件\t39
3.2.5 退出GNOME桌面\t40
3.3 Linux的终端窗口(命令行)\t41
3.3.1 启动终端窗口\t41
3.3.2 终端窗口的常规操作\t42
3.3.3 命令行自动补全\t43
3.3.4 命令行的帮助\t45
3.4 小结\t49
3.5 习题\t50
3.6 上机练习―简单的man命令的使用\t50
第4章 Linux文件管理和常用命令\t51
4.1 Linux的文件系统\t51
4.1.1 Linux文件系统的概念\t51
4.1.2 Linux文件系统的组织方式\t51
4.1.3 Linux系统的默认安装目录\t53
4.1.4 Linux文件系统的类型\t54
4.1.5 Linux文件系统的组成\t55
4.2 文件和目录管理常用命令\t56
4.2.1 文件和目录操作常用通配符\t56
4.2.2 显示文件内容命令―cat、more、less、head和tail\t57
4.2.3 文件内容查询命令―grep\t62
4.2.4 文件查找命令―find和locate\t63
4.2.5 文本处理命令―sort\t65
4.2.6 文件内容统计命令―wc\t66
4.2.7 文件比较命令―comm和diff\t67
4.2.8 文件的复制、移动和删除命令―cp、mv和rm\t68
4.2.9 文件链接命令―ln\t70
4.2.10 目录的创建和删除命令―mkdir和rmdir\t71
4.2.11 改变工作目录、显示路径和显示目录内容命令―cd、pwd和ls\t73
4.3 文件和目录访问权限管理\t76
4.3.1 文件和目录的权限简介\t76
4.3.2 更改文件/目录的访问权限―chmod命令\t78
4.3.3 更改文件/目录的默认权限―umask命令\t80
4.3.4 更改文件/目录的所有权―chown命令\t82
4.4 文件/目录的打包、压缩及解压缩\t82
4.4.1 文件压缩―gzip压缩\t83
4.4.2 文件压缩―bzip2压缩\t84
4.4.3 文件归档―tar命令\t85
4.4.4 zip压缩\t88
4.4.5 unzip解压缩\t90
4.5 小结\t91
4.6 习题\t91
4.7 上机练习――练习使用文件和目录管理常用命令\t92
第5章 磁盘管理\t93
5.1 Linux磁盘分区概述\t93
5.2 常用磁盘管理命令\t94
5.2.1 挂载磁盘分区\t94
5.2.2 卸载磁盘分区\t96
5.2.3 查看磁盘分区信息\t97
5.2.4 新建磁盘分区\t98
5.2.5 分区的格式化\t98
5.2.6 检查和修复磁盘分区\t99
5.3 磁盘配额管理\t100
5.3.1 磁盘配额的系统配置\t101
5.3.2 对用户设置磁盘配额\t103
5.3.3 对用户组设置磁盘配额\t104
5.3.4 启动和终止磁盘配额\t106
5.3.5 使用quota命令查看磁盘空间使用情况\t106
5.3.6 使用du命令进行磁盘空间统计\t107
5.4 小结\t109
5.5 习题\t109
5.6 上机练习―新添加硬盘,并挂载到/home/linux/newhd/目录中,
然后进行磁盘配额操作\t109
第6章 用户管理和常用命令\t110
6.1 用户和组文件\t111
6.1.1 用户账号文件―/etc/passwd\t111
6.1.2 用户影子文件―/etc/shadow\t113
6.1.3 用户组账号文件―/etc/group和/etc/gshadow\t115
6.1.4 使用pwck和grpck命令检查用户和组文件\t118
6.2 使用命令管理普通用户\t118
6.2.1 添加新用户\t119
6.2.2 修改用户的账号\t122
6.2.3 删除用户\t125
6.2.4 用户的临时禁用\t125
6.2.5 用户默认配置文件/etc/login.defs\t125
6.2.6 使用newusers命令批量添加用户\t127
6.3 使用命令管理根用户\t128
6.3.1 修改root密码\t129
6.3.2 使用su命令临时切换为根用户\t129
6.3.3 root密码丢失的处理方法\t130
6.4 使用命令管理用户组\t132
6.4.1 添加新用户组\t132
6.4.2 修改用户组属性\t134
6.4.3 删除用户组\t135
6.5 使用图形化程序管理用户和用户组\t135
6.5.1 添加新用户\t135
6.5.2 删除用户\t136
6.6 小结\t137
6.7 习题\t137
6.8 上机练习――添加新用户new_linux,并修改密码和用户组\t138
第7章 软件包管理\t139
7.1 使用rpm命令管理RPM软件包\t139
7.1.1 查询RPM软件包\t140
7.1.2 RPM软件包的安装\t144
7.1.3 RPM软件包的卸载\t145
7.1.4 RPM软件包的升级\t145
7.1.5 RPM软件包的验证\t146
7.2 使用yum管理RPM软件包\t147
7.2.1 查询RPM软件包\t147
7.2.2 RPM软件包的安装\t147
7.2.3 RPM软件包的卸载\t148
7.2.4 RPM软件包的升级\t148
7.2.5 新的软件源服务器的添加\t150
7.3 使用源码安装软件\t151
7.3.1 源码包的获取\t152
7.3.2 源码包的编译\t152
7.3.3 源码包的安装\t152
7.3.4 源码包的卸载\t152
7.4 小结\t153
7.5 习题\t153
7.6 上机练习――安装PHP软件\t153
第二部分 Linux编程
第8章 文本编辑器的使用\t156
8.1 Vim的使用\t156
8.1.1 Vim的启动\t156
8.1.2 在桌面上创建Vim启动器\t157
8.1.3 Vim的工作模式\t157
8.1.4 保存与打开文件\t158
8.1.5 移动光标\t159
8.1.6 插入\t161
8.1.7 删除\t162
8.1.8 取消\t163
8.1.9 退出\t163
8.1.10 查找\t163
8.1.11 替换\t164
8.1.12 选项设置\t164
8.1.13 调用Shell命令\t164
8.2 Vim使用实例\t165
8.2.1 字符的插入与删除\t165
8.2.2 字符的查找与替换\t166
8.3 gVim的使用\t168
8.3.1 文件的新建与保存\t168
8.3.2 查找与替换\t170
8.4 gedit的使用\t171
8.4.1 gedit的启动与打开文件\t171
8.4.2 编辑文件\t172
8.4.3 打印文件\t173
8.4.4 gedit的首选项设置\t174
8.5 小结\t175
8.6 习题\t176
8.7 上机练习――Vim的使用\t176
第9章 Shell编程\t177
9.1 Shell编程概述\t177
9.1.1 命令补齐功能\t178
9.1.2 命令通配符\t178
9.1.3 使用命令的历史记录\t179
9.1.4 定义命令别名\t179
9.2 Shell程序的基本结构\t180
9.3 Shell程序中的变量\t180
9.3.1 局部变量\t181
9.3.2 环境变量\t181
9.3.3 位置变量\t183
9.4 Shell程序中的运算符\t184
9.4.1 变量赋值\t184
9.4.2 算术运算符\t185
9.5 Shell程序的输入和输出\t186
9.5.1 使用echo命令输出结果\t186
9.5.2 使用read命令读取信息\t188
9.5.3 文件重定向\t189
9.6 引号的使用方法\t190
9.6.1 双引号\t191
9.6.2 单引号\t191
9.6.3 反引号\t191
9.6.4 反斜线\t192
9.7 测试语句\t192
9.7.1 文件状态测试\t192
9.7.2 数值测试\t193
9.7.3 字符串测试\t194
9.7.4 逻辑测试\t195
9.8 流程控制结构\t195
9.8.1 if语句\t195
9.8.2 if语句应用实例\t197
9.8.3 for语句\t199
9.8.4 for循环应用实例\t200
9.8.5 until语句\t201
9.9 Shell编程实例\t202
9.9.1 程序的功能\t202
9.9.2 编写程序的代码\t203
9.10 小结\t204
9.11 习题\t204
9.12 上机练习――简单的Shell编程\t205
第10章 Linux下C语言编程\t206
10.1 编译及编译器的概念和理解\t206
10.1.1 程序编译的过程\t206
10.1.2 编译器\t207
10.2 GCC编译器\t207
10.2.1 GCC编译器简介\t207
10.2.2 GCC对源程序扩展名的支持\t208
10.3 C程序的编译\t209
10.3.1 编写第一个C程序\t209
10.3.2 用GCC编译程序\t210
10.3.3 查看GCC的可选参数\t210
10.3.4 设置输出的文件\t211
10.3.5 查看编译过程\t212
10.3.6 设置编译的语言\t213
10.3.7 使用-asci设置ANSIC标准\t213
10.3.8 使用g++命令编译C++程序\t213
10.4 编译过程的控制\t214
10.4.1 编译过程概述\t214
10.4.2 控制预处理过程\t215
10.4.3 生成汇编代码\t216
10.4.4 生成目标代码\t217
10.4.5 链接生成可执行文件\t217
10.5 使用GDB调试程序\t218
10.5.1 GDB简介\t218
10.5.2 在程序中加入调试信息\t218
10.5.3 启动GDB\t218
10.5.4 在GDB中加载需要调试的程序\t219
10.5.5 在GDB中查看代码\t219
10.5.6 在程序中加入断点\t220
10.5.7 查看断点\t220
10.5.8 运行程序\t221
10.5.9 变量的查看\t221
10.6 程序调试实例\t223
10.6.1 编写一个程序\t223
10.6.2 编译文件\t223
10.6.3 程序的调试\t224
10.6.4 GDB帮助信息的使用\t226
10.7 GDB常用命令\t227
10.8 编译程序常见的错误类型与处理方法\t228
10.8.1 逻辑错误与语法错误\t228
10.8.2 C程序中的错误与异常\t228
10.8.3 编译中的警告提示\t229
10.8.4 找不到包含文件的错误\t229
10.8.5 逗号使用错误\t230
10.8.6 符号不匹配错误\t230
10.8.7 变量类型或结构体声明错误\t231
10.8.8 使用不存在的函数的错误\t231
10.8.9 大小写错误\t231
10.8.10 数据类型的错误\t232
10.8.11 赋值类型错误\t232
10.9 小结\t232
10.10 习题\t232
10.11 上机练习――GCC和GDB配合调试\t233
第三部分 Linux网络与安全
第11章 Linux网络基础\t236
11.1 计算机网络的发展\t236
11.1.1 面向终端的计算机通信网络\t237
11.1.2 初级计算机网络\t237
11.1.3 开放的标准化计算机网络\t237
11.1.4 新一代计算机网络\t238
11.2 网络基本类型\t238
11.2.1 按网络的地理覆盖范围分类\t238
11.2.2 按网络的拓扑结构分类\t240
11.3 网络体系结构\t242
11.3.1 OSI/RM\t242
11.3.2 TCP/IP\t244
11.4 网络配置基本内容\t248
11.4.1 主机名\t248
11.4.2 IP地址\t248
11.4.3 子网掩码\t251
11.4.4 广播地址\t251
11.4.5 网关地址\t252
11.4.6 域名服务器地址\t252
11.4.7 DHCP服务器\t252
11.5 配置以太网连接\t252
11.5.1 添加以太网连接\t253
11.5.2 修改网络配置\t254
11.5.3 使用配置文件\t255
11.6 连接Internet\t256
11.6.1 使用DSL/PPPoE拨号上网\t257
11.6.2 使用无线网络建立连接\t259
11.7 网络管理常用命令及应用实例\t260
11.7.1 hostname命令\t260
11.7.2 ifconfig命令\t260
11.7.3 ifup命令\t263
11.7.4 ifdown命令\t264
11.7.5 route命令\t264
11.7.6 ping命令\t266
11.7.7 nslookup命令\t268
11.7.8 arp命令\t269
11.7.9 netstat命令\t269
11.7.10 traceroute命令\t270
11.7.11 利用常用命令分析局域网连通故障\t271
11.8 小结\t271
11.9 习题\t272
11.10 上机练习――设置网络参数\t272
第12章 网络安全与病毒防护\t273
12.1 Linux网络安全对策\t273
12.1.1 确保端口安全\t273
12.1.2 确保连接安全\t275
12.1.3 确保系统资源安全\t275
12.1.4 确保账号、密码安全\t277
12.1.5 系统文件的安全性\t277
12.1.6 日志文件的安全性\t280
12.2 Linux下的防火墙配置\t281
12.2.1 防火墙的基本概念\t282
12.2.2 使用firewalld管理防火墙\t283
12.2.3 使用iptables管理防火墙\t285
12.3 使用OpenSSH实现网络安全连接\t292
12.3.1 OpenSSH的安装\t292
12.3.2 启动和停止OpenSSH守护进程\t293
12.3.3 配置OpenSSH服务器\t294
12.3.4 配置OpenSSH客户端\t297
12.3.5 使用ssh客户端\t298
12.3.6 使用scp客户端\t302
12.3.7 使用sftp客户端\t303
12.3.8 使用SSH Secure Shell访问SSH服务器\t304
12.4 小结\t307
12.5 习题\t307
12.6 上机练习――安装简易的xampp并控制Apache服务器访问\t307