Linux基础及应用教程
-
【作 者】陈英 梁建武主编
【I S B N 】978-7-5084-6037-6
【责任编辑】张玉玲
【适用读者群】本科
【出版时间】2008-11-01
【开 本】16开本
【装帧信息】平装(光膜)
【版 次】第1版
【页 数】260
【千字数】
【印 张】
【定 价】¥26
【丛 书】21世纪高等学校精品教材
【备注信息】
简介
本书特色
前言
章节列表
精彩阅读
下载资源
相关图书
本书以Fedora Core Linux为基础,介绍Linux系统的概念、原理和管理等方面的内容。主要分为3个部分,包括Linux基础、Linux内核机制和嵌入式Linux的应用开发。Linux基础部分详细介绍Linux的安装过程、基本操作命令,为Linux初学者能快速入门提供了保证。接着系统讲解了Linux下的C编程基础、进程控制开发、进程间通信、网络应用开发、Linux与Windows的资源共享等,最后介绍了嵌入式Linux应用开发。本书内容实例丰富、讲解清晰、在学习过程中力避代码复杂冗长。简短的实例特别有助于初学者仿效理解、把握问题的精髓和对应用程序框架的整体认识;它的创新之处就是为读者提供开发的过程,而不局限书的每个知识点堆积。
本书可作为高等院校(含高职)电子类、计算机类、信息类等专业的Linux课程教材,也可作为广大Linux用户、系统管理员和Linux系统自学者的参考书或培训教材,还可作为希望转入嵌入式领域的科研和工程技术人员参考使用。
在多年Linux教学、应用的基础上编写;内容选取上尽可能将最新、最实用的技术写到教材里;坚持侧重实践、由浅入深的原则;通过具体操作实例理解和掌握所学知识
Linux是一种可移植的操作系统,能够在从微型计算机到大型计算机的任何环境中和任何平台上运行。可移植性为运行Linux的不同计算机平台与其他任何机器进行准确而有效的通信提供了手段,不需要另外增加特殊的和昂贵的通信接口。本书的侧重点是理论与实践相结合,遵循循序渐进、由浅入深的认识特点来安排各个章节的内容顺序,从而使读者达到学以致用的目的。
第1章至第6章介绍Linux系统的概念、原理和进程控制、管理、通信等方面的内容。
第7章至第9章介绍Linux网络管理的相关服务。完善的内置网络是Linux的一大特点。Linux在通信和网络功能方面优于其他操作系统。其他操作系统不包含如此紧密地和内核结合在一起的连接网络的能力,也没有内置这些联网特性的灵活性。而Linux为用户提供了完善的、强大的网络功能。Linux对计算机网络产生了巨大影响。
第10章介绍Linux内核机制。Linux是具有设备独立性的操作系统,它的内核具有高度适应能力,随着更多的程序员加入Linux编程,会有更多硬件设备加入到各种Linux内核和发行版本中。另外,由于用户可以免费得到Linux的内核源代码,因此用户可以修改内核源代码,以便适应新增加的外部设备。
第11章介绍嵌入式Linux。进入20世纪90年代,嵌入式技术全面展开,目前已成为通信和消费类产品的共同发展方向,嵌入式系统已经渗透到我们生活中的每个角落,如工业、服务业等。Linux系统有着嵌入式操作系统需要的很多特色和突出的优势:适应于多种CPU和多种硬件平台,性能稳定,裁剪性很好,开发和使用都很容易。嵌入式Linux是将日益流行的Linux操作系统进行裁剪、修改,使之能在嵌入式计算机系统上运行的一种操作系统。除了智能数字终端领域外,Linux在移动计算平台、智能工控设备、金融业终端系统,甚至军事领域都有广泛的应用前景,这些Linux称为“嵌入式Linux”。嵌入式Linux既继承了Internet上无限的开放源代码资源,又具有嵌入式操作系统的特性。
本书是在多年Linux教学、应用的基础上编写的。在内容选取上,尽可能将最新、最实用的技术写到教材里,坚持侧重实践、由浅入深的原则,通过具体的操作实例让读者分层次、分步骤地理解和掌握所学的知识。
本书由陈英、梁建武任主编,谭海龙、刘旭光任副主编。其中陈英编写第4、5、7、8章,梁建武编写第1~3章和第6章,谭海龙编写第9章和第10章,刘旭光编写第11章。在本书的编写过程中,参考了有关文献,谨此向这些文献的作者表示感谢。
由于时间仓促加之作者水平有限,书中的不足之处在所难免,敬请广大读者批评指正。
编者
2008年9月
前言
第1章 Linux入门 1
1.1 Linux基础知识 1
1.2 Linux系统安装 5
1.2.1 做好安装前的准备工作 5
1.2.2 安装Fedora Core Linux 7
1.3 Linux文件及文件系统 21
1.3.1 Linux中常见的文件类型 21
1.3.2 Linux文件系统 23
习题一 25
第2章 Linux基础命令 26
2.1 系统基本操作 26
2.1.1 系统登录和退出 26
2.1.2 修改口令 28
2.2 Linux常用操作命令 28
2.2.1 文件和目录的基本概念 28
2.2.2 文件和目录命令 31
2.2.3 进程管理命令 44
2.2.4 文件压缩命令 58
2.2.5 网络命令 59
2.2.6 联机帮助命令 62
2.2.7 操作要点 62
2.3 Linux启动过程详解 63
2.3.1 启动GRUB/LILO 63
2.3.2 加载内核 65
2.3.3 执行init进程 65
2.3.4 通过/etc/inittab文件进行初始化 65
2.4 Linux系统服务 67
2.4.1 系统服务的作用 67
2.4.2 Linux系统服务 67
2.5 系统安全性 69
2.5.1 系统管理员安全 69
2.5.2 文件系统安全 69
2.5.3 /etc/passwd文件 72
2.5.4 /etc/group文件 72
2.5.5 增加和删除用户 72
2.5.6 系统检查命令 73
习题二 73
第3章 Linux下的C编程基础 75
3.1 概述 75
3.1.1 C语言简单回顾 75
3.1.2 Linux下C语言编程环境概述 76
3.2 vi编辑器 76
3.2.1 vi的工作模式 76
3.2.2 vi的启动和退出 77
3.2.3 文本输入 78
3.2.4 文本修改 79
3.2.5 文件操作 82
3.3 Emacs 82
3.3.1 Emacs的基本操作 83
3.3.2 Emacs的编译概述 85
3.4 Gcc编译器 87
3.4.1 Gcc简介 87
3.4.2 Gcc的基本用法和选项 88
3.4.3 编译多个源文件 89
3.5 Gdb调试器 90
3.5.1 启动Gdb 91
3.5.2 设置断点 93
3.6 Make工程管理器 94
3.6.1 Makefile的基本概念 95
3.6.2 Make管理器的使用 96
3.7 使用autotools 97
习题三 99
第4章 进程控制开发 100
4.1 Linux下的进程概述 100
4.1.1 进程的概念 100
4.1.2 进程的结构 101
4.2 Linux进程控制编程 102
4.2.1 进程的创建 102
4.2.2 进程的等待 103
4.2.3 进程的终止 103
4.2.4 进程映像的更换 103
4.3 Linux守护进程 104
4.3.1 守护进程及其特性 104
4.3.2 守护进程的编程要点 104
4.4 Linux内核简介 105
4.5 shell基本工作原理及编程 107
4.5.1 shell的基本工作原理 108
4.5.2 创建和执行shell脚本 109
4.5.3 shell变量 110
4.5.4 shell的特性 112
4.5.5 控制结构 117
习题四 122
第5章 进程间通信 123
5.1 Linux下的进程间通信概述 123
5.2 管道通信 124
5.2.1 管道概述 124
5.2.2 管道创建与关闭 125
5.2.3 管道读写 125
5.2.4 标准流管道 127
5.2.5 FIFO 128
5.3 信号机制 132
5.3.1 信号概述 132
5.3.2 信号的发送 134
5.3.3 信号的处理 136
5.4 共享内存 140
5.4.1 共享内存概述 140
5.4.2 共享内存实现 141
5.5 消息队列 144
5.5.1 消息队列概述 144
5.5.2 消息队列实现 145
5.6 信号量 148
习题五 150
第6章 多线程编程 151
6.1 Linux下的线程概述 151
6.2 Linux线程实现 152
6.2.1 一个简单的多线程程序 152
6.2.2 修改线程的属性 154
6.2.3 线程的数据处理 155
习题六 163
第7章 管理网络服务 164
7.1 网络配置文件 164
7.1.1 /etc/hosts IP地址和主机名的映射 164
7.1.2 /etc/services 映射服务名和端口号 165
7.1.3 /etc/host.conf配置名字解析器 165
7.1.4 /etc/nsswitch.conf 配置名字解析器 166
7.1.5 /etc/sysconfig/network网络配置 166
7.1.6 /etc/resolv.conf配置DNS客户 167
7.1.7 /etc/init.d/network 主机地址、子网掩码和网关 167
7.2 配置FTP服务 168
7.2.1 FTP协议 168
7.2.2 FTP服务器vsftpd的配置 168
7.3 配置邮件服务器 170
7.3.1 电子邮件简介 170
7.3.2 sendmail服务器 172
7.4 网络文件系统 175
7.4.1 网络文件系统简介 175
7.4.2 配置网络文件系统 175
7.5 安装Web服务器 177
7.5.1 Web服务器概述 177
7.5.2 Apache的特性 179
7.5.3 Apache的配置 180
7.6 网络安全 182
7.6.1 网络安全主要特征 182
7.6.2 网络安全威胁 182
7.6.3 网络安全主要技术 183
习题七 185
第8章 远程管理系统 187
8.1 使用Telnet 187
8.1.1 Telnet简介 187
8.1.2 Telnet协议 187
8.1.3 Telnet的配置 189
8.2 安全的SSH 191
8.2.1 SSH简介 191
8.2.2 SSH协议 192
8.2.3 SSH的安全验证 192
8.2.4 OpenSSH的配置 192
8.3 使用图形化的VNC 196
8.3.1 VNC概述 196
8.3.2 使用VNC Server 196
8.3.3 VNC Viewer 197
习题八 200
第9章 与Windows共享资源 201
9.1 使用Samba共享资源 201
9.1.1 Samba概述 201
9.1.2 Samba的配置 201
9.1.3 Samba使用 204
9.2 Windows模拟程序Wine 209
9.2.1 Wine简介 209
9.2.2 Wine支持的功能 210
9.2.3 安装Wine 211
9.2.4 使用Wine 212
9.3 访问Windows分区 212
习题九 214
第10章 Linux内核机制 215
10.1 Linux内核简介 215
10.1.1 Linux内核的地位 215
10.1.2 系统初始化及运行 215
10.1.3 内核提供的各种系统调用 216
10.1.4 存取文件系统 217
10.2 Linux内核源码 218
10.2.1 了解Linux内核源码 218
10.2.2 内核机制 220
10.2.3 内核模块的装入与卸载 222
10.3 Linux内核分析 223
10.3.1 相关源码的分析 223
10.3.2 对内核源码的修改 224
习题十 227
第11章 嵌入式Linux 228
11.1 嵌入式系统简介 228
11.1.1 嵌入式系统的定义 228
11.1.2 嵌入式系统的特征 228
11.2 嵌入式Linux基础 229
11.2.1 嵌入式Linux的应用 229
11.2.2 Linux作为嵌入式操作系统的优势 230
11.3 Linux I/O端口编程 231
11.3.1 如何在C语言下使用I/O端口 231
11.3.2 硬件中断与DMA存取 232
11.3.3 延迟时间 232
11.4 嵌入式Linux开发 232
11.4.1 构造嵌入式Linux前先要了解的几个关键问题 232
11.4.2 嵌入式Linux开发环境 236
11.4.3 开发嵌入式Linux的步骤 237
习题十一 245
参考文献 246
- Linux服务器构建与运维管理从基础到实战(基于CentOS 8实现) [阮晓龙 冯顺磊 董凯伦 于冠军]
- Linux服务器配置与管理项目教程(微课版) [赵良涛 姜猛 肖川 杨云]
- Linux操作系统配置与管理项目化教程 [主编 白玉羚 刘金明 王鹏]
- Linux服务器配置与安全管理 [李贺华 李腾]
- Linux操作系统基础及实验指导教程 [主编 黄卫东 张岳 史士英]
- Linux服务器配置与管理 [唐宏 杨智勇]
- 嵌入式Linux开发技术基础 [主编 伍德雁]
- Linux网络服务与Shell脚本攻略 [主编 肖睿 江骏]
- Linux系统管理 [主编 肖睿]
- Linux基础及应用教程(第二版) [主编 梁建武]
- Linux系统与应用 [刘兰青 王飞]
- Linux服务器配置与管理实训教程 [伍技祥]
- Linux网络服务器配置管理项目实训教程(第二版) [杨云 运永顺 和乾]
- Linux操作系统的应用与管理项目化教程 [邹承俊 周洪林]
- Linux操作系统配置与管理 [严学军 鲁 立]
- Linux/Android开发利器——ARM DS-5使用指南 [崔更申 秦兴国]
- Linux体系与编程——基于Linux 0.01版本 [主编 卢军 曾茂城]
- Linux网络服务器配置管理项目实训教程 [杨云 马立新 杨建新 编著]
- Linux操作系统应用与安全 [李贺华 主编]
- Linux基础及应用教程实验指导与实训 [郭迎 梁建武 等主编]
- Linux实用教程 [刘兵 吴煜煌 等编著]
- 操作系统原理及应用(Linux) [王红 主编]
- 操作系统实训(Linux)--习题解答、例题解析、实验指导 [王红 主编]
- Linux/UNIX网络编程 [甘刚 主编]
- Red Hat Enterprise Linux 5基础教程 [王路群 主编]
- 操作系统原理及应用(Linux)(第二版) [王红 主编]
- 操作系统实训(Linux)--习题解答、例题解析、实验指导(第二版) [王红 主编]