21世纪高等教育计算机规划教材

Linux 编程基础

一本理论与实际结合且实用性较强的Linux编程书。
分享 推荐 0 收藏 12 阅读 2.5K
李养群 , 王攀 , 周梅 (编著) 978-7-115-38059-3

关于本书的内容有任何问题,请联系 张斌

1.作者经验丰富,实践性较强。作者从事多年的Linux编程的教学,了解目前学生在学习Linux编程方面的难点。
2.理论与实际结合,应用性较强。从事过多个科研及企业项目,对如何将理论与实际相联系有着较为深刻的认识。
3.案例与理论结合。有丰富详细的实例介绍基本概念。
4.配有习题,便于学习。有基本的习题供学生动手实践。
5.提供了32学时课堂的实验指导手册。
¥39.80 ¥33.83 (8.5 折)
教学资源仅供教师教学使用,转载或另作他用版权方有权追究法律责任。

内容摘要

本书可分为:Linux基本操作、Linux编程环境和Linux编程基本开发三个方面的内容。Linux基本操作主要介绍Linux操作系统特点、安装和使用;Linux常用命令的使用方法和具体使用;Linux 中的Shell编程基本语法、基本语句和执行、调试方法。Linux编程环境,主要围绕Linux编程相关工具进行介绍,包括gcc/gdb/make工具的主要参数和使用方法。Linux系统编程主要包括文件系统编程;进程管理;信号的处理;进程间通信;多线程编程;网络编程;Linux下数据库编程等相关知识。最后的附录还附上了Linux编程相关的基础实验等内容。

目录

第 一章 Linux 基础 1
1.1 什么是Linux ? 1
1.1.1 Linux操作系统特点 1
1.1.2 Linux操作系统组成部分 1
1.2 Linux版本及Fedora操作系统 2
1.2.1 Linux内核版本 2
1.2.2 Linux 发行版 3
1.2.3 Fedora操作系统 3
1.2.4 Fedora发行方式 4
1.2.4 Fedora 系统安装基本要求 4
1.3 Fedora 20的安装 5
1.3.1 虚拟机下的fedora20的安装准备 5
1.3.2 Fedora 20安装 9
1.4 Linux常用命令 11
1.4.1 Linux命令执行方法 12
1.4.2 Linux 常用各种命令 13
1.6 VI编辑器的使用 31
1.4.3 vi编辑器的使用 32
1.5 POSIX标准和LSB标准 35

第 2章 Linux编程环境 1
2.1 gcc编译器的使用 1
2.1.1 gcc编译器简介 1
2.1.2 gcc常用选项:预处理控制 2
2.1.3 gcc常用选项:编译及警告信息控制选项 3
2.1.4 gcc常用选项:C语言标准控制选项和程序调试及优化选项 6
2.1.5 gcc常用选项:搜索路径控制和gcc链接选项 6
2.1.6 利用gcc创建库文件 7
2.2 GDB调试器的使用 10
2.2.1 gdb调试器的使用 11
2.2.2 gdb调试器使用实例 18
2.3 make工具 19
2.3.1 第 一个makefile文件 19
2.3.2 makefile编写规则 20
2.3.3 make的基本工作原理及过程 21
2.3.4 makefile文件 22
第3章 Shell编程 1
3.1 Shell基础 1
3.1.1 Shell交互方式 1
3.1.2 Shell基本功能 1
3.2 Bash编程 2
3.3 Shell中的特殊字符 3
3.3.1.转义符 ”” 3
3.3. 2.单引号 4
3.3.3. 双引号 4
3.3.4.命令替换符号`(该符号为键盘上1左边的`符号,不是单引号) 5
3.4 Shell变量 5
3.4.1 Shell用户变量定义 6
3.4.2 Shell环境变量 6
3.4.3 Shell内部变量 7
3.4.4 Shell参数扩展(Parameter Expansion) 8
3.4.5 Shell变量的算术扩展 9
3.4.6 条件表达式 10
3.4.7 Shell字符串操作 11
3.5 Shell控制语句 13
3.5.1 条件语句 13
3.5.2 循环语句 15
3.6 Shell其它命令 18
3.6.1 管道命令 | 18
3.6.2 重定向命令 18
3.6.3 echo命令 20
3.6.4 shift命令 20
3.7 Shell函数 21
3.8 Shell 数组 22
3.9 Shell中Dialog工具 22
3.10 Bash调试 25
第四章 文件I/O操作 1
4.1 概述 1
4.2 文件I/O操作 1
4.2.1 文件的创建 2
4.2.2 文件的打开及关闭 2
4.2.3 文件的读取/写入 3
4.2.4 文件的定位 4
4.2.5 文件删除 5
4.2.6 文件描述符属性控制fcntl 5
4.2.7 文件操作实例 10
4.3 目录 12
4.3.1 目录概述 12
4.3.2 Linux文件系统ext2基本结构 13
4.3.3 与目录有关的系统调用 14
4.4 文件与目录的属性 17
4.4.1 获得文件或目录属性 17
4.4.2 文件或目录的模式 17
4.4.3 符号链接 20
4.4.4 文件属性的更改 22
4.5 标准文件I/O 23
4.6 处理系统调用中的错误 24
第5章 Linux进程管理 1
5.1 进程基本概念 1
5.2 进程创建和命令执行 2
5.3 进程退出 7
5.3.1 守护进程 7
5.3.2 僵尸进程 11
5.3.3进程退出状态 12
5.4 进程开发实例 14

第六章 信号及信号处理 1
6.1 信号的基本概念 1
6.1.1 信号的使用和产生 1
6.1.2 信号的状态 2
6.2 信号的分类 2
6.2.1 可靠与不可靠信号 2
6.2.2 实时信号与非实时信号 2
6.3 信号的处理 4
6.3.1 signal信号处理机制 4
6.3.2 sigaction信号处理机制 7
6.4 信号发送函数 11
6.5 可重入函数 12
6.6 父子进程的信号处理 13
6.7 信号处理机制的应用 15
6.8 系统定时信号 16
6.8.1 睡眠函数 16
6.8.2 计时器 17
总结 19
第7章进程间通信 1
7.1 进程间通信基本概念 1
7.1.1 进程通信的作用 1
7.1.2 进程通信的实现和方法 1
7.2 管道通信 2
7.2.1 无名管道 3
7.2.2 管道与重定向 5
7.2.3 popen的介绍 9
7.2.4 命名管道 11
7.3 System V信号量 16
7.3.1 信号量的用法 16
7.3.2 信号量实例 18
7.4 POSIX有名信号量 21
7.4.1 POSIX有名信号量的使用 21
7.4.2 有名信号量实例 22
7.5 共享内存 25
7.5.1 共享内存步骤 25
7.5.2 System V 共享内存API 25
7.5.3 共享内存实例 27
7.5.4 mmap共享内存机制 30
7.6 消息队列 33
7.6.1 消息队列的实现原理 34
7.6.2 消息队列系统调用 34
7.6.3 消息队列实例 35

第8章 多线程编程 1
8.1 多线程概念 1
8.2 线程状态与线程编程 2
8.2.1 线程的创建和参数传递 2
8.2.2 线程终止 pthread_exit 4
8.2.3线程挂起 pthread_join 7
8.2.5 线程其它相关系统调用 8
8.3 线程的同步与互斥 9
8.3.1 互斥量(mutex) 9
8.3.2 互斥量的使用 9
8.3.3 信号量 13
8.3.4 信号量的使用方法 13
8.3.5 条件变量 17
8.3.6 条件变量的使用 18
第九章 Linux网络编程 1
9.1. 计算机网络概述 1
9.1.1 计算机网络的组成及特点 1
9.1.2 计算机网络协议 2
9.1.3 网络协议分层 2
9.1.4 TCP/IP协议 3
9.1.5 Client/Server模型 3
9.1.6 Linux网络编程概述 3
9.1.7 网络协议栈 4
9.2. Socket编程 4
9.2.1 什么是 Socket? 4
9.2.2 socket编程基本系统调用 5
9.2.3 socket stream服务 13
9.2.4 Socket数据报服务 16
9.2.5 Socket原始套接字服务 19
9.3. Linux网络编程高级I/O 25
9.3.1 socket阻塞/非阻塞方式 25
9.3.2 非阻塞socekt用法 26
9.3.3 socket与多路复用 29
9.4. Linux网络并发编程 43
9.4.1 Linux网络编程与多进程 44
第 10章 Linux 下的数据库编程 1
10.1 MySQL数据库简介 1
10.1.1 Linux数据库编程应用 2
10.1.2 MySQL API的两种形式 2
10.1.3 MySQL CAPI的使用 2
10.2 Linux数据库编程基本方法 3
10.3 MySQL数据库数据结构及API 3
10.3.1 数据结构 3
10.3.2 MySQL操作API 4
10.4 MySQL数据库编程实例 10



读者评论

  • 此书PPT密码为:fedora

    孙燕燕发表于 2017/5/16 13:47:42

我要评论

作者介绍

李养群老师主要研究物联网、嵌入式系统等领域。曾发表过期刊《基于BPEL4WS的新型电信业务创建方法》等。

同系列书

  • Java Web程序设计教程

    陈沛强 谷灵康 金京犬

    本书作为Java Web程序设计的大学教程,对Java EE编程技术进行了系统全面的介绍。全书共分14章。首先...

    ¥48.00
  • C++程序设计——思想与方法 慕课版(第3版)

    翁惠玉 俞勇

    本书以C++语言为环境,重点讲授程序设计的思想和方法,包括过程化的程序设计和面向对象的程序设计,且本书非常强调...

    ¥49.80
  • 网页设计与制作(附微课视频 第2版)

    雷伟军

    本书依据教育部高等学校计算机基础课程教学指导委员会提出的《关于进一步加强高校计算机基础教学的意见》中有关“网页...

    ¥45.00
  • 数据结构与算法分析(C++语言版)

    张琨 张宏 朱保平

    本书共分10章,主要包括第1章绪论,第2章线性表,第3章栈和队列,第4章串,第5章数组和广义表,第6章 树和二...

    ¥45.00
  • 多媒体技术及应用

    李小英 谷长龙 段伟 蔡益红

    本书全面系统地介绍了多媒体技术的基础知识与应用软件的使用。全书共5章。第1章多媒体技术概论讲述了多媒体技术的基...

    ¥39.00

相关图书

人邮微信
本地服务
教师服务
教师服务
读者服务
读者服务
返回顶部
返回顶部