Linux系统应用与开发教程 第4版
作者 : 刘海燕 荆涛 主编 王子强 武卉明 杨健康 周睿 编著
出版日期 : 2020-06-01
ISBN : 978-7-111-65536-7
适用人群 : 高校相关专业本科生、研究生
定价 : 69.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 338
开本 : 16
原书名 :
原出版社:
属性分类: 教材
包含CD : 无CD
绝版 :
图书简介

本书以Fedora 30为蓝本,全面系统地介绍了Linux系统的使用、管理与开发。全书共分为三部分:第一部分介绍Linux的基本知识,使读者快速认识Linux,熟悉Linux操作环境,掌握Linux的基本操作;第二部分介绍软硬件管理、网络管理、网络服务的配置、安全管理、系统定制以及如何对系统进行管理与监视;第三部分介绍Linux下常用的软件开发工具和开发环境,帮助读者迅速了解Linux平台上软件开发的方法和步骤。

图书特色

图书前言

Linux是一个优秀的操作系统,它支持多用户、多进程及多线程,以稳定、强健、可靠的性能著称。Linux提供了强大的服务器功能,因此在网络技术日益发达的今天,受到越来越多的企业和个人的青睐,越来越多的客户机及网络服务器都选择Linux作为运行平台。
目前,在很多国家,以Linux为代表的自由软件已经在政务、军事、商业等众多领域获得了广泛的应用。在我国,Linux也在电子政务、电子商务等信息化建设领域崭露头角。在今后数年内,高水平的Linux专业人才将成为IT领域乃至整个就业市场中的新亮点。
在Linux出现的早期,它主要在学术团体、专业领域中被使用,普通用户常常对它望而生畏。其实,作为一个通用操作系统,Linux的功能与Windows的功能类似,甚至更强大,操作也基本相同。经过多年的发展,在全世界众多精英的共同努力下,Linux在系统的功能和性能以及使用和管理的便利性方面都有显著提高。普通用户通过学习完全可以掌握它,利用它的强大功能使自己在信息技术领域如鱼得水。
Fedora Linux 从Red Hat Linux发展而来,是Linux的一个主要发行版本,也是应用最广泛、使用最方便的版本之一。它继承了Linux的高性能,融入了更多易操作的特点,并增加了很多新功能。本书以Fedora 30为蓝本,由浅入深地介绍Linux系统,帮助读者对Linux系统有一个整体的认识,逐步掌握Linux的基本使用方法和管理技术,从而能自如地使用和管理Linux系统,并在Linux上进行软件开发。
与第3版相比,本书的整体架构没有变化,但内容基于Fedora 30版本以及Linux的应用情况,在如下方面进行了改进:
1)随着版本更新,Fedora的管理和使用方式都发生了变化,包括配置工具、命令的使用及操作界面。本书内容根据新版本Fedora进行了相应的调整。
2)删去了一些不再使用的工具和命令,增加了部分新内容,如systemd和systemctl命令、iptables防火墙等。
3)鉴于Python程序设计的应用越来越广泛,本书在软件开发部分增加了Python程序设计,替代KDevelop的使用。
总之,此次再版的目标是让教材内容紧跟Linux的发展,条理更清晰,更能体现Linux主要的内容和应用。
本书面向那些已经熟悉Windows系统、具有基本的网络知识和程序设计(C/C++、Java)基础的读者,为他们提供另一种融入信息化社会的途径。全书包含使用基础、系统管理和程序设计3个部分。下面介绍各部分的主要内容。
第一部分介绍Linux的使用基础,包括第1~5章,主要面向Linux初学者,目的是使读者快速认识Linux,熟悉Linux操作环境,掌握Linux的基本操作,了解Linux的软硬件安装。第1章首先介绍Linux系统的起源、特点,以及它与其他操作系统的异同,使读者能够从总体上了解Linux的特点和功能。同时,还介绍了Fedora 30的安装、登录、注销及关闭系统的方法等。第2章介绍Shell的概念和一些常用的Shell命令,重点介绍对Linux系统的文件和目录的基本操作。此外,还介绍了备份与压缩、rpm软件包管理、联机帮助等常用的Shell命令。第3章介绍X Window及常用的图形化桌面系统GNOME的使用。第4章介绍Fedora 30版本Linux系统中常用的应用软件,包括办公软件、网络应用软件、多媒体应用软件及其他常用工具。第5章介绍常用软硬件的安装与管理,包括Linux统一设备模型、硬件驱动安装的一般步骤、软件管理的常用命令与方法等。
第二部分介绍Linux的系统管理,包括第6~10章,主要面向高级用户和系统管理者,涉及网络管理、网络服务配置、系统管理与监视、系统安全管理等内容。第6章介绍网络接口的配置及系统的TCP/IP网络管理。第7章介绍常用网络服务的安装、配置和运行。第8章介绍系统管理与监视技术,包括用户管理、进程管理、系统监视及日志查看。第9章介绍Linux系统的安全管理技术,包括标准Linux系统的安全设置方法、iptables防火墙及Linux内置的安全子系统SELinux。第10章介绍Linux系统的定制方法,包括Linux内核的定制和发行版本的定制。通过这部分的学习,读者可以在多方面实现对Linux的系统管理,既可以实现对系统软硬件的管理,又可以根据自己的需求实现对Linux内核和应用的定制,充分发挥Linux灵活、安全以及功能丰富的优势。
第三部分介绍Linux平台上的程序设计,包括第11~16章,主要面向那些已经具有一定程序设计基础且希望在Linux平台上进行软件开发的读者。Linux不仅仅是强大的操作系统,更是一个自由、开放的平台。在这个平台上,集成了很多方便、高效的开发工具,为用户开发满足各种需求的应用软件提供了丰富的手段。本部分介绍了6个开发环境和工具:第11章介绍Shell程序设计技术,第12章介绍如何利用GCC工具在Linux平台上进行C/C++程序的开发,第13章介绍使用GTK开发工具包开发图形界面应用程序的方法,第14章介绍使用Qt工具包开发图形界面应用程序的方法,第15章介绍Python程序设计及集成开发环境Spyder的使用,第16章介绍使用Eclipse工具开发Java应用程序的方法。通过这部分的学习,读者能够掌握在Linux下进行软件开发的基本步骤和方法,了解几种常用开发工具的功能和使用方法,从而可以迅速从原来的开发环境转换到Linux下进行软件开发。
本书是作者在第3版的基础上,根据在Linux系统的教学、研究与开发方面的实践经验,结合Linux系统的新进展编写而成的。由于Linux涉及的知识体系相当庞大,用一本书的容量来展示其功能必然要对内容做适当取舍,所以不可能满足所有读者的需求。此外,由于时间仓促,书中难免出现疏漏,敬请广大读者对本书不当之处加以指正,也欢迎读者将对本书的建议和意见反馈给我们。

上架指导

计算机\程序设计

封底文字

本书以Fedora 30为蓝本,由浅入深地介绍Linux系统的使用、管理与开发知识,突出Linux的新技术和新特点,能帮助读者在较短的时间内掌握Linux的精髓,并学会Linux系统的实际操作与应用。
本书特色
基础与应用并重。本书不仅对Linux系统的基本概念和基本理论进行清晰、全面的阐述,而且注重实际经验分享,通过众多实例帮助读者巩固基础知识,进而灵活运用相关知识解决实际问题。
内容安排循序渐进。本书先引导读者对Linux系统建立整体的认识,再逐步掌握Linux系统的使用方法和管理技术,最终达到能自如使用和管理Linux系统,并具备在Linux系统上进行软件开发的能力。
读者对象广泛。本书的第一部分主要面向初学者,第二部分主要面向高级用户和系统管理者,第三部分主要面向具有一定程序设计语言基础知识并希望在Linux系统上进行软件开发的读者。无论是初学者还是有一定基础的读者都能从本书中获益。

图书目录

前言
教学建议
第一部分 Linux的使用基础
第1章 Linux概述 2
1.1 初识Linux 2
1.1.1 什么是Linux 2
1.1.2 Linux的特性 3
1.1.3 Linux与其他操作系统的区别 5
1.1.4 GNU、GPL和LGPL 6
1.1.5 Linux的主要版本 8
1.2 Linux概览 10
1.2.1 Linux的内核 10
1.2.2 Linux的用户界面 10
1.2.3 Linux的文件结构 10
1.2.4 Linux的应用程序 11
1.3 Linux的安装 11
1.3.1 安装前的准备 11
1.3.2 引导安装程序 15
1.3.3 收集安装信息 16
1.3.4 正式安装 22
1.3.5 首次运行的设置 23
1.4 启动与关闭Linux 24
1.4.1 用户登录 24
1.4.2 选择默认用户界面 25
1.4.3 用户注销 27
1.4.4 关闭系统 28
1.5 本章小结 29
习题 29
第2章 Shell及常用命令 30
2.1 Linux终端使用基础 30
2.1.1 什么是Linux终端 30
2.1.2 Shell的基本形式 31
2.2 文件与目录的基本概念 34
2.2.1 文件与文件类型 34
2.2.2 目录 35
2.2.3 工作目录、用户主目录与路径 36
2.3 对目录和文件的基本操作 37
2.3.1 显示文件命令 37
2.3.2 复制、删除和移动命令 38
2.3.3 创建和删除目录命令 40
2.3.4 切换工作目录和显示目录命令 41
2.3.5 查找与定位命令 42
2.3.6 链接命令ln 44
2.3.7 创建文件、改变文件或目录时间的命令touch 45
2.3.8 文件比较与排序命令 46
2.4 备份与压缩命令 47
2.4.1 备份命令tar 48
2.4.2 压缩和解压命令gzip 49
2.4.3 解压命令unzip 49
2.5 其他常用命令 50
2.5.1 显示文字命令echo 50
2.5.2 显示日历命令cal 50
2.5.3 日期和时间命令date 51
2.5.4 清除屏幕命令clear 53
2.5.5 软件包管理命令rpm 53
2.6 联机帮助命令 54
2.6.1 man 54
2.6.2 info 54
2.6.3 help 55
2.7 本章小结 55
习题 55
第3章 X Window的使用 57
3.1 Fedora 的X Window系统 57
3.1.1 X Window系统的组成与特点 57
3.1.2 GNOME简介 58
3.1.3 KDE简介 58
3.1.4 桌面应用程序 59
3.1.5 窗口管理器 59
3.2 GNOME桌面环境 60
3.2.1 GNOME桌面布局 60
3.2.2 GNOME的顶端面板 61
3.2.3 GNOME的浮动面板 63
3.2.4 GNOME的消息和通知区 64
3.2.5 GNOME的工作区选择器 65
3.2.6 GNOME的桌面设置 65
3.3 GNOME的应用程序管理 67
3.3.1 GNOME中的应用程序 67
3.3.2 运行桌面应用程序 69
3.3.3 收藏夹和快捷方式管理 70
3.4 GNOME的窗口管理 70
3.5 GNOME的文件管理 72
3.6 GNOME的软件管理 76
3.7 本章小结 78
习题 78
第4章 Linux系统的常用软件 79
4.1 办公软件 79
4.1.1 办公套件LibreOff?ice 79
4.1.2 Writer组件 80
4.1.3 Calc组件 83
4.1.4 Impress组件 85
4.2 网络应用软件 86
4.2.1 浏览器Firefox 86
4.2.2 个人信息管理应用Evolution 88
4.3 多媒体应用软件 90
4.3.1 音乐播放器Rhythmbox 91
4.3.2 视频播放器Totem 92
4.4 其他工具 93
4.4.1 GUN图像处理程序 93
4.4.2 文本编辑器 95
4.5 本章小结 96
习题 96
第5章 硬件与软件的安装 97
5.1 Linux硬件安装 97
5.1.1 Linux硬件管理基础 97
5.1.2 Linux统一设备模型 98
5.1.3 安装硬件驱动的一般步骤 99
5.1.4 硬件安装实例 100
5.2 Linux软件的安装 106
5.2.1 Linux中应用软件的安装包 106
5.2.2 安装Tarball包应用软件 107
5.2.3 安装RPM包应用软件 108
5.2.4 安装Deb包应用软件 109
5.3 通过dnf安装软件 111
5.3.1 dnf资源库的配置 112
5.3.2 dnf的常用命令 114
5.3.3 使用dnf安装软件的实例 114
5.4 patch原理和使用 115
5.4.1 软件更新的一般过程 116
5.4.2 文件比较命令diff 116
5.4.3 打补丁命令patch 117
5.4.4 软件更新过程示例 118
5.5 本章小结 120
习题 121
第二部分 Linux的系统管理
第6章 网络的基本配置 124
6.1 网络接口的硬件信息 124
6.2 网络接口的配置与管理 125
6.2.1 使用文本界面工具管理接口 125
6.2.2 使用命令行界面工具管理接口 127
6.2.3 使用系统设置管理网络接口 130
6.2.4 使用ifconf?ig命令管理接口 131
6.3 常用的网络命令 133
6.3.1 网络测试命令 133
6.3.2 远程登录命令 136
6.4 网络相关的配置文件 138
6.4.1 主机名配置文件 138
6.4.2 主机名列表文件 138
6.4.3 域名服务器配置文件 139
6.4.4 主机名解析配置文件 140
6.4.5 名字服务切换配置文件 140
6.4.6 协议定义文件 141
6.4.7 网络服务列表文件 141
6.5 本章小结 142
习题 142
第7章 常用网络服务的配置与使用 143
7.1 Fedora的服务管理 143
7.1.1 systemd的工作原理 143
7.1.2 systemd的配置文件 144
7.1.3 systemd的服务管理工具 146
7.1.4 SysV的服务管理工具 147
7.2 Apache服务器 149
7.2.1 简介 149
7.2.2 安装 149
7.2.3 启动与关闭 150
7.2.4 配置 151
7.2.5 应用实例 152
7.2.6 使用SSL加密传输 153
7.3 vsFTPd服务器 155
7.3.1 简介 155
7.3.2 安装 155
7.3.3 启动与关闭 155
7.3.4 配置 156
7.3.5 FTP客户端 157
7.3.6 应用实例 158
7.4 Samba服务器 160
7.4.1 简介 160
7.4.2 安装 160
7.4.3 启动与关闭 161
7.4.4 配置 161
7.4.5 应用实例 163
7.5 DNS服务器 164
7.5.1 简介 164
7.5.2 安装Bind 166
7.5.3 启动与关闭 166
7.5.4 配置 166
7.5.5 应用实例 170
7.6 本章小结 172
习题 172
第8章 系统管理与监视 174
8.1 用户管理 174
8.1.1 Linux的账号 174
8.1.2 用户管理方法 174
8.1.3 用户间切换 179
8.1.4 用户配置文件 180
8.1.5 账号管理和查看命令 182
8.2 文件访问权限管理 184
8.2.1 文件权限表示 184
8.2.2 文件权限管理 186
8.3 进程管理 188
8.3.1 进程的概念 188
8.3.2 启动进程 188
8.3.3 进程管理命令 193
8.4 系统监视 194
8.4.1 系统监控命令top 194
8.4.2 内存查看命令free 195
8.4.3 磁盘空间用量查看命令df 196
8.4.4 系统监视器 196
8.5 日志查看 198
8.6 本章小结 198
习题 199
第9章 Linux系统的安全管理 200
9.1 Linux系统的安全设置 200
9.1.1 系统的安全设置 200
9.1.2 账号的安全设置 202
9.1.3 网络的安全设置 203
9.2 iptables防火墙 203
9.2.1 netfilter的工作原理 204
9.2.2 iptables命令 206
9.2.3 iptables使用示例 208
9.3 SELinux 210
9.3.1 SELinux简介 210
9.3.2 SELinux的基本概念 212
9.3.3 SELinux的安全控制原理 215
9.3.4 SELinux的基本操作 215
9.3.5 SELinux的策略管理 220
9.3.6 SELinux的日志与诊断 221
9.3.7 SELinux访问控制示例 222
9.4 本章小结 223
习题 223
第10章 Linux系统的定制 225
10.1 Linux内核概述 225
10.1.1 Linux系统架构 225
10.1.2 Linux内核的组成 226
10.1.3 Linux内核配置文件 228
10.2 Linux内核的定制 229
10.2.1 获取内核源代码 229
10.2.2 生成内核配置文件 230
10.2.3 编译并安装内核 232
10.3 Linux发行版本的定制 232
10.3.1 Fedora的定制版本 233
10.3.2 创建自己的Fedora定制版 234
10.4 本章小结 236
习题 236
第三部分 Linux平台上的程序设计
第11章 Shell程序设计 238
11.1 使用Shell 238
11.2 bash程序设计 239
11.2.1 bash程序的一般格式 240
11.2.2 变量的声明和使用 241
11.2.3 条件判断 244
11.2.4 控制结构 247
11.2.5 函数 251
11.3 Shell程序示例 254
11.3.1 Linux程序示例 254
11.3.2 文件备份脚本示例 254
11.4 本章小结 256
习题 256
第12章 GCC的使用与开发 257
12.1 GCC简介 257
12.2 GCC的使用 257
12.3 利用GCC开发C语言程序 261
12.3.1 简单的C语言程序 261
12.3.2 多个文件的C程序 261
12.3.3 使用makefile生成程序 263
12.4 调试 264
12.4.1 静态调试 265
12.4.2 动态调试 267
12.5 本章小结 269
习题 269
第13章 GTK图形界面程序设计 270
13.1 X Window编程简介 270
13.2 GTK程序设计简介 271
13.3 GTK开发图形界面程序 272
13.3.1 基本的GTK程序 272
13.3.2 编译GTK源程序 275
13.3.3 界面布局 276
13.4 本章小结 283
习题 283
第14章 Qt图形界面程序设计 284
14.1 Qt程序设计简介 284
14.2 开发Qt图形界面程序 285
14.2.1 简单Qt图形程序 285
14.2.2 Qt程序的编译 287
14.2.3 Qt Creator程序开发 288
14.3 本章小结 296
习题 297
第15章 Python程序开发环境 298
15.1 Python语言简介 298
15.2 Python的获取与安装 299
15.3 终端工具使用 299
15.3.1 交互式运行 299
15.3.2 程序文件的运行 300
15.4 Spyder开发环境 302
15.4.1 示例程序简介 303
15.4.2 创建项目与代码编写 305
15.4.3 程序运行与调试 307
15.5 本章小结 309
习题 309
第16章 集成开发环境Eclipse的使用 310
16.1 Eclipse概述 310
16.2 Eclipse的安装与使用 311
16.2.1 JDK 8安装配置 311
16.2.2 安装与使用Eclipse 312
16.2.3 Eclipse的界面组成 313
16.2.4 创建第一个Java应用程序 314
16.3 Eclipse RCP应用开发 317
16.3.1 什么是RCP 317
16.3.2 新建RCP项目 317
16.3.3 项目的组织结构 320
16.3.4 发布RCP应用程序 321
16.4 本章小结 323
习题 323
附录 Linux终端命令 324

教学资源推荐
作者: 郑晓薇 编著
作者: (美)Y. Daniel Liang 著
作者: [美]詹姆斯·高斯林(James Gosling), 比尔·乔伊(Bill Joy), 盖·斯蒂尔(Guy Steele),吉拉德·布拉查(Gilad Bracha), 亚历克斯·巴克利(Alex Buckley) 著
作者: [美] 凯·霍斯特曼(Cay Horstmann) 兰斯·尼塞斯(Rance Necaise) 著
参考读物推荐
作者: 阿里集团 新零售技术事业群 CBU技术部 著
作者: [美]乔史·戴昆(Josh Diakun) 保罗R.约翰逊(Paul R Johnson) 德莱克·默克(Derek Mock)著
作者: 解承凯 编著