Linux操作系统自诞生至今,逐步发展并日渐完善,因其开源、安全、稳定等特性,成为众多企业与政府部门搭建服务器的主要平台,此外,Linux在移动应用与嵌入式开发领域也被广泛应用,因此,掌握Linux系统的使用与Linux平台下的程序开发方法成为众多计算机从业人员需要掌握的必备技能。
本书分为11个章节,首先介绍了Linux的背景、开发环境、网络配置与远程操作及管理;其次讲解了Linux系统操作中的基本命令以及基础开发中使用的工具;然后讲解了shell编程的基本语法、Linux系统中用户、用户组以及Linux中的文件系统和操作;之后对Linux程序开发中涉及的进程、信号、线程、网络编程等重难点知识进行了讲解;最后讲解了Linux系统中高并发服务器的几种模型。本书中的每个章节都以理论与案例结合的模式,在理论知识后通过切实可行的案例帮助学生在学习的同时,实践、巩固所学知识。
本教材附有配套视频、源代码、习题、教学课件等资源,而且为了帮助初学者更好地学习本教材中的内容,还提供了在线答疑,希望得到更多读者的关注。
本书适合作为高等院校本、专科计算机相关专业的教材使用,也可作为Linux爱好者的参考书自学使用。
特色一:重视基础,体系完善
本书由Linux环境搭建入手,逐步讲解了Linux的基本操作、常用工具、系统管理以及程序开发等知识,由浅入深,由易到难,循序渐进,真正站在零基础读者的角度讲解Linux知识。
特色二:结构清晰,重视实践
本书在讲解时,采用的是“理论+案例”模式,为每个重要知识点都配备相应案例,确保读者能学有所得、学以致用。
特色三:联系实际,符合学科人才培养需求
本书在制定大纲时,对近年来计算机发展趋势以及企业需求进行了调研,将Linux知识的理论与实践相结合,为大多知识点都配备相应案例,保障读者能将理论与实践结合,在掌握理论知识的同时,强化动手能力。
第1章 初识Linux 1.1 Linux概述 1.1.1 Linux的起源与发展 1.1.2 Linux的特点 1.1.3 GUN项目计划 1.2 安装Linux 1.2.1 前期准备 1.2.1 安装CentOS 1.3 网络配置 1.4 远程终端访问 1.5 本章小结 1.6 本章习题 第2章 命令与开发工具 2.1 Linux常用命令 2.1.1 命令格式 2.1.2 文件操作命令 2.1.3 网络管理与通信命令 2.1.4 压缩解压命令 2.1.5 帮助命令 2.2 Linux常用开发工具 2.2.1 Vi编辑器 2.2.2 GCC编译器 2.2.3 GDB调试工具 2.3 本章小结 2.4 本章习题 第3章 用户与用户组管理 3.1概述 3.2用户和用户组管理 3.2.1用户管理 3.2.2用户组管理 3.3用户切换 3.3.1 su 3.3.2 sudo 3.4本章小结 3.5本章习题 第4章 Shell编程 4.1Shell概述 4.1.1Shell的分类 4.1.2Shell的功能 4.1.3Shell命令执行流程 4.2Shell应用技巧 4.3Shell编程 4.3.1 第一个Shell程序 4.3.2 Shell中的变量 4.4Shell中的条件语句 4.4.1 条件判断 4.4.2 if条件语句 4.4.3 select语句 4.4.4 case语句 第5章 Linux文件系统与操作 5.1磁盘与目录 5.1.1磁盘与磁盘分区 5.1.2目录结构 5.1.3inode与dentry 5.2Linux文件系统 5.2.1 Linux文件系统版本 5.2.2 fdisk/mkfs 5.2.3 ext2/ext3文件系统 5.2.4 虚拟文件系统 5.3Linux文件类型 5.3.1 文件类型概述 5.3.2 链接文件 5.3.3 设备文件 5.4文件操作 5.4.1 文件描述符 5.4.2 文件I/O 5.4.3 文件操作 5.5本章小节 5.6本章习题 第6章 Linux进程管理 6.1进程概述 6.1.1进程处理机制 6.1.2进程属性 6.2进程控制 6.2.1 创建进程 6.2.2 exec函数族 6.2.3 进程退出 6.2.4 进程同步 6.3进程管理命令 6.4本章小结 6.5 本章习题 第7章 信号 7.1信号及信号来源 7.2信号的产生 7.2.1 系统调用 7.2.2 软件条件 7.2.3 kill命令 7.3信号阻塞 7.4信号捕获 7.5时序竞态 7.6SIGCHLD信号 7.7本章小结 7.8本章习题 第8章 进程间通信 8.1管道 8.1.1匿名管道 8.1.2popen()/pclose() 8.1.3命名管道 8.2消息队列 8.3信号量 8.4共享内存 8.5本章小结 8.6本章习题 第9章 线程 9.1线程概述 9.2线程操作 9.2.1创建线程 9.2.2线程退出 9.2.3线程终止 9.2.4线程挂起 9.2.5线程分离 9.3线程属性 9.4线程同步 9.4.1 互斥锁 9.4.2 条件变量 9.4.3 信号量 9.5本章小结 9.6本章习题 第10章 socket编程 10.1计算机网络概述 10.1.1协议与体系结构 10.1.2网络结构模式 10.2socket编程基础 10.2.1 socket编程接口 10.2.2 socket通信流程 10.2.3 网络编程相关知识 10.3socket网络编程实例 10.3.1 C/S模型-TCP 10.3.2 C/S模型-UDP 10.4socket本地通信 10.5本章小结 10.6本章习题 第11章 高并发服务器 11.1多进程并发服务器 11.2多线程并发服务器 11.3I/O多路转接服务器 11.3.1select 11.3.2poll 11.3.3epoll 11.4epoll的工作模式 11.5本章小结 11.6本章习题