第一篇 基础 1
第一章 Linux基础 2
1.1 登录 2
1.2 文件系统的层次结构 3
1.3 考察文件系统的层次结构 5
1.4 口令文件 6
第二章 Linux命令 9
2.1 目录的层次结构 9
2.2 文件系统 11
2.3 处理文件 13
2.4 联机帮助 15
2.5 安全 16
2.6 进程 19
2.7 空间 21
第三章 正文编辑 27
3.1 编辑方式 27
3.2 插入方式 30
3.3 命令方式 31
第四章 Bash 37
4.1 路径名扩展 37
4.2 输入/输出重新定向 39
4.3 管道 41
4.4 后台作业 42
4.5 作业控制 43
4.6 历史表 44
4.7 命令行编辑 46
4.8 命令补全 46
4.9 shell函数 47
第五章 工具和实用程序 50
5.1 搜索和排序 50
5.2 修改文件 58
5.3 简单的数据处理 64
5.4 其他工具 68
5.5 DOS文件 70
6.2 变量 73
第六章 Shell Script 73
6.1 命令文件 73
6.3 shell script参数 76
6.4 登录script 77
6.5 更多变量的赋值方法 78
6.6 自动化状态变量 80
6.7 流程控制 81
6.8 信号 90
第二篇 管理 95
第七章 准备和运行 96
7.1 硬件 96
7.2 各种Linux发布 97
7.3 安装Linux 98
7.4 建立内核 108
第八章 用户 114
8.1 帐号的口令 114
8.2 增加用户帐号 115
8.3 用户组 116
8.4 安全 117
8.5 成批作业 119
8.6 档案 122
9.1 控制台终端 126
第九章 外部设备 126
9.2 调制解调器 130
9.3 鼠标 133
9.4 打印机 135
第十章 X-windows 138
10.1 服务程序和客户程序 138
10.2 X配置 138
10.3 启动X-windows 143
10.4 fvwm 144
10.5 xterm 145
11.1 独立的机器 146
11.2 TCP/IP 146
第十一章 通信 146
11.3 PPP 151
11.4 其他连接方法 154
第十二章 Intemet 158
12.1 e-mail 158
12.2 telnet 160
12.3 ftp 161
12.4 archie 163
12.5 Usenet新闻 164
12.6 gopher 166
12.7 world wide web 167
13.2 安装 169
第十三章 运行DOS 169
13.1 DOSEMU 169
第十四章 安全 172
14.1 文件的权限 172
14.2 访问设备 173
14.3 口令 174
14.4 rool帐号 174
第三篇 系统程序设计 177
第十五章 文件 178
15.1 顺序文件 178
15.2 随机文件 188
15.3 终端输入/输出 190
15.4 索引节点 195
15.5 改变文件属性 199
15.6 文件系统的层次结构 202
第十六章 进程控制 206
16.1 进程识别号 206
16.2 用fork创建进程 207
16.3 exec系统调用 209
16.4 wait和exit系统调用 212
第十七章 进程间通信 217
17.1 管道 217
17.2 输入/输出重新定向 219
17.3 FIFOs 223
17.4 systemV的进程间通信机制 224
17.5 Sockets 228
第十八章 极小的socket库——实例研究 236
18.1 库函数 236
18.2 样本服务程序 243
18.3 样本客户程序 246
第十九章 信号 253
19.1 signal系统调用 253
19.2 sigaclion系统调用 255
19.3 kill系统调用 257
19.5 alarm 系统调用 258
19.4 pause系统调用 258
第二十章 极小的shell——实例研究 261
20.1 数据结构 261
20.2 代码 262
第二十一章 各种系统调用 276
21.1 umask 系统调用 276
21.2 mount 系统调用 277
21.3 umount系统调用 277
21.4 syne 系统调用 277
21.5 显示时间 278
21.6 select系统调用 280
22.2 实践 283
第二十二章 守护进程 283
22.1 原理 283
第二十三章 极小的守护进程--实例研究 288
23.1 守护进程清单 288
23.2 socket服务程序增加的内容 293
23.3 socket服务程序的改变 293
第四篇 设备驱动程序 295
第二十四章 设备驱动程序基础 296
24.1 概述 296
24.2 设备驱动程序子程序 297
24.3 设备驱动程序原理 298
25.1 登记字符设备 300
第二十五章 字符设备驱动程序 300
25.2 工作内存 301
25.3 基本入口点 303
25.4 特殊的控制函数 306
25.5 中断 307
25.6 设备驱动程序安装 308
第二十六章 微小设备驱动程序—— 实例研究 309
26.1 Header信息 309
26.2 init函数 312
26.3 open函数 313
26.5 write函数 314
26.4 release函数 314
26.6 read函数 316
26.7 ioctl函数 317
第二十七章 块设备驱动程序 319
27.1 块设备驱动程序的概念 319
27.2 登记块设备驱动程序 322
27.3 中断 324
27.4 计时程序 327
第五篇 内核 329
第二十八章 进程调度 330
28.1 背景 330
28.2 细节 331
第二十九章 小型线程——实例研究 334
29.1 库调用 335
29.2 调用C函数 336
29.3 线程调度 338
29.4 环境切换 339
29.5 启动新线程 340
29.6 约会机制 343
29.7 建立通道 345
29.8 send和receive 函数 346
29.9 无界缓冲区 348
第三十章 内存管理 350
30.1受保护的编址方式 350
30.2 分页技术 351
30.3 Linux 特色 353
第三十一章 文件存储 354
31.1 VFS 354
31.2 System V 355
31.3 minix 359
31.4 ext2 360
第三十二章 系统调用 362
32.1 中断和异常 362
32.2 系统调用机制 362
32.3 增加新的系统调用 363
GNU通用公共许可证(GPL) 368