第1章 绪论 1
1.1 UNIX/Linux发展历史 1
1.1.1 UNIX发展历史 1
1.1.2 从UNIX到Linux的过渡:Minix系统与GNU计划 3
1.1.3 Linux的诞生与发展 4
1.1.4 POSIX标准与软件移植 4
1.2 Linux简介 5
1.2.1 Linux结构 5
1.2.2 Linux发行版 7
1.2.3 Linux的特点 9
1.3 学习Linux的方法 10
第2章 安装Linux操作系统 12
任务1 准备Linux系统运行环境 12
2.1.1 Linux硬件需求 12
2.1.2 安装Linux的软硬件环境 13
任务2 新建VMware虚拟机 13
2.2.1 VMware Workstation虚拟机软件简介 13
2.2.2 新建虚拟机的软件配置 13
2.2.3 新建虚拟机的硬件相关选项 15
任务3 安装RHEL 6.3 18
2.3.1 系统安装前的引导光盘配置 18
2.3.2 在VMware虚拟机中安装RHEL 6.3 19
第3章 登录并访问Linux 32
任务1 从X-Windows登录访问Linux 32
3.1.1 启动Linux系统 32
3.1.2 登录RHEL 6.3图形界面 34
3.1.3 通过Shell与Linux交互 35
任务2 使用X-Windows的终端程序访问Linux 35
任务3 从本地虚拟终端登录访问Linux 36
3.3.1 任务实施 36
3.3.2 虚拟控制台简介 37
任务4 通过SSH远程登录Linux系统 38
任务5 使用Linux Shell 40
3.5.1 基本Shell命令 40
3.5.2 Shell命令行 43
3.5.3 Shell在Linux系统中的地位 45
3.5.4 终端、控制台、虚拟终端、伪终端 46
任务6 注销用户登录与关闭Linux 47
3.6.1 注销登录 47
3.6.2 关闭Linux或重启Linux系统 48
第4章 访问Linux文件系统 51
任务1 对比Linux与Windows文件系统结构区别 51
4.1.1 Linux树型目录结构 51
4.1.2 Linux FHS目录树 52
4.1.3 Linux支持的文件系统 54
4.1.4 Linux文件与文件类型 55
4.1.5 几个Linux目录相关的概念 56
4.1.6 Linux文件系统访问Shell命令 57
任务2 在Linux中使用外部存储设备 60
4.2.1 磁盘分区的mount加载 60
4.2.2 Linux自动加载外部存储设备 62
4.2.3 在RHEL 6.3Linux系统中存取U盘数据 62
4.2.4 RHEL 6.3Linux中使用光盘 64
任务3 手动加载与卸载存储设备 65
4.3.1 在X-Windows图形界面中卸载磁盘 65
4.3.2 使用umount卸载磁盘 65
4.3.3 使用mount命令手动安装加载外部磁盘设备 66
第5章 使用Shell命令行 68
任务1 认识Linux Shell 68
5.1.1 Shell的作用与种类 68
5.1.2 Shell功能 71
5.1.3 Shell特殊符号 73
5.1.4 同时运行多条命令 74
5.1.5 Shell变量 75
5.1.6 Shell环境配置 79
任务2 在Linux Shell命令行编辑文件 80
5.2.1 vi简介 81
5.2.2 任务操作:用vi新建并保存一个文件 81
5.2.3 vi工作模式 84
5.2.4 常用vi命令 85
任务3 扩展Shell命令 88
5.3.1 Shell命令替换 88
5.3.2 Shell输入/输出重定向与管道 89
任务4 使用Shell命令帮助 95
第6章 Linux用户账号配置与管理 97
任务1 获取登录用户stu 1用户账号信息 97
6.1.1 任务操作:用户stu 1登录Linux的相关信息 97
6.1.2 用户与用户组 98
6.1.3 用户与用户组信息文件 100
任务2 建立用户与用户组账号 104
6.2.1 建立用户组 104
6.2.2 建立用户账号并设定登录密码 105
6.2.3 使用gpasswd设定组密码与管理组成员 107
6.2.4 修改用户账号与组账号 107
6.2.5 删除用户、删除组 109
6.2.6 任务实施步骤 109
6.2.7 使用newgrp切换用户主组 111
任务3 使用口令时限机制增强系统安全性 112
6.3.1 设定默认口令时效参数 113
6.3.2 使用chage修改账号的口令时限信息 113
6.3.3 任务实施 114
第7章 Linux文件系统权限配置与管理 116
任务1 普通用户stu2访问其他用户的目录 116
7.1.1 操作演示:普通用户stu2尝试访问文件系统 116
7.1.2 文件系统权限访问控制机制 117
7.1.3 访问Linux文件与目录的权限要求 118
7.1.4 权限的数字表示形式 120
任务2 为用户组students建立用户组共享目录 120
7.2.1 文件权限设置Shell命令 120
7.2.2 任务操作:建立用户组共享目录 123
任务3 增强students组共享目录安全性 125
7.3.1 特殊权限 126
7.3.2 任务操作 128
7.3.3 特殊权限的数字表示形式 130
任务4 通过umask设定新建文件的默认权限 130
第8章 Linux软件包安装与管理 133
任务1 认识Linux发行版 133
任务2 认识Linux软件包的依赖性问题 135
8.2.1 Linux源代码软件编译环境 135
8.2.2 Linux可执行程序与函数库 136
8.2.3 动态链接执行程序所调用的外部库 137
8.2.4 Linux软件包依赖性问题 138
任务3 认识Linux软件发布形式 141
任务4 使用rpm管理软件包 142
8.4.1 rpm简介 142
8.4.2 rpm软件包文件命名格式 143
8.4.3 rpm命令 143
8.4.4 通过rpm包搜索引擎查找rpm软件包 147
任务5 编译tarball源码软件 149
8.5.1 源代码软件开发编译环境 150
8.5.2 tarball源代码软件包的安装步骤 152
8.5.3 编译GNU源代码软件hello 152
8.5.4 编译开源摄像头服务程序mjpg-streamer 154
任务6 编译src.rpm源码软件包 156
8.6.1 编译src.rpm的步骤 157
8.6.2 编译tree-1.5.3-2.e16.src.rpm 157
任务7 使用yum安装软件 159
8.7.1 yum简介 159
8.7.2 yum系统组成 159
8.7.3 配置yum源 160
8.7.4 使用yum安装与卸载软件包 161
8.7.5 使用yum软件组功能安装和卸载软件 162
第9章 Linux Shell脚本编程 165
任务1 编写并运行Shell脚本 165
9.1.1 运行简单Shell脚本 165
9.1.2 几种脚本运行方式比较 166
任务2 学习Bash Shell脚本基本语法 168
9.2.1 在Shell脚本中使用变量 168
9.2.2 Shell中的数学运算命令 172
9.2.3 Shell条件判断 175
9.2.4 控制语句 178
任务3 编写新建用户账号并设置随机密码的Shell脚本 183
任务4 编写批量建立用户的Shell脚本 185
任务5 编写读取用户列表文件批量建立账号的Shell脚本 186
第10章 Linux内核升级与模块管理 189
任务1 查看RHEL Linux内核与模块信息 189
10.1.1 Linux内核与模块 189
10.1.2 Linux LKM内核优点 190
10.1.3 Linux内核版本号 190
10.1.4 RHEL 6.3内核模块信息 192
10.1.5 RHEL 6.3中驱动USB摄像头 195
任务2 编译支持NTFS文件系统的Linux内核 196
10.2.1 获取内核源代码 197
10.2.2 Linux内核编译步骤 197
10.2.3 配置内核选项 199
10.2.4 任务操作:编译内核增加NTFS分区支持 203
任务3 管理Linux模块 209
10.3.1 常用模块管理Shell命令 209
10.3.2 管理模块依赖性 213
10.3.3 模块配置modprobe.conf 213
任务4 编译安装网卡驱动 214
任务5 调整内核参数关闭ping应答 216
第11章 Linux网络配置与网络服务管理 218
任务1 使用NetworkManager管理网络连接 218
11.1.1 使用NetworkManager启动、断开网络连接 218
11.1.2 NetworkManager配置网络连接 221
11.1.3 Linux网络设备驱动信息 222
11.1.4 RHEL 6.3网络配置 225
任务2 禁用NetworkManager网络托管工具管理网络 228
11.2.1 配置过程 228
11.2.2 Linux服务管理与运行级别 229
任务3 使用FTP服务传输myweb网站数据文件 232
11.3.1 启动FTP服务器 232
11.3.2 通过客户端登录FTP服务器 233
11.3.3 修改配置允许普通用户通过FTP访问用户主目录 234
11.3.4 通过FTP向服务器传输网站压缩包myweb.tar.gz 234
11.3.5 使用命令行FTP工具访问FTP服务器 235
任务4 通过Web服务器发布myweb网站 236
11.4.1 HTTP服务简介 237
11.4.2 启动HTTP服务 237
11.4.3 发布myweb网站 238
第12章 Linux GCC编程基础 240
任务1 Linux C编程环境概述 240
12.1.1 Linux编程环境简介 240
12.1.2 RHEL 6.3Linux编程环境 241
任务2 使用GCC工具编译源代码 242
12.2.1 GCC介绍 242
12.2.2 GCC基本用法与常用选项 244
12.2.3 GCC静态编译 246
12.2.4 指定GCC链接其他函数库 247
12.2.5 使用GCC编译生成函数库 251
任务3 可执行程序函数库搜索路径 254
12.3.1 动态函数库搜索路径 254
12.3.2 设置-rpath参数直接指定可执行程序的函数库路径 255
12.3.3 配置环境变量LD_LIBRARY_PATH设置函数库路径 256
12.3.4 修改ld.so.conf配置文件 257
任务4 使用pkg-config生成外部函数库的编译参数 257
任务5 工程配置文件Makefile 259
12.5.1 make项目管理器简介 259
12.5.2 Makefile基本结构 260
12.5.3 make工作原理 262
12.5.4 简化Makefile 262
参考文献 264