Linux系统及编程基础

2021年清华大学出版社出版的图书
《Linux系统及编程基础》是2021年清华大学出版社出版的图书，作者是李晓红,唐晓君,肖鹏。
内容简介
本书从易用性和实用性角度出发，以Red Hat Enterprise Linux 6为基础，全面、系统、深入浅出地介绍Linux系统的概念、使用、管理和开发方面的知识。全书共9章，主要讲述Linux基础及安装、Linux的文件系统、Linux的vim编辑器、Linux系统管理基础、Linux的网络管理及应用、Linux下Shell编程、Linux下C编程、GTK 图形界面程序设计、Qt图形界面程序设计。每章内容经过细心设计和精心组织，让读者能够在短的时间内学到多的知识。 　　本书适合作为高等学校计算机及相关专业的Linux操作系统课程的教材，也可作为广大Linux用户及Linux系统自学者的学习用书。
作者简介
李晓红,大连工业大学计算机科学与技术专业教师，主要研究领域：智能控制，软件测试。开设课程《Linux系统与编程》，《软件质量保证与测试》，《Python编程及数据处理》等。
图书目录
第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.1.5  Linux与其他操作系统 6
1.2  Red Hat Enterprise Linux 6安装 8
1.2.1  Red Hat Enterprise Linux介绍 9
1.2.2  选择安装方式 9
1.2.3  安装步骤 10
1.2.4  启动Linux 20
1.3  Linux基础 26
1.3.1  Linux的用户类型 26
1.3.2  Linux的登录 26
1.3.3  Linux的注销 30
1.3.4  Linux的运行级别 31
1.3.5  Linux的关机和重启 32
1.3.6  Linux的基本命令 32
1.4  Linux的GUI 37
1.4.1  X Window介绍 37
1.4.2  GNOME 38
1.4.3  KDE 40
本章小结 41
本章习题 41
第2章　Linux的文件系统 43
2.1　Linux文件系统基础 43
2.1.1  Linux文件系统概述 43
2.1.2  Linux文件系统的特点 43
2.1.3  Linux文件系统的组成 44
2.2　Linux文件系统类型 45
2.2.1  ext文件系统 45
2.2.2  其他文件系统 46
2.3　Linux文件系统操作 47
2.3.1  文件和目录的基本概念 47
2.3.2  文件操作命令 49
2.3.3  目录操作命令 65
2.3.4  改变文件或目录存取权限的命令 68
2.3.5  改变用户组和文件主的命令 70
2.3.6  链接文件的命令 72
本章小结 74
本章习题 74
第3章　Linux的vim编辑器 76
3.1  vim简介 76
3.2  vim工作模式 76
3.3  vim的进入与退出 77
3.3.1  进入vim 77
3.3.2  退出vim 79
3.4  vim的编辑命令 80
3.4.1  移动光标 80
3.4.2  文本插入 82
3.4.3  文本删除 82
3.4.4  文本复制与粘贴 83
3.4.5  文本移动 84
3.4.6  文本查找与替换 84
3.4.7  重复与取消 86
3.4.8  vim中执行Shell命令 86
3.4.9  文件的读写 86
3.5  使用vim创建Shell脚本 87
3.6  使用vim创建C程序 87
本章小结 88
本章习题 88
第4章　Linux系统管理基础 89
4.1　系统启动、运行与系统关闭 89
4.1.1  系统启动 89
4.1.2  系统运行级别 91
4.1.3  系统关闭 93
4.2　用户管理 94
4.2.1  用户管理简介 95
4.2.2  用户管理方法 96
4.2.3  用户管理相关配置文件 97
4.2.4  用户管理命令 100
4.3　设备管理 103
4.3.1  设备标识 104
4.3.2  磁盘和分区管理命令 104
4.3.3  存储设备的挂载与卸载 109
4.4　进程管理 111
4.4.1  进程的概念 111
4.4.2  启动进程 113
4.4.3  进程管理命令 113
4.5　日志管理 118
4.5.1  Linux的日志 118
4.5.2  常用日志文件 121
4.5.3  日志分析工具 123
本章小结 124
本章习题 124
第5章　Linux的网络管理及应用 125
5.1  Linux网络管理命令 125
5.1.1  ifconfig 125
5.1.2  ping 126
5.1.3  netstat 126
5.1.4  其他常用命令 126
5.2  文件服务器配置：NFS和Samba 127
5.2.1  NFS配置 127
5.2.2  Samba配置 130
5.3  DNS服务器配置 134
5.4  Web服务器配置 139
5.5  Mail服务器配置 141
5.6  FTP服务器配置 143
本章小结 145
本章习题 146
第6章　Linux下Shell编程 147
6.1　Shell简介 147
6.1.1  什么是Shell 147
6.1.2  Shell种类介绍 148
6.2　Shell基础 148
6.2.1  Shell命令处理过程 149
6.2.2  标准输入输出和重定向 150
6.2.3  管道 153
6.2.4  特殊字符 154
6.2.5  别名 156
6.2.6  命令历史 156
6.3　Shell脚本 157
6.3.1  什么是Shell脚本 157
6.3.2  Shell脚本执行方式 158
6.4　Shell变量 159
6.4.1  用户自定义变量 159
6.4.2  环境变量 160
6.4.3  位置变量 161
6.4.4  特殊变量 162
6.5　Shell编程基础 163
6.5.1  Shell脚本的输入输出 163
6.5.2  Shell的逻辑运算 164
6.5.3  Shell的算术运算 167
6.6　Shell的控制结构 169
6.6.1  if语句 169
6.6.2  case语句 172
6.6.3  for语句 174
6.6.4  while语句 176
6.6.5  until语句 177
6.6.6  break语句和continue语句 178
6.7　Shell函数 179
6.7.1  函数定义 179
6.7.2  函数调用 179
本章小结 182
本章习题 182
第7章　Linux下C编程 184
7.1　Linux下C编程基础 184
7.2　常用开发工具 185
7.2.1  GCC简介 185
7.2.2  GCC的使用 187
7.2.3  简单的C语言程序 189
7.2.4  程序调试工具GDB 192
7.2.5  程序维护工具make 202
7.2.6  Linux下make示例 207
7.3　进程控制系统调用 209
7.3.1  进程创建 209
7.3.2  进程执行 212
7.3.3  获取指定进程标识符 213
7.3.4  进程终止 214
7.3.5  进程等待 214
7.3.6  进程间信号通信 216
7.4　线程控制系统调用 220
7.4.1  线程控制系统调用 221
7.4.2  线程控制函数示例 222
7.5　文件系统调用 222
7.5.1 创建文件 223
7.5.2  打开文件和关闭文件 224
7.5.3  读写文件 226
7.5.4  文件定位 227
本章小结 229
本章习题 229
第8章　GTK 图形界面程序设计 231
8.1  GTK 程序设计简介 231
8.2  使用GTK 开发图形界面程序 237
8.2.1  按钮和标签 237
8.2.2  文本输入框 238
8.2.3  复选按钮 240
8.2.4  组合框 242
8.2.5  框架 243
8.2.6  图像控件 245
8.2.7  菜单的制作 246
8.2.8  工具栏的制作 247
8.2.9  状态栏的制作 249
本章小结 250
本章习题 251
第9章　Qt图形界面程序设计 252
9.1  Qt程序设计简介 252
9.2  开发Qt图形界面程序 259
9.2.1  标准输入框例子 261
9.2.2  标准对话框的实例 264
9.2.3  记事本小程序 267
本章小结 271
本章习题 271
参考文献 272