注册 登录 进入教材巡展
#
  • #

出版时间:2025-03

出版社:清华大学出版社

以下为《Linux编程基础(第2版)》的配套数字资源,这些资源在您购买图书后将免费附送给您:
  • 清华大学出版社
  • 9787302684954
  • 2-4
  • 41269331-9
  • 2025-03
  • 工学
  • 计算机类
  • 通用
  • 本科
内容简介
本书是一本基于Linux操作系统的C语言编程入门书籍,全书共分为11章,第1章主要讲解Linux操作系统的安装与使用;第2章讲解Linux操作系统常用命令工具;第3章讲解Shell编程的相关知识;第4~10章是Linux编程的核心知识,包括Linux C编译调试环境、文件I/O操作、Linux进程管理、信号、进程间通信、线程和socket网络编程;第11章讲解并发服务器的原理和实现。

书中每章均配有经典案例,读者可以边学习边练习,以巩固所学的知识,并在实践中提升实际应用能力。

本书附有源代码、习题、教学课件等资源,为帮助初学者更好地学习本书中的内容,还提供了在线答疑,希望得到更多读者的关注。

本书既可作为高等院校本、专科计算机相关专业的专用教材,也可以作为技术爱好者的入门用书。
目录
目录

第1章初识Linux操作系统1

1.1Linux操作系统概述1

1.1.1Linux操作系统的

起源与发展1

1.1.2Linux操作系统的

发行版本2

1.1.3Linux操作系统的

特点6

1.1.4Linux操作系统的

应用领域7

1.2安装Linux操作系统7

1.2.1安装VMware虚拟

机软件7

1.2.2下载CentOS Stream 9

操作系统镜像文件8

1.2.3安装CentOS Stream 9

操作系统9

1.3通过VMware管理Linux

操作系统23

1.3.1系统关机、挂起与

重启23

1.3.2快照24

1.4Linux操作系统的用户

界面25

1.4.1图形用户界面简介25

1.4.2Shell简介26

1.4.3打开Shell终端27

1.4.4Shell终端的命令

操作28

1.5远程终端访问——

FinalShell30

1.6本章小结32

1.7本章习题32

第2章Linux操作系统常用

命令工具33

2.1用户和用户组管理命令33

2.1.1用户和用户组33

2.1.2用户管理命令34

2.1.3用户组管理命令38

2.1.4用户切换命令39

2.1.5用户权限提升命令41

2.2文件管理的相关概念和

命令43

2.2.1Linux文件系统43

2.2.2Linux目录结构44

2.2.3Linux文件类型46

2.2.4目录管理命令47

2.2.5文件查找命令50

2.2.6文件内容显示命令52

2.2.7文件复制、移动、

删除54

2.2.8压缩解压命令57

2.2.9权限管理63

2.3软件管理命令66

2.3.1RPM66

2.3.2DNF69

2.4进程管理命令72

2.4.1进程查看命令72

2.4.2进程终止命令77

2.4.3服务管理78

2.5网络管理与通信命令79

2.5.1ping79

2.5.2ssh80

2.5.3ip80

2.6帮助命令82

2.6.1man82

2.6.2info83

2.7vim编辑器84

2.7.1vim编辑器的基本

操作84

2.7.2vim编辑器的工作

模式86

2.8本章小结89

2.9本章习题89

第3章Shell编程90

3.1Shell脚本的创建与执行90

3.2Shell变量91

3.2.1用户自定义变量91

3.2.2环境变量94

3.2.3位置变量98

3.2.4预定义变量99

3.3Shell的输入输出100

3.3.1read命令与echo

命令100

3.3.2标准I/O与重

定向102

3.4Shell中的特殊符号104

3.4.1引号104

3.4.2通配符105

3.4.3连接符106

3.4.4管道107

3.5数值运算107

3.5.1let命令107

3.5.2$(())108

3.5.3expr命令108

3.6Shell条件语句109

3.6.1条件判断110

3.6.2if条件语句111

3.6.3case语句114

3.7Shell循环语句115

3.7.1for循环语句115

3.7.2while循环语句116

3.7.3until循环语句118

3.7.4select语句119

3.8Shell函数120

3.8.1函数的定义与

调用120

3.8.2函数中的变量121

3.9Shell数组123

3.10本章小结125

3.11本章习题125

第4章Linux C编译调试环境126

4.1GCC编译工具126

4.1.1GCC简介126

4.1.2gcc命令127

4.2GDB调试工具129

4.2.1GDB简介129

4.2.2gdb调试实例131

4.3make工具133

4.3.1引入make工具134

4.3.2Makefile文件中的

伪目标137

4.3.3Makefile文件中的

变量138

4.3.4Makefile文件的隐

式规则139

4.4本章小结140

4.5本章习题140

第5章文件I/O操作141

5.1文件概述141

5.1.1文件存储方式141

5.1.2文件描述符142

5.2文件基本操作143

5.2.1文件的创建与

删除143

5.2.2文件的打开与

关闭145

5.2.3文件读写147

5.2.4文件定位150

5.2.5文件移动152

5.3文件属性操作154

5.3.1文件属性概述154

5.3.2获取文件属性155

5.3.3检测文件权限157

5.3.4修改文件权限158

5.3.5修改文件属主和

属组159

5.4目录基本操作161

5.4.1目录的创建与

删除161

5.4.2获取当前工作

目录162

5.4.3切换当前工作

目录163

5.4.4目录的打开与

关闭164

5.4.5目录的读取165

5.4.6目录的定位167

5.5文件I/O重定向170

5.6文件I/O错误处理173

5.7本章小结176

5.8本章习题176

第6章Linux进程管理177

6.1进程概述177

6.1.1进程的概念177

6.1.2进程的状态178

6.1.3进程的结构179

6.2获取进程属性181

6.3进程控制182

6.3.1创建进程182

6.3.2exec系列函数185

6.3.3进程休眠190

6.4进程终止190

6.5僵尸进程与孤儿进程193

6.5.1僵尸进程194

6.5.2孤儿进程195

6.6进程等待196

6.6.1wait()函数196

6.6.2waitpid()函数199

6.7守护进程201

6.8本章小结204

6.9本章习题204

第7章信号205

7.1信号概述205

7.1.1信号的概念及

分类205

7.1.2信号的生命周期207

7.2信号发送208

7.2.1kill()函数208

7.2.2raise()函数211

7.2.3alarm()函数213

7.3信号自定义处理214

7.3.1signal()函数214

7.3.2signal()函数的

缺陷216

7.3.3sigaction()函数219

7.4信号集222

7.4.1信号集与操作

函数222

7.4.2信号屏蔽224

7.4.3获取悬挂信号225

7.5等待指定信号228

7.6利用SIGCHLD信号回收

子进程230

7.7本章小结232

7.8本章习题232

第8章进程间通信233

8.1进程间通信概述233

8.2管道234

8.2.1管道概述234

8.2.2无名管道234

8.2.3命名管道239

8.2.4popen()函数和

pclose()函数242

8.3消息队列245

8.3.1消息队列概述245

8.3.2消息队列相关

函数246

8.3.3消息队列通信

实例251

8.4共享内存252

8.4.1共享内存概述252

8.4.2共享内存相关

函数252

8.4.3共享内存通信

实例255

8.5信号量256

8.5.1信号量概述256

8.5.2信号量相关函数257

8.5.3信号量通信实例260

8.6本章小结260

8.7本章习题260

第9章线程261

9.1线程概述261

9.2线程基本操作263

9.2.1获取线程ID263

9.2.2线程创建263

9.2.3线程退出265

9.2.4线程挂起266

9.2.5线程分离268

9.2.6线程取消271

9.2.7线程取消状态

设置273

9.3线程属性275

9.3.1线程属性对象的

初始化与销毁276

9.3.2线程状态276

9.3.3线程调度策略277

9.3.4线程调度参数277

9.3.5线程继承性278

9.3.6线程作用域279

9.3.7线程栈279

9.3.8线程属性设置

实例281

9.4线程并发284

9.5线程同步286

9.5.1互斥锁实现线程

同步286

9.5.2条件变量实现线

程同步289

9.5.3信号量实现线程

同步291

9.6本章小结293

9.7本章习题293

第10章socket网络编程294

10.1socket简介294

10.1.1socket通信

过程294

10.1.2socket地址

结构295

10.1.3socket属性297

10.2socket通信基础知识297

10.2.1字节序298

10.2.2IP地址转换298

10.3socket通信流程300

10.4socket编程接口302

10.4.1socket()302

10.4.2bind()302

10.4.3listen()304

10.4.4connect()305

10.4.5accept()305

10.4.6send()307

10.4.7recv()308

10.4.8close()309

10.5socket网络编程实例310

10.5.1C/S模型——

TCP通信310

10.5.2C/S模型——

UDP通信315

10.6本章小结317

10.7本章习题317

第11章并发服务器318

11.1多进程并发服务器318

11.2多线程并发服务器318

11.3I/O多路复用318

11.4本章小结319

11.5本章习题319