第1章Linux操作系统基础 1
1.1 Linux操作系统概述 1
1.1.1 Linux操作系统简介 1
1.1.2 Linux操作系统主要构成 3
1.1.3 Linux系统的特点 3
1.2基本使用及基本命令 4
1.2.1用户与系统管理员 4
1.2.2进入与退出系统 5
1.2.3在用户之间切换 6
1.2.4基本命令 6
1.3 vi编辑器 21
1.3.1 vi简介 21
1.3.2 vi模式 22
1.3.3 vi命令 22
1.3.4在vi编辑器中使用Shell 24
1.3.5设置vi的工作环境 24
1.4文件管理命令 25
1.4.1文件类型 25
1.4.2目录及目录层次 27
1.4.3文件、目录的所有者和权限 27
1.4.4修改文件、目录的所有者和权限 28
1.4.5文件、目录的访问权限 29
1.4.6使用chmod命令修改文件或目录的访问权限 30
1.5 grep命令 32
1.5.1 grep命令简介 32
1.5.2 grep、 egrep和fgrep命令 34
1.5.3 grep与正则表达式 34
1.6 sort命令 35
1.7 sed命令 37
1.7.1 sed命令简介 37
1.7.2文本查询 38
1.7.3 sed基本编辑命令 38
1.7.4 sed应用举例 39
1.7.5 sed与grep命令 43
1.8 comm、 diff和cmp命令 44
1.8.1 comm命令 44
1.8.2 diff命令 45
1.8.3 cmp命令 47
1.9 awk命令 48
1.9.1 awk命令简介 48
1.9.2 awk应用举例 49
1.9.3 awk脚本 55
1.10本章小结 58
上机练习 58
习题一 61
第2章Linux系统管理基础 63
2.1系统引导、运行与系统关闭 63
2.1.1系统引导 63
2.1.2系统运行级 64
2.1.3系统关闭 67
2.2用户及组管理命令 68
2.2.1用户管理信息和用户管理文件 68
2.2.2用户管理命令 72
2.3系统管理员与用户通信 74
2.3.1系统管理员通知本机用户 75
2.3.2发送消息到系统的单个用户 75
2.3.3发送消息到系统或网络中的所有用户 76
2.4任务自动调度 77
2.4.1周期性间隔时间调度cron 77
2.4.2在指定时间执行at命令 80
2.4.3作业控制 82
2.5系统性能管理 84
2.5.1监控进程活动信息的应用软件包Psacct 84
2.5.2收集与进程有关的统计信息 87
2.6本章小结 94
上机练习 95
习题二 95
第3章Shell及其编程 96
3.1 Shell概述 96
3.1.1 Boume Shell 96
3.1.2 C Shell 98
3.1.3 Korn Shell 100
3.2 Shell脚本 101
3.3 Shell脚本变量 103
3.3.1环境变量 104
3.3.2系统特殊变量 106
3.3.3用户自定义变量 108
3.3.4显示变量 110
3.3.5 Shell输入/输出命令 111
3.3.6 Shell中的运算 113
3.4 Shell控制结构 113
3.4.1 if then else语句 113
3.4.2 case语句 117
3.4.3 for语句 118
3.4.4 while语句 121
3.4.5 until语句 123
3.4.6 break和continue语句 124
3.5 Shell函数 126
3.5.1函数定义 126
3.5.2脚本中函数调用 126
3.5.3 Shell中使用函数 128
3.6 Shell工具 129
3.6.1 trap通知 129
3.6.2创建信息的文件 132
3.6.3 logger命令 133
3.6.4 eval命令 135
3.7 Shell Script编程应用实例 137
3.8本章小结 139
上机练习 139
习题三 139
第4章Linux进程管理及进程通信 140
4.1 Linux进程及描述 140
4.1.1 Linux系统中的进程 140
4.1.2进程状态及其转换 141
4.1.3进程映象与进程上下文 142
4.1.4进程描述符与进程表 143
4.2进程控制 147
4.2.1创建进程 147
4.2.2结束进程 148
4.3进程调度 149
4.3.1进程相关参数 149
4.3.2动态优先级进程调度 149
4.3.3先来先服务和时间片轮转调度 150
4.4进程间通信 150
4.4.1信号 150
4.4.2管道 161
4.4.3消息 171
4.4.4共享存储区 174
4.4.5信号量 177
4.5进程管理命令 179
4.5.1 ps命令 179
4.5.2 kill命令 180
4.5.3 nice命令 180
4.5.4 sleep命令 181
4.5.5 wait命令 181
4.6本章小结 181
上机练习 182
习题四 182
第5章Linux文件系统 183
5.1 Linux文件系统基础 183
5.1.1 Linux文件系统概述 183
5.1.2 i节点与文件寻址 183
5.1.3通过文件系统实现对设备的管理 186
5.1.4虚拟文件系统(VFS)层 187
5.1.5虚拟文件系统/proc 187
5.2 Linux文件系统结构 189
5.3 Linux文件系统类型 190
5.3.1 Ext2文件系统 190
5.3.2 Ext3文件系统 193
5.3.3 Ext4文件系统 194
5.3.4 Btrfs文件系统 195
5.4文件系统的启用 197
5.4.1加载与卸载 197
5.4.2文件系统加载文件 197
5.4.3加载文件系统类型 199
5.4.4加载本地文件系统 199
5.4.5远程加载(共享网络文件系统) 201
5.5文件系统管理 202
5.5.1磁盘分区管理 202
5.5.2维护文件系统 204
5.5.3文件系统检测 209
5.6文件系统的备份与恢复 210
5.6.1备份与恢复 210
5.6.2备份工具dump和恢复工具restore 211
5.6.3 tar、 cpio、 dd命令 219
5.7本章小结 225
上机练习 225
习题五 225
第6章Linux系统函数调用 227
6.1 Linux系统函数调用概述 227
6.2文件系统类系统函数调用 228
6.2.1文件系统控制类系统函数调用 228
6.2.2文件系统操作类系统函数调用 240
6.3进程类系统函数调用 259
6.3.1创建一个新进程 261
6.3.2按照指定条件创建子进程 262
6.3.3运行可执行文件与创建一个子进程供执行新程序 264
6.3.4中止进程与立即中止当前进程 267
6.3.5进程所能打开的最大文件数 267
6.3.6获取进程标识符与获取父进程标识符 268
6.3.7获取指定进程组标识符与获取当前进程组标识符 268
6.3.8设置指定进程组标识符与设置当前进程组标识符 269
6.3.9获取调度优先级、设置调度优先级与改变分时进程的优先级 270
6.3.10读写进程的本地描述表 272
6.3.11使进程睡眠指定的时间 272
6.3.12挂起进程 273
6.3.13设置进程运行域 273
6.3.14对进程进行特定操作 274
6.3.15 进程跟踪 275
6.3.16取得静态优先级的上限与取得静态优先级的下限 277
6.3.17取得进程的调度参数、取得指定进程的调度策略与取得按RR算法调度的实时进程的时间片长度 278
6.3.18设置进程的调度参数与设置指定进程的调度策略和参数 279
6.3.19进程主动让出处理器并将进程等候调度至队列尾 280
6.3.20等待子进程终止与等待指定子进程终止 281
6.3.21获取进程权限与设置进程权限 284
6.3.22获取会晤标识符与创建会晤进程并设置会晤标识符 287
6.4内存管理类系统函数调用 288
6.4.1改变数据段空间的分配 288
6.4.2内存页面加锁、调用进程所有内存页面加锁与内存页面解锁、调用进程所有内存页面解锁 289
6.4.3映射虚拟内存页、释放内存页映射与重新映射虚拟内存地址、将映射内存中的数据写回磁盘 291
6.4.4设置内存映象保护 293
6.4.5获取页面大小 295
6.4.6将内存缓冲区数据写回硬盘 296
6.4.7监视文件描述符 297
6.5用户管理类系统函数调用 299
6.5.1设置用户属性的系统函数调用 299
6.5.2获取用户属性的系统函数调用 301
6.5.3用户管理系统函数调用应用 302
6.6系统函数调用实例 303
6.7本章小结 310
上机练习 316
习题六 316
第7章Linux网络管理 317
7.1配置TCP/IP网络 317
7.1.1使用ifconfiig命令配置IP地址和掩码 317
7.1.2使用route命令配置网关 317
7.1.3通过文件配置IP地址、掩码和路由信息 318
7.2配置TCP/IP应用服务 319
7.2.1文件/etc/hostname用于指定主机的名称 319
7.2.2文件/etc/inetd.conf控制网络服务进程 319
7.2.3文件/etc/netmask配置子网掩码 322
7.2.4文件/etc/networks定义子网名称 322
7.2.5文件/etc/hosts映射IP地址与域名 323
7.2.6文件/etc/resolve.conf用于域名解析服务器 323
7.2.7文件/etc/host.conf用于指定解析域名的方式 324
7.2.8文件/etc/sysconfig/network用于指定服务器上的网络配置信息 324
7.2.9文件/etc/services用于说明所提供的TCP服务 325
7.2.10文件/etc/securetty用于限制超级用户登录 325
7.2.11文件/etc/host 1 deny和/etc/hostl.allow用于指定系统可以使用的网络服务 326
7.3 TCP/IP接口管理 327
7.3.1查看系统网络接口 327
7.3.2改变网络接口参数 327
7.3.3查看网络连接状态 328
7.3.4网络接口统计信息 330
7.4本章小结 331
上机练习 331
习题七 332
参考文献 333