第1章 认识Linux 1
1.1 Linux概述 1
1.1.1 Linux的诞生 1
1.1.2 Linux内核与版本 2
1.1.3 Linux的发行版本 4
1.1.4 Linux的特点 5
1.2 Linux的安装 6
1.2.1 安装前的准备 7
1.2.2 开始安装 9
1.3 Linux用户接口 20
1.3.1 命令接口 20
1.3.2 图形接口 24
1.3.3 程序接口 27
1.4 Linux与其他PC操作系统的比较 29
1.4.1 Linux与MS-DOS比较 29
1.4.2 Linux与Windows比较 29
1.4.3 Linux与UNIX比较 30
1.5 Linux操作系统资源 30
习题1 32
第2章 系统的启动与关闭 33
2.1 引导盘的创建与使用 33
2.1.1 引导盘的创建 33
2.1.2 引导盘的使用 37
2.2 多配置系统引导 37
2.2.1 Linux的引导程序 38
2.2.2 多配置系统引导的实现 39
2.3 系统运行级与运行级的切换 44
2.3.1 系统运行级 44
2.3.2 运行级的查看 45
2.3.3 运行级的切换 45
2.3.4 系统运行级的服务 46
2.4 系统启动与引导过程 55
2.4.1 系统的引导步骤 55
2.4.2 BIOS自检 55
2.4.3 MBR中LILO或GRUB的启动 56
2.4.4 Linux操作系统内核运行 56
2.4.5 inittab文件与init进程 56
2.5 系统的关闭 60
2.5.1 常用的关机方式 60
2.5.2 其他关机命令(不适合多用户情况!!!) 61
习题2 62
第3章 用户登录与账号管理 63
3.1 用户登录 63
3.1.1 终端登录 63
3.1.2 远程登录 64
3.2 管理用户账号 71
3.2.1 添加用户 71
3.2.2 设置口令 76
3.2.3 成批添加用户 78
3.2.4 成批修改口令 80
3.2.5 删除用户 81
3.2.6 修改用户属性 81
3.3 管理组群账号 83
3.3.1 添加用户组群 83
3.3.2 设置用户组群口令 85
3.3.3 删除用户组群 86
3.3.4 修改用户组群属性 86
3.4 图形界面下的账号管理 87
3.4.1 Red Hat用户管理器简介 87
3.4.2 X-Window下的用户管理 89
3.4.3 X-Windows下的组群管理 91
3.5 用户权限管理 92
3.5.1 linuxconf的下载与安装 93
3.5.2 linuxconf组成简介 96
3.5.3 linuxconf的用户权限设置 98
3.5.4 权限设置应用说明 101
3.6 查看登录用户 101
3.6.1 who命令 101
3.6.2 w命令 103
3.6.3 finger命令 104
3.7 改变用户身份 105
3.7.1 su命令 105
3.7.2 sudo命令 106
习题3 107
第4章 文件系统管理 109
4.1 文件与文件系统的概念 109
4.1.1 文件的概念 109
4.1.2 文件系统的概念 115
4.2 Linux目录介绍 118
4.2.1 根目录 119
4.2.2 基本目录 120
4.2.3 特殊目录 124
4.3 文件系统的维护 127
4.3.1 建立文件系统 127
4.3.2 检查文件系统 134
4.3.3 安装与卸载文件系统 137
4.4 网络文件系统 143
4.4.1 输出文件系统 144
4.4.2 安装文件系统 148
4.4.3 NFS配置示例 150
习题4 151
第5章 磁盘文件与目录管理 152
5.1 按名存取 152
5.1.1 文件命名 152
5.1.2 路径 153
5.2 常用的磁盘、文件和目录管理命令 154
5.2.1 磁盘管理 154
5.2.2 文件与目录管理 158
5.3 查找文件 166
5.3.1 命令行方式 166
5.3.2 图形方式 172
5.4 修改文件权限 174
5.4.1 命令方式 175
5.4.2 图形方式 177
5.5 查看文件内容 178
5.5.1 cat命令 178
5.5.2 more命令 179
5.6 文件压缩与解压缩 180
5.6.1 命令行方式 180
5.6.2 图形方式 182
5.7 文件备份与恢复 186
5.7.1 备份介质 186
5.7.2 备份方式 186
5.7.3 文件与数据备份 187
5.8 简单信息处理 193
5.8.1 wc命令 193
5.8.2 grep命令 194
5.8.3 sort命令 196
5.8.4 pr命令 197
5.9 菜单式文件管理程序 198
5.9.1 mc命令概述 198
5.9.2 mc命令的用法 199
5.9.3 mc命令的菜单栏与下拉菜单 200
习题5 206
第6章 Linux的包管理 207
6.1 包管理概述 207
6.2 包管理的特色 207
6.2.1 易用性 208
6.2.2 面向软件包 208
6.2.3 包的升级性 208
6.2.4 探测包的依赖性 209
6.2.5 强大的查询能力 209
6.2.6 软件包校验 209
6.2.7 支持多种结构 210
6.2.8 保持软件包原始特征 210
6.3 命令行下的包管理 210
6.3.1 安装软件包 211
6.3.2 软件包查询 216
6.3.3 软件包校验 217
6.3.4 软件包升级 218
6.3.5 软件包删除 219
6.3.6 数据库维护 220
6.4 图形方式下的RPM包管理 221
6.4.1 “添加/删除应用程序”软件的使用 221
6.4.2 linuxconf软件包管理的使用 225
习题6 232
第7章 进程管理 233
7.1 进程概述 233
7.1.1 进程的概念 233
7.1.2 进程与程序的区别 234
7.1.3 多任务的实现 234
7.1.4 进程的类型 234
7.2 进程的启动 235
7.2.1 手工启动 235
7.2.2 调度启动 238
7.3 进程查看 241
7.3.1 ps命令 242
7.3.2 top命令 250
7.4 进程调度 254
7.4.1 kill命令 255
7.4.2 nice与renice命令 256
习题7 258
第8章 shell编程 259
8.1 vi编辑器 259
8.1.1 vi简介 259
8.1.2 vi的启动与退出 260
8.1.3 学习vi的诀窍 261
8.1.4 基本命令 262
8.1.5 行编辑命令 265
8.1.6 vi的特殊选项 266
8.2 shell概述 267
8.2.1 shell的概念 267
8.2.2 启动与退出shell 268
8.2.3 shell与子进程 270
8.3 shell的功能 270
8.3.1 命令行解释 270
8.3.2 保留字 271
8.3.3 通配符 271
8.3.4 访问和处理程序及命令 271
8.3.5 文件处理:输入/输出重定向和管道 272
8.3.6 命令组合 273
8.3.7 命令的替换 274
8.3.8 变量维护 274
8.3.9 shell环境控制 275
8.4 常用shell 276
8.4.1 常用shell简介 276
8.4.2 bash的特色 277
8.5 shell程序设计 285
8.5.1 shell程序的基本结构 285
8.5.2 shell程序的编辑与运行 286
8.5.3 shell命令的构成 287
8.5.4 变量 288
8.5.5 shell特殊字符屏蔽 293
8.5.6 流程控制语句 294
8.5.7 函数 311
习题8 312
第9章 网络应用 313
9.1 网络应用基础 313
9.1.1 计算机网络的概念 313
9.1.2 IP地址与域名系统 316
9.1.3 子网与超网 319
9.2 网络配置文件与配置方法 320
9.2.1 网络配置文件 321
9.2.2 网络基本配置 328
9.3 常用网络操作命令 333
9.3.1 ping命令 333
9.3.2 ifconfig命令 336
9.3.3 netstat命令 339
9.4 文件传输——FTP 343
9.4.1 FTP基本原理 344
9.4.2 FTP服务的启动 344
9.4.3 文件传输命令及用法 346
习题9 350
第10章 系统内核的裁剪与编译 351
10.1 系统内核的工作机制 351
10.2 系统内核的裁剪 353
10.2.1 内核支持(编译)模式 353
10.2.2 裁剪系统内核应遵循的步骤 354
10.3 配置系统内核 354
10.3.1 配置内容 356
10.3.2 配置方法 357
10.4 编译系统内核 362
10.5 启用新系统内核 363
10.5.1 备份正在使用的系统内核 363
10.5.2 多配置启动的配置文件修改 364
习题10 365
附录 366
附录A Linux资源站点 366
附录B 实验与思考 368
实验1 Linux的安装 368
实验2 Linux的启动与关闭 369
实验3 Linux系统登录及用户管理 370
实验4 文件系统管理 371
实验5 文件、目录操作命令 372
实验6 软件包管理 373
实验7 进程管理命令 374
实验8 编辑器vi的应用 375
实验9 shell编程 376
实验10 网络管理命令 377
实验11 内核裁减 377
参考文献 379