热门关键字:  听力密码  单词密码  新概念美语  巧用听写练听力  零起点

Linux基础及应用教程(第二版)

中国水利水电出版社
    【作 者】主编 梁建武 【I S B N 】978-7-5170-4998-2 【责任编辑】周益丹 李炎 【适用读者群】本专通用 【出版时间】2017-01-10 【开 本】16开 【装帧信息】平装(光膜) 【版 次】第2版第1次印刷 【页 数】248 【千字数】382 【印 张】15.5 【定 价】32 【丛 书】普通高等教育“十三五”规划教材(计算机专业群) 【备注信息】
图书详情

    本书是《Linux基础及应用教程》的第二版。全书以Fedora Linux 22为基础,介绍Linux系统的概念、原理和管理等方面的内容,主要分为3部分:Linux基础、Linux内核机制、嵌入式Linux的应用开发。首先详细介绍Linux的安装过程、基本操作命令,为Linux初学者快速入门提供了保证。接着系统讲解Linux下的C编程基础、进程控制开发、进程间通信、网络应用开发、Linux与Windows的资源共享等。最后介绍嵌入式Linux的应用开发。本书实例丰富、讲解清晰、力避代码复杂冗长,简短的实例特别有助于初学者效仿理解、把握问题的精髓和对应用程序框架的整体认识。本书的创新之处就是为读者提供开发的过程,而不局限于每个知识点的堆积。

    本书可作为高等院校(含高职)电子类、计算机类、信息类等专业的Linux课程教材,也可作为广大Linux用户、系统管理员和Linux系统自学者的参考书或培训教材,还可作为希望转入嵌入式领域的科研和工程技术人员参考使用。

    本书配有电子教案,读者可以到中国水利水电出版社网站或万水书苑上免费下载,网址:http://www.waterpub.com.cn/softdown/或http://www.wsbookshow.com。

    以 Fedora Linux 22 为基础,系统自带的软件操作全部更新,第三方应用软件采用最新版本,并在 Fedora Linux 22 上可正常运行。

    在内容选取上运用最新、最实用的技术,坚持侧重实践、由浅入深的原则,通过具体的操作实例让读者分层次、分步骤地理解和掌握所学的知识。

    实例丰富、讲解清晰、力避代码复杂冗长,简短的实例有助于初学者理解、把握问题的精髓和对应用程序框架的整体认识,为读者提供开发的过程,而不局限于知识点的堆积。

    Linux是一种可移植的操作系统,能够在从微型计算机到大型计算机的任何环境中和任何平台上运行。可移植性为运行Linux的不同计算机平台与其他任何机器进行准确而有效的通信提供了手段,不需要另外增加特殊的和昂贵的通信接口。本书侧重理论与实践相结合,遵循循序渐进、由浅入深的认识特点来安排各个章节的内容顺序,从而使读者达到学以致用的目的。

    本书是《Linux基础及应用教程》的第二版,随着Linux技术的发展,本书第一版的部分内容过于陈旧,为了方便读者学习,我们结合Linux技术的最新发展推出第二版。相比第一版,第二版在内容上的变化主要体现在以下几个方面:Fedora Linux的版本从Fedora Core Linux升级为Fedora Linux 22;系统自带的软件操作全部更新;第三方应用软件采用最新版本,并在Fedora Linux 22上可正常运行;补充了Linux的新技术;修订了第一版中的一些表达不准确以及疏漏之处。

    第1~6章介绍Linux系统的概念、原理和进程控制、管理、通信等方面的内容。

    第7~9章介绍Linux网络管理的相关服务。完善的内置网络是Linux的一大特点。Linux在通信和网络功能方面优于其他操作系统。其他操作系统不包含如此紧密地和内核结合的连接网络的能力,也没有内置这些联网特性的灵活性。而Linux为用户提供了完善的、强大的网络功能,对计算机网络产生了巨大的影响。

    第10章介绍Linux内核机制。Linux是具有设备独立性的操作系统,它的内核具有高度适应能力,随着更多的程序员加入Linux编程设计,将会有更多的硬件设备加入到各种Linux内核和发行版本中。另外,由于用户可以免费得到Linux的内核源代码,因此用户可以修改内核源代码,以便适应新增加的外部设备。

    第11章介绍嵌入式Linux。自20世纪90年代以来,嵌入式技术全面展开,目前已成为通信和消费类产品的共同发展方向,嵌入式系统已经渗透到我们生活的每个角落,如工业、服务业等。Linux系统有着嵌入式操作系统所需要的很多特色和突出的优势:适用于多种CPU和硬件平台,性能稳定,裁剪性很好,开发和使用都很容易。嵌入式Linux是将日益流行的Linux操作系统进行裁剪、修改,使之能在嵌入式计算机系统上运行的一种操作系统。除了智能数字终端领域外,Linux在移动计算平台、智能工控设备、金融业终端系统,甚至军事领域都有广泛的应用前景,这些Linux称为“嵌入式Linux”。嵌入式Linux既继承了Internet上无限的开放源代码资源,又具有嵌入式操作系统的特性。

    本书是在作者多年Linux教学、应用经验的基础上编写的。在内容选取上,尽可能运用最新、最实用的技术,坚持侧重实践、由浅入深的原则,通过具体的操作实例让读者分层次、分步骤地理解和掌握所学的知识。

    本书由梁建武任主编,李茸、刘晓书、陈英任副主编。其中梁建武编写第8~10章,李茸(哈尔滨理工大学)编写第4~7章,刘晓书编写第1~3章,陈英编写第11章。此外,参与本书编写工作的还有杨迎泽、杜伟、张雷、刘军军、谭海龙、文拯、龙晓梅、田野、周媛媛、何志斌、付世凤、罗喜英等。在本书的编写过程中,参考了有关文献,在此谨向这些文献的作者表示感谢。

    由于时间仓促加之作者水平有限,书中的不足之处在所难免,敬请广大读者批评指正。

    编 者

    2016年10月

    目 录
    前言

    第1章 Linux入门 1
    1.1 Linux基础知识 1
    1.2 Linux系统安装 5
    1.2.1 做好安装前的准备工作 5
    1.2.2 安装Fedora Linux 7
    1.3 Linux文件及文件系统 16
    1.3.1 Linux中常见的文件类型 16
    1.3.2 Linux文件系统 18
    习题一 20
    第2章 Linux基础命令 21
    2.1 系统基本操作 21
    2.1.1 系统登录和退出 21
    2.1.2 修改口令 23
    2.2 Linux常用操作命令 23
    2.2.1 文件和目录的基本概念 23
    2.2.2 文件和目录命令 26
    2.2.3 进程管理命令 39
    2.2.4 文件压缩命令 53
    2.2.5 网络命令 54
    2.2.6 联机帮助命令 57
    2.2.7 操作要点 57
    2.3 Linux启动过程详解 58
    2.3.1 启动GRUB/LILO 58
    2.3.2 加载内核 60
    2.3.3 执行init系统 61
    2.3.4 进行初始化 61
    2.4 Linux系统服务 63
    2.4.1 系统服务的作用 63
    2.4.2 Linux系统服务 64
    2.5 系统安全性 65
    2.5.1 系统管理员安全 65
    2.5.2 文件系统安全 66
    2.5.3 /etc/passwd文件 68
    2.5.4 /etc/group文件 68
    2.5.5 增加和删除用户 69
    2.5.6 系统检查命令 69
    习题二 70
    第3章 Linux下的C编程基础 72
    3.1 概述 72
    3.1.1 C语言简单回顾 72
    3.1.2 Linux下的C语言编程环境概述 73
    3.2 vi编辑器 73
    3.2.1 vi的工作模式 73
    3.2.2 vi的启动和退出 74
    3.2.3 文本输入 75
    3.2.4 文本修改 76
    3.2.5 文件操作 79
    3.3 Emacs编辑器 79
    3.3.1 Emacs的基本操作 80
    3.3.2 Emacs的编译概述 82
    3.4 Gcc编译器 83
    3.4.1 Gcc简介 83
    3.4.2 Gcc的基本用法和选项 84
    3.4.3 编译多个源文件 85
    3.5 Gdb调试器 87
    3.5.1 启动Gdb 87
    3.5.2 设置断点 89
    3.6 Make工程管理器 90
    3.6.1 Makefile的基本概念 91
    3.6.2 Make管理器的使用 93
    3.7 使用autotools 93
    习题三 96
    第4章 进程控制开发 97
    4.1 Linux下的进程概述 97
    4.1.1 进程的概念 97
    4.1.2 进程的结构 98
    4.2 Linux进程控制编程 99
    4.2.1 进程的创建 99
    4.2.2 进程的等待 100
    4.2.3 进程的终止 100
    4.2.4 进程映像的更换 100
    4.3 Linux守护进程 101
    4.3.1 守护进程及其特性 101
    4.3.2 守护进程的编程要点 101
    4.4 Linux内核简介 102
    4.5 shell基本工作原理及编程 104
    4.5.1 shell的基本工作原理 105
    4.5.2 创建和执行shell脚本 106
    4.5.3 shell变量 107
    4.5.4 shell的特性 109
    4.5.5 控制结构 114
    习题四 118
    第5章 进程间通信 120
    5.1 Linux下的进程间通信概述 120
    5.2 管道通信 121
    5.2.1 管道概述 121
    5.2.2 管道创建与关闭 122
    5.2.3 管道读写 122
    5.2.4 标准流管道 124
    5.2.5 FIFO 125
    5.3 信号机制 129
    5.3.1 信号概述 129
    5.3.2 信号的发送 131
    5.3.3 信号的处理 133
    5.4 共享内存 137
    5.4.1 共享内存概述 137
    5.4.2 共享内存实现 138
    5.5 消息队列 141
    5.5.1 消息队列概述 141
    5.5.2 消息队列实现 142
    5.6 信号量 145
    习题五 147
    第6章 多线程编程 148
    6.1 Linux下的线程概述 148
    6.2 Linux线程实现 149
    6.2.1 一个简单的多线程程序 149
    6.2.2 修改线程的属性 151
    6.2.3 线程的数据处理 152
    习题六 159
    第7章 管理网络服务 161
    7.1 网络配置文件 161
    7.1.1 /etc/hosts IP地址和主机名的映射 161
    7.1.2 /etc/services 映射服务名和端口号 162
    7.1.3 /etc/host.conf配置名字解析器 162
    7.1.4 /etc/nsswitch.conf 配置名字解析器 163
    7.1.5 /etc/sysconfig/network网络配置 163
    7.1.6 /etc/resolv.conf配置DNS客户 164
    7.1.7 /etc/init.d/network 主机地址、子网
    掩码和网关 164
    7.2 配置FTP服务 165
    7.2.1 FTP协议 165
    7.2.2 FTP服务器vsftpd的配置 165
    7.3 配置邮件服务器 167
    7.3.1 电子邮件简介 167
    7.3.2 sendmail服务器 169
    7.4 网络文件系统 172
    7.4.1 网络文件系统简介 172
    7.4.2 配置网络文件系统 172
    7.5 安装Web服务器 174
    7.5.1 Web服务器概述 174
    7.5.2 Apache的特性 176
    7.5.3 Apache的配置 177
    7.6 网络安全 179
    7.6.1 网络安全主要特征 179
    7.6.2 网络安全威胁 179
    7.6.3 网络安全主要技术 180
    习题七 182
    第8章 远程管理系统 184
    8.1 使用Telnet 184
    8.1.1 Telnet简介 184
    8.1.2 Telnet协议 184
    8.1.3 Telnet的配置 186
    8.2 安全的SSH 188
    8.2.1 SSH简介 188
    8.2.2 SSH协议 189
    8.2.3 SSH的安全验证 189
    8.2.4 OpenSSH的配置 189
    8.3 使用图形化的VNC 193
    8.3.1 VNC概述 193
    8.3.2 使用VNC Server 193
    8.3.3 VNC Viewer 194
    习题八 196
    第9章 与Windows共享资源 198
    9.1 使用Samba共享资源 198
    9.1.1 Samba概述 198
    9.1.2 Samba的配置 198
    9.1.3 Samba的使用 201
    9.2 Windows模拟程序Wine 206
    9.2.1 Wine简介 206
    9.2.2 Wine支持的功能 207
    9.2.3 安装Wine 207
    9.2.4 使用Wine 208
    9.3 访问Windows分区 208
    习题九 210
    第10章 Linux内核机制 211
    10.1 Linux内核简介 211
    10.1.1 Linux内核的地位 211
    10.1.2 系统初始化及运行 212
    10.1.3 内核提供的各种系统调用 212
    10.1.4 存取文件系统 213
    10.2 Linux内核源码 214
    10.2.1 了解Linux内核源码 214
    10.2.2 内核机制 216
    10.2.3 内核模块的装入与卸载 218
    10.3 Linux内核分析 219
    10.3.1 相关源码的分析 219
    10.3.2 对内核源码的修改 220
    习题十 223
    第11章 嵌入式Linux 224
    11.1 嵌入式系统简介 224
    11.1.1 嵌入式系统的定义 224
    11.1.2 嵌入式系统的特征 224
    11.2 嵌入式Linux基础 225
    11.2.1 嵌入式Linux的应用 225
    11.2.2 Linux作为嵌入式操作系统的优势 226
    11.3 Linux I/O端口编程 227
    11.3.1 如何在C语言下使用I/O端口 227
    11.3.2 硬件中断与DMA存取 228
    11.3.3 延迟时间 228
    11.4 嵌入式Linux开发 228
    11.4.1 构造嵌入式Linux前先要了解的
    几个关键问题 228
    11.4.2 嵌入式Linux开发环境 232
    11.4.3 开发嵌入式Linux的步骤 233
    习题十一 241
    参考文献 242
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册