第1章 嵌入式Linux操作系统简介 1
1.1 操作系统 2
1.1.1 操作系统的基本概念 2
1.1.2 操作系统的主要组成 4
1.2 嵌入式系统与通用PC系统的不同 5
1.3 嵌入式操作系统 7
1.4 嵌入式Linux基础 9
1.4.1 Linux发展概述 9
1.4.2 Linux作为嵌入式操作系统的优势 11
1.4.3 Linux发行版本 12
1.5 Linux系统安装 13
1.5.1 文件系统和硬盘分区的概念 13
1.5.2 安装准备 15
1.5.3 安装过程 15
1.6 安装虚拟机工具 27
1.7 配置vim编辑环境 33
思考与练习 33
第2章 Linux操作系统的使用 34
2.1 认识Shell 35
2.2 Shell命令的格式 36
2.2.1 命令提示符 36
2.2.2 命令格式 37
2.3 Linux命令 37
2.3.1 用户系统相关命令 37
2.3.2 文件、目录相关命令 42
2.3.3 压缩打包相关命令 52
2.3.4 文件比较命令diff 55
2.4 Linux环境变量 57
思考与练习 59
第3章 Linux软件管理 60
3.1 Linux系统的软件管理机制 61
3.1.1 常用软件包管理工具简介 61
3.1.2 软件的安装与卸载 62
3.1.3 静态软件包的管理 64
3.1.4 软件包的制作 68
3.2 APT高级软件包管理工具 69
3.2.1 APT的运行机制 69
3.2.2 3个重要的配置文件 72
3.2.3 apt-get工具集 72
3.2.4 apt-cache工具集 79
思考与练习 83
第4章 Linux用户管理 84
4.1 用户的定义 85
4.1.1 用户的属性 85
4.1.2 用户与组 85
4.1.3 相关的配置文件 86
4.2 管理命令 87
4.2.1 创建用户 87
4.2.2 删除用户 88
4.2.3 修改属性 89
4.2.4 组管理 89
4.2.5 用户间通信 90
4.3 磁盘配额 90
4.3.1 磁盘配额的概念 90
4.3.2 相关命令 91
4.3.3 应用实例 93
思考与练习 96
第5章 Linux文件系统 97
5.1 文件和目录 98
5.1.1 Linux文件的分类 98
5.1.2 Linux目录结构 99
5.2 文件系统 100
5.3 文件系统体系结构 101
5.4 使用BusyBox制作根文件系统 103
5.4.1 配置与编译BusyBox 103
5.4.2 制作initrd镜像 105
思考与练习 108
第6章 Linux网络配置管理 109
6.1 网络基础知识介绍 110
6.1.1 IP地址 110
6.1.2 子网掩码 111
6.1.3 网关 111
6.1.4 DNS服务器 112
6.2 Linux系统网络配置 112
6.2.1 ifconfig命令 112
6.2.2 修改配置文件来配置IP地址、网关、子网掩码 114
6.2.3 配置DNS服务器 115
6.3 Linux系统常用网络服务配置 116
6.3.1 TFTP服务 117
6.3.2 NFS服务 120
思考与练习 123
第7章 嵌入式Linux编程环境 124
7.1 Linux编辑器vi的使用 125
7.1.1 vi的工作模式 125
7.1.2 使用vi的基本流程 126
7.1.3 vi的模式按钮说明 127
7.2 GCC编译器 130
7.2.1 GCC编译流程及编译选项分析 130
7.2.2 GCC编译选项分析 133
7.3 GDB调试器 134
7.3.1 GDB使用流程 134
7.3.2 GDB命令行参数 138
7.3.3 GDB基本命令 139
7.4 Make工程管理器 143
7.4.1 Makefile基本规则 144
7.4.2 Makefile假目标 149
7.4.3 Makefile变量 150
思考与练习 152
第8章 Shell编程 153
8.1 认识Shell脚本 154
8.2 Shell脚本的基本语法 154
8.2.1 开头 155
8.2.2 执行 155
8.2.3 注释 156
8.2.4 变量 156
8.2.5 Shell程序和语句 161
8.2.6 Shell函数 172
8.2.7 Shell脚本调用 174
8.3 Shell俄罗斯方块游戏 174
8.3.1 方块定义 175
8.3.2 方块移动 178
8.3.3 随机数 185
8.3.4 随机方块移动 188
8.3.5 随机方块降落 193
思考与练习 198
第9章 中断及设备管理 199
9.1 中断的概念 200
9.2 嵌入式平台硬件中断特点 201
9.3 Linux内核中断机制概述 204
9.3.1 中断处理系统结构 208
9.3.2 注册中断处理函数 209
9.3.3 中断标志flags 211
9.3.4 ISR上下文 212
9.4 设备及设备管理的功能 212
9.4.1 设备分类 212
9.4.2 设备管理 213
9.4.3 Linux字符设备 213
9.4.4 Linux块设备 215
9.4.5 Linux网络接口 216
9.4.6 Linux设备文件 216
思考与练习 218
第10章 正则表达式 219
10.1 正则表达式的起源 220
10.2 正则表达式的基本概念 220
10.3 正则表达式中常用符号的定义 221
10.3.1 普通字符 221
10.3.2 非打印字符 221
10.3.3 特殊字符 222
10.3.4 限定符 222
10.4 正则表达式常用匹配规则 223
10.4.1 基本模式匹配 223
10.4.2 字符簇 224
10.4.3 确定重复出现 225
10.5 正则表达式应用部分示例 226
10.5.1 简单表达式 226
10.5.2 字符匹配 226
10.5.3 中括号表达式 227
10.5.4 替换和分组 228
10.5.5 其他示例 229
思考与练习 230