定 价:59.8 元
丛书名:高等学校信息技术类新方向新动能新形态系列规划教材
- 作者:方元
- 出版时间:2019/7/1
- ISBN:9787115511584
- 出 版 社:人民邮电出版社
- 中图法分类:TP316.85
- 页码:
- 纸张:胶版纸
- 版次:
- 开本:128开
本书介绍Linux操作系统的基本组成、使用以及管理和开发的一些方法。全书共9章,第1章Linux基本介绍讲述Linux的发展和一些主要的发行版,第2章计算机基本结构介绍讲述计算机系统和Linux的核心组成,第3章Linux桌面系统介绍Ubuntu发行版的安装和主要桌面系统软件,第4章命令行工作方式介绍Linux操作系统命令行环境的使用方法,第5章shell脚本介绍shell脚本程序,第6章Linux系统管理介绍Linux系统维护和管理的相关工作,第7章软件开发介绍在Linux环境中进行C语言程序开发的基本方法,第8章版本控制系统介绍与软件开发密切相关的版本控制系统,第9章内核管理介绍Linux系统内核管理和移植的基本方法。
本书可作为高等学校电子、计算机、物联网等电子信息类相关专业Linux操作系统课程的教材,也可供Linux操作系统的学习者和爱好者参考。
与Windows 操作系统不同的是,Linux操作系统通常有比较专业的应用背景,而不仅限于编辑文档、上网浏览,特别是很多场合还需要键盘交互,Linux 还常常用于开发,因此Linux 操作系统的系统性教学比Windows系统更为重要,而市面上这类教材比 Windows 又少得多。
方元,副教授,硕士生导师,任职于南京大学电子科学与工程学院。研究方向:微计算机原理与接口/语音数字信号处理/数字信号处理。
目录
第 1章 Linux基本介绍
1.1 操作系统的发展 2
1.1.1 历史回顾 2
1.1.2 UNIX的诞生 3
1.1.3 UNIX的发展 5
1.2 Linux的诞生 6
1.2.1 塔能鲍姆和他的MINIX 6
1.2.2 GNU计划 6
1.2.3 Linus和Linux 7
1.2.4 POSIX标准 8
1.3 Linux操作系统的特点 9
1.4 Linux的主要发行版 12
1.4.1 Slackware 12
1.4.2 Debian 13
1.4.3 Red Hat及其衍生版 13
1.4.4 Gentoo 14
1.4.5 SUSE/openSUSE 15
1.4.6 Ubuntu 15
1.5 小结 16
1.6 本章练习 16
第 2章 计算机基本结构介绍
2.1 微型计算机基础 18
2.1.1 计算机的信息表示方法 18
2.1.2 CPU 20
2.1.3 存储器 23
2.1.4 I/O接口与外设 25
2.1.5 总线 26
2.2 操作系统基础 26
2.2.1 进程管理 27
2.2.2 存储管理 36
2.2.3 文件系统 41
2.2.4 设备驱动 44
2.2.5 网络连接 45
2.3 小结 50
2.4 本章练习 50
第3章 Linux桌面系统
3.1 安装Linux 53
3.1.1 选择一个发行版 53
3.1.2 制作安装工具 53
3.1.3 选择安装方式 55
3.1.4 安装过程 56
3.1.5 完成安装 60
3.2 Linux系统桌面环境 60
3.2.1 外观 60
3.2.2 桌面环境配置 61
3.3 常用软件 62
3.3.1 文件管理器 62
3.3.2 软件安装工具 63
3.3.3 文本编辑工具 64
3.3.4 文档排版工具 65
3.3.5 图形处理工具 68
3.3.6 多媒体软件 69
3.3.7 工程类软件 70
3.4 小结 73
3.5 本章练习 73
第4章 命令行工作方式
4.1 命令行的特点 76
4.1.1 两种字符界面 76
4.1.2 认识终端环境 76
4.1.3 环境变量PATH 77
4.1.4 命令行的格式 78
4.1.5 快捷键和符号 80
4.2 目录 82
4.2.1 游走于目录之间 82
4.2.2 目录层次结构 86
4.3 文件属性 88
4.3.1 列文件清单 88
4.3.2 文件的完整属性 88
4.3.3 文件的属性位 89
4.3.4 改变文件的属性 89
4.4 文件操作 92
4.4.1 复制文件 92
4.4.2 文件搬家 93
4.4.3 删除文件 94
4.4.4 文件链接 94
4.4.5 浏览文件 95
4.4.6 查找文件 96
4.4.7 文件比较 98
4.4.8 文件处理 100
4.5 学习更多的命令 105
4.5.1 使用帮助选项 105
4.5.2 手册页 105
4.5.3 shell内部命令帮助 107
4.6 正则表达式 107
4.6.1 匹配规则 108
4.6.2 重复匹配 108
4.6.3 非贪婪匹配 109
4.6.4 特殊匹配规则 110
4.7 磁盘和用户管理 110
4.7.1 磁盘分区 110
4.7.2 挂载和卸载文件系统 112
4.7.3 用户和组 114
4.7.4 用户和组的管理 116
4.8 进程控制 118
4.8.1 进程状态 118
4.8.2 改变进程状态 121
4.8.3 历史命令 122
4.8.4 前台与后台 123
4.9 I/O重定向与管道 123
4.9.1 I/O重定向 123
4.9.2 管道 127
4.9.3 灵活的处理手段 127
4.10 小结 128
4.11 本章练习 129
第5章 shell脚本
5.1 bash环境 132
5.2 shell变量 132
5.2.1 命名变量 132
5.2.2 变量的运算 133
5.2.3 变量的数值运算 134
5.2.4 数组 136
5.3 基本shell编程 136
5.3.1 shell脚本 136
5.3.2 函数 138
5.3.3 特殊变量 138
5.3.4 变量的作用范围 139
5.4 程序流控制 140
5.4.1 条件结构 140
5.4.2 循环结构 144
5.4.3 陷阱 147
5.5 命令行参数和选项 149
5.5.1 多参数的处理方法 149
5.5.2 命令行的选项 149
5.6 模块化脚本编程 151
5.6.1 模块化 151
5.6.2 shell子进程 152
5.7 小结 154
5.8 本章练习 154
第6章 Linux系统管理
6.1 操作系统的启动过程 157
6.1.1 硬盘的逻辑结构 157
6.1.2 引导加载器 158
6.2 Linux系统的启动配置 158
6.2.1 SysV初始化 159
6.2.2 systemd初始化 163
6.3 包管理工具 168
6.3.1 安装包格式 168
6.3.2 后台包管理工具 169
6.3.3 高级包管理工具 170
6.3.4 snapcraft 172
6.3.5 安装包格式转换 172
6.4 网络工具 172
6.4.1 设置网络地址 173
6.4.2 域名解析 174
6.4.3 Ubuntu网络配置 175
6.4.4 防火墙设置 175
6.4.5 远程连接 178
6.5 服务管理 179
6.5.1 网络文件系统服务 179
6.5.2 SAMBA 180
6.5.3 远程登录服务 181
6.5.4 计划任务管理 181
6.6 系统备份 183
6.7 系统日志 187
6.7.1 日志文件在哪里 187
6.7.2 日志文件的产生 188
6.8 用户安全认证 190
6.9 小结 193
6.10 本章练习 194
第7章 软件开发
7.1 编译工具 196
7.1.1 GCC工具链 196
7.1.2 gcc常用选项说明 196
7.1.3 代码分析工具 197
7.2 软件开发过程 201
7.2.1 源程序的准备 201
7.2.2 编译和运行 203
7.2.3 将模块编译成库 203
7.2.4 程序优化 206
7.3 软件调试 209
7.3.1 启动gdb 209
7.3.2 运行程序 210
7.3.3 调试功能 211
7.3.4 gdb常用命令 213
7.3.5 汇编语言调试命令 214
7.3.6 其他调试器 214
7.4 GNU Make 215
7.4.1 Makefile基本结构 216
7.4.2 GNU Make基本规则 218
7.4.3 GNU Make的依赖 224
7.4.4 伪目标 225
7.4.5 条件判断 226
7.4.6 内建函数 227
7.4.7 静态库的更新 229
7.5 集成开发环境 230
7.5.1 集成开发环境的特点 230
7.5.2 Glade 230
7.5.3 Glade的多语言支持 234
7.5.4 Geany 235
7.5.5 Anjuta 235
7.5.6 GNOME Builder 236
7.6 源代码移植 237
7.6.1 获取源码 237
7.6.2 源码结构 237
7.6.3 配置编译环境 238
7.6.4 编译与安装 239
7.7 小结 240
7.8 本章练习 240
第8章 版本控制系统
8.1 版本控制系统的形式 243
8.2 git版本控制系统 244
8.3 基本git操作 245
8.3.1 git配置 246
8.3.2 初始化仓库 246
8.3.3 添加文件 247
8.3.4 提交更新 249
8.3.5 移除文件 250
8.3.6 文件移动 251
8.3.7 标签 251
8.3.8 数字签名 252
8.4 项目回溯 253
8.4.1 查看日志 253
8.4.2 撤销操作 255
8.4.3 取消暂存的文件 256
8.4.4 撤销对文件的修改 257
8.5 分支与合并 257
8.5.1 创建分支 257
8.5.2 暂存提交 258
8.5.3 对比差异 259
8.5.4 分支合并 259
8.5.5 变基 260
8.6 远程分支 261
8.6.1 获取远程仓库 261
8.6.2 远程与本地同步 261
8.6.3 推送本地分支 262
8.6.4 查看分支 263
8.6.5 删除远程分支 263
8.7 git服务器设置 264
8.7.1 本地协议 264
8.7.2 HTTP/HTTPS协议 264
8.7.3 SSH协议 265
8.7.4 git协议 265
8.8 小结 265
8.9 本章练习 266
第9章 内核管理
9.1 操作系统核心文件 268
9.1.1 内核镜像文件 268
9.1.2 模块与设备驱动 268
9.1.3 设备文件 270
9.1.4 进程管理目录/proc 270
9.1.5 /sys目录 270
9.2 内核重构 271
9.2.1 为什么要编译内核 271
9.2.2 内核源码结构 272
9.2.3 配置和编译内核 273
9.3 小结 276
9.4 本章练习 277
参考文献 278