第1章 Linux系统概述 1
1.1 计算机基础知识 1
1.1.1 硬件 1
1.1.2 软件 3
1.2 操作系统概述 4
1.2.1 什么是操作系统 4
1.2.2 操作系统的功能 5
1.2.3 操作系统的类型 9
1.3 Linux系统的历史和现状 12
1.3.1 Linux的历史 12
1.3.2 Linux的应用现状 12
1.4 Linux系统的特点 14
1.5 Linux的发展优势与存在的问题 15
1.5.1 Linux的发展优势 15
1.5.2 Linux的用户 16
1.5.3 Linux的不足 16
1.6 Linux的常用版本 17
思考题 19
第2章 常用命令及文件操作 20
2.1 命令行方式 20
2.1.1 进入命令行界面 20
2.1.2 提示符 20
2.2 简单命令 22
2.3 命令格式 24
2.3.1 一般命令格式 24
2.3.2 常用命令一般格式 25
2.4 文件及其类型 29
2.4.1 文件概念 29
2.4.2 文件类型 32
2.5 常用文件操作命令 33
2.5.1 有关文件显示命令 33
2.5.2 匹配、排序及显示指定内容的命令 37
2.5.3 比较文件内容的命令 40
2.5.4 复制、删除和移动文件的命令 42
2.5.5 文件内容统计命令 45
思考题 45
第3章 目录及其操作 47
3.1 目录、路径名和存取权限 47
3.1.1 目录概念 47
3.1.2 路径名 49
3.1.3 用户及文件存取权限 51
3.2 常用目录操作命令 52
3.2.1 创建和删除目录 52
3.2.2 改变工作目录和显示目录内容 54
3.2.3 链接文件的命令 57
3.2.4 改变文件或目录存取权限 60
3.2.5 改变用户组和文件主 63
3.3 联机帮助命令 64
3.3.1 man命令 64
3.3.2 help命令 65
思考题 67
第4章 进程及其管理 68
4.1 进程概念 68
4.1.1 多道程序设计 68
4.1.2 进程概念 70
4.2 进程状态 71
4.2.1 进程的基本状态 71
4.2.2 进程状态的转换 72
4.2.3 进程族系 73
4.3 进程管理命令 73
4.3.1 查看进程状态 73
4.3.2 进程管理 76
4.4 其他常用命令 80
4.4.1 磁盘使用情况统计 80
4.4.2 文件压缩和解压缩 82
思考题 84
第5章 文本编辑 85
5.1 进入和退出vi 85
5.1.1 进入vi 85
5.1.2 退出vi 86
5.2 vi的工作方式 86
5.3 文本输入命令 87
5.4 光标移动命令 90
5.5 文本修改命令 92
5.5.1 文本删除 92
5.5.2 复原命令 93
5.5.3 重复命令 93
5.5.4 修改命令 94
5.5.5 取代命令 96
5.5.6 替换命令 97
5.6 字符串检索 98
思考题 99
第6章 C程序编译工具 100
6.1 gcc编译系统 100
6.1.1 文件名后缀 100
6.1.2 C语言编译过程 101
6.1.3 gcc命令行选项 103
6.2 gdb程序调试工具 106
6.2.1 启动gdb和查看内部命令 106
6.2.2 显示源程序和数据 108
6.2.3 改变和显示目录或路径 110
6.2.4 控制程序的执行 111
6.2.5 其他常用命令 113
6.2.6 应用示例 114
思考题 116
第7章 shell程序设计 119
7.1 shell概述 119
7.1.1 shell的特点和类型 119
7.1.2 shell脚本的建立和执行 120
7.2 shell变量和算术运算 122
7.2.1 简单shell变量 122
7.2.2 数组 124
7.2.3 位置参数 125
7.2.4 预先定义的特殊变量 126
7.2.5 环境变量 127
7.2.6 算术运算 128
7.3 输入/输出及重定向命令 130
7.3.1 输入/输出命令 130
7.3.2 输入/输出重定向 132
7.4 shell特殊字符和命令语法 133
7.4.1 引号 133
7.4.2 注释、管道线和后台命令 135
7.4.3 命令执行操作符 136
7.4.4 复合命令 137
7.5 程序控制结构 138
7.5.1 if语句 139
7.5.2 条件测试 140
7.5.3 while语句 142
7.5.4 until语句 143
7.5.5 for语句 143
7.5.6 case语句 146
7.5.7 break、continue和exit命令 147
7.6 shell函数和内置命令 148
7.6.1 shell函数 148
7.6.2 shell内置命令 149
7.7 shell脚本调试 151
7.7.1 解决环境设置问题 151
7.7.2 解决脚本错误 151
思考题 152
第8章 安装Linux系统 154
8.1 基本硬件要求 154
8.2 安装前准备工作 154
8.3 多系统共存时分区的划分 156
8.4 系统安装过程 158
8.4.1 启动安装程序 158
8.4.2 安装过程 158
8.5 登录和退出系统 167
8.5.1 登录 167
8.5.2 退出 168
思考题 168
第9章 Linux桌面系统及其配置 170
9.1 Linux图形界面概述 170
9.1.1 图形界面简介 170
9.1.2 X Window系统 172
9.2 KDE桌面系统 174
9.2.1 GNOME和KDE概述 174
9.2.2 KDE桌面系统 175
9.2.3 窗口操作及快捷键 179
9.3 控制面板概述 180
9.4 硬件配置 183
9.4.1 配置显卡 183
9.4.2 配置声卡 185
9.4.3 配置网卡 186
9.4.4 配置打印机 188
9.5 KDE环境日常应用 189
9.5.1 建立文档 189
9.5.2 复制文件 190
9.5.3 抓图 191
思考题 192
第10章 Linux系统管理 193
10.1 系统管理概述 193
10.2 用户和工作组管理 194
10.2.1 用户管理 194
10.2.2 工作组管理 200
10.2.3 设置用户登录环境 202
10.2.4 用户磁盘空间限制 202
10.3 文件系统及其维护 204
10.3.1 建立文件系统 204
10.3.2 安装文件系统 205
10.3.3 卸载文件系统 207
10.3.4 维护文件系统 208
10.4 文件系统的后备 209
10.4.1 备份策略 209
10.4.2 备份时机和工具 210
10.4.3 恢复后备文件 211
10.5 系统安全管理 211
10.5.1 安全管理的目标和要素 211
10.5.2 用户密码的管理 212
思考题 214
第11章 Linux内核简介 215
11.1 Linux内核结构 215
11.2 进程管理 216
11.2.1 Linux进程和线程概念 216
11.2.2 对进程的操作 217
11.2.3 进程调度 219
11.2.4 shell基本工作原理 220
11.3 文件系统 221
11.3.1 ext2文件系统 221
11.3.2 虚拟文件系统 223
11.4 内存管理 225
11.4.1 内存管理技术 225
11.4.2 内存交换 228
11.5 设备管理 229
11.5.1 设备管理概述 229
11.5.2 设备驱动程序和内核之间的接口 230
11.6 中断、异常和系统调用 232
11.6.1 中断及其处理 233
11.6.2 系统调用 234
11.7 进程通信 234
11.7.1 信号机制 234
11.7.2 管道文件 237
11.7.3 SystemV IPC机制 237
11.8 系统初启 238
思考题 239
第12章 网络管理 240
12.1 网络概述 240
12.1.1 网络分类和拓扑结构 240
12.1.2 网络协议 241
12.1.3 IP地址和网络掩码 244
12.2 网络管理与有关命令 246
12.2.1 网络管理功能 246
12.2.2 基本网络命令 247
12.3 电子邮件 251
12.3.1 电子邮件系统简介 251
12.3.2 邮件环境简易配置 253
12.4 网络安全 259
12.4.1 网络安全简介 259
12.4.2 Linux安全问题及对策 261
12.4.3 网络安全工具 264
12.4.4 计算机病毒 264
12.5 防火墙技术 267
12.5.1 防火墙技术的基本概念 267
12.5.2 防火墙的基本技术 268
思考题 269
附录 实验指导 271
实验一 文件和目录操作(3~4学时) 271
实验二 进程操作及其他命令(2~3学时) 272
实验三 vi编辑器(2~3学时) 273
实验四 C程序的编译和调试(2~3学时) 274
实验五 shell编程(3~4学时) 274
实验六 系统安装与简单配置(3~4学时) 274
实验七 KDE桌面环境应用(2~3学时) 275
实验八 系统及网络管理(2~3学时) 276
参考文献 277