Linux系统应用与开发教程

Linux系统应用与开发教程
作 者: 刘海燕
出版社: 机械工业出版社
丛编项: 计算机基础课程系列教材
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: Linux
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  刘海燕,国防科技大学计算机科学与技术专业学士、硕士、博士。一直从事计算机科学与技术专业的专业课教学和科研工作,教授包括Linux在内的多门专业课程,在使用Linux系统进行网络信息安全、嵌入式系统的研发方面具有丰富经验。刘海燕,国防科技大学计算机科学与技术专业学士、硕士、博士。一直从事计算机科学与技术专业的专业课教学和科研工作,教授包括Linux在内的多门专业课程,在使用Linux系统进行网络信息安全、嵌入式系统的研发方面具有丰富经验。荆涛,毕业于国防科技大学电子技术与通信工程专业,获硕士学位。主要研究方向为计算机安全、计算机图形图像处理。一直教授Linux课程并使用Linux进行系统开发,对Linux的应用有浓厚兴趣。

内容简介

本书针对RedHatLinux9.0,系统介绍Linux系统的使用、管理与开发。全书共分为三部分。第一部分介绍Linux的基本知识,使读者快速认识Linux,熟悉Linux操作环境,掌握Linux的基本操作。第二部分介绍硬件管理、网络管理、网络服务的配置、用户管理以及如何对系统进行管理与监控。第三部分主要面向希望在Linux平台上开发软件的读者,介绍Linux下常用的开发工具和开发环境,注重与Windows平台进行对比,帮助软件开发人员迅速转换到Linux平台上进行软件开发。本书由浅入深、图文并茂、通俗易懂,不仅分析Linux核心的工作原理与结构,而且突出RedHatLinux9.0的新技术和新特点。对每一项功能,一般给出多种操作实现途径。本书不仅适合Linux系统的初学者学习,也适合那些使用过旧版本、想了解新版本的读者学习。高级用户、管理者以及研究开发人员也可以将本书作为一本较为全面的参考书。本书前言Linux是一个优秀的操作系统,它支持多用户、多进程及多线程,以稳定、强健、可靠著称。Linux提供强大的服务器功能,因此在网络技术日益发展的今天,Linux受到越来越多的企业和个人的青睐。越来越多的网络及网络服务器选择Linux作为运行平台。目前在很多国家,以Linux为代表的自由软件已经在政务、军事、商业等众多领域得到广泛应用。在我国,Linux也在电子政务、电子商务等信息化建设领域崭露头角。在今后数年,高水平的Linux专业人才将成为IT领域乃至整个就业市场中的新宠。在出现的早期,Linux主要在学术团体、专业领域中使用,普通用户常常对它望而生畏。其实,作为一个通用操作系统,Linux与Windows功能类似,甚至更强大,操作也基本相同。而且经过多年的发展,在全世界众多精英的共同努力下,Linux在操作系统内核以及系统与网络的管理方面都有显著提高,Linux使用的简便性已经可以与Windows媲美。普通用户通过学习完全可以掌握它,并利用它的强大功能使自己在信息化过程中如虎添翼。RedHatLinux操作系统作为Linux的一个主要发行版本,是应用最广泛也是使用最方便的版本之一。它继承了Linux的高性能,融入更多易操作的特点,并增加了很多新功能。本书针对其最新版本RedHatLinux9.0,由浅入深地介绍Linux系统。可帮助读者对Linux系统有一个整体的认识,逐步掌握Linux的基本使用方法、管...

图书目录

第一部分 Linux使用基础

第1章 Linux概述 2

1.1 初识Linux 2

1.1.1 Linux的起源 2

1.1.2 什么是Linux 2

1.1.3 Linux的特性 3

1.1.4 Linux与其他操作系统的区别 4

1.1.5 GNU、GPL和LGPL 6

1.1.6 Linux 的主要版本 7

1.2 Linux纵览 8

1.3 Linux的安装 10

1.3.1 安装前的准备 10

1.3.2 收集安装信息 11

1.3.3 开始安装 15

1.4 启动与关闭Linux 16

1.4.1 首次启动 16

1.4.2 登录 17

1.4.3 注销 19

1.4.4 关闭 19

1.5 小结 20

习题 20

第2章 shell及常用命令 21

2.1 Linux终端使用基础 21

2.1.1 什么是Linux终端 21

2.1.2 shell的基本形式 21

2.2 文件与目录的基本概念 23

2.2.1 文件与文件类型 23

2.2.2 目录 24

2.2.3 工作目录、用户主目录与路径 25

2.3 目录和文件的基本操作 25

2.3.1 显示文件命令 26

2.3.2 复制、删除和移动命令 27

2.3.3 创建和删除目录命令 28

2.3.4 切换工作目录和显示目录命令 29

2.3.5 查找与定位命令 30

2.3.6 链接命令 31

2.3.7 改变文件或目录时间的命令touch 32

2.4 备份与压缩命令 32

2.4.1 备份命令 32

2.4.2 压缩和解压命令 33

2.4.3 解压命令 34

2.5 其他常用命令 34

2.5.1 显示文字命令 34

2.5.2 显示日历命令 34

2.5.3 日期时间命令 35

2.5.4 清除屏幕命令 37

2.5.5 软件包管理命令rpm 37

2.6 联机帮助命令 38

2.6.1 man 38

2.6.2 info 38

2.6.3 help 38

2.7 小结 38

习题 39

第3章 vi编辑器的使用 40

3.1 vi简介 40

3.2 vi的进入与退出 41

3.2.1 进入vi 41

3.2.2 保存文件和退出vi 41

3.2.3 浏览文件 42

3.3 vi的编辑操作命令 42

3.3.1 vi中的行号 42

3.3.2 vi中的字、句和段 42

3.3.3 光标移动操作 43

3.3.4 屏幕滚动 44

3.3.5 命令模式下的编辑 45

3.3.6 插入模式下的文本编辑 48

3.3.7 重复与取消命令 49

3.4 小结 49

习题 49

第4章 X Window系统的使用 51

4.1 Linux上的X Window系统 51

4.1.1 X Window系统的组成与特点 51

4.1.2 GNOME简介 52

4.1.3 KDE简介 52

4.1.4 GNOME/KDE提供的软件 52

4.1.5 窗口管理器 53

4.2 GNOME 桌面环境 54

4.2.1 GNOME面板 54

4.2.2 GNOME桌面 58

4.2.3 GNOME的窗口管理器 60

4.2.4 GNOME的文件管理器 60

4.3 KDE桌面环境 64

4.3.1 KDE面板 65

4.3.2 KDE桌面 69

4.3.3 KDE的文件管理器 72

4.4 桌面切换 74

4.4.1 在字符终端下切换桌面 74

4.4.2 在X Window下切换桌面 74

4.5 小结 75

习题 75

第二部分 Linux的系统与网络管理

第5章 硬件管理 78

5.1 存储设备 78

5.1.1 确定挂载信息 78

5.1.2 挂载命令mount 79

5.1.3 挂载设备的过程 79

5.1.4 卸载设备 80

5.1.5 自动挂载 80

5.1.6 图形化挂载工具 81

5.1.7 磁盘格式化 82

5.2 声卡 82

5.2.1 安装OSS声卡驱动程序 82

5.2.2 安装ALSA声卡驱动程序 83

5.2.3 检测声卡 83

5.3 鼠标 83

5.4 显卡 84

5.5 打印机 85

5.5.1 获取打印机驱动程序 85

5.5.2 安装驱动程序 85

5.5.3 配置打印机 86

5.5.4 测试打印机 87

5.6 小结 87

习题 88

第6章 网络基本配置 89

6.1 网络接口配置 89

6.1.1 使用网络接口配置程序netconfig 89

6.1.2 使用图形配置工具 89

6.1.3 使用终端命令ifconfig 91

6.2 网络接口的启动与禁用 91

6.3 网络接口的查看 92

6.4 常用网络命令 92

6.4.1 网络测试命令 92

6.4.2 远程登录命令 95

6.5 网络相关配置文件 97

6.5.1 网络配置文件 97

6.5.2 网络接口配置文件 97

6.5.3 域名解析配置文件 98

6.5.4 主机名列表文件 98

6.5.5 域名服务器设置文件 98

6.5.6 协议定义文件 99

6.5.7 网络服务列表文件 99

6.6 小结 99

习题 100

第7章 常用网络服务的使用与配置 101

7.1 网络服务管理工具 101

7.1.1 图形界面的管理工具 101

7.1.2 文本界面的管理工具 102

7.1.3 命令行界面的管理工具 102

7.1.4 xinetd 103

7.2 Apache服务器 104

7.2.1 Apache服务器简介 104

7.2.2 安装 105

7.2.3 启动与关闭 105

7.2.4 配置 106

7.2.5 应用实例 107

7.3 vsFTPd服务器 108

7.3.1 简介 108

7.3.2 安装 109

7.3.3 启动与关闭 109

7.3.4 配置 110

7.3.5 FTP客户端 110

7.3.6 应用实例 112

7.4 Samba服务器 113

7.4.1 简介 113

7.4.2 安装 114

7.4.3 启动与关闭 114

7.4.4 配置 114

7.4.5 应用实例 115

7.5 DNS服务器 118

7.5.1 简介 118

7.5.2 安装 119

7.5.3 启动与关闭 119

7.5.4 使用配置文件配置DNS 120

7.5.5 使用图形界面工具配置DNS 124

7.6 小结 126

习题 126

第8章 用户管理和系统安全设置 128

8.1 用户管理 128

8.1.1 账号与配置文件 128

8.1.2 用户管理 129

8.1.3 账号管理和查看命令 132

8.1.4 文件权限管理 134

8.2 系统安全设置 136

8.2.1 系统管理 136

8.2.2 用户安全管理 137

8.2.3 网络服务安全管理 138

8.3 小结 139

习题 139

第9章 进程管理与系统监控 140

9.1 进程的概念 140

9.2 启动进程 140

9.2.1 手工启动 140

9.2.2 调度启动 141

9.3 进程管理命令 144

9.3.1 进程查看命令ps 144

9.3.2 删除进程命令kill 144

9.4 系统监视 145

9.4.1 系统监控命令top 145

9.4.2 内存查看命令free 146

9.4.3 磁盘空间用量查看命令df 146

9.4.4 系统监视器 146

9.5 日志查看 147

9.5.1 日志文件 147

9.5.2 查看日志 148

9.6 小结 149

习题 149

第三部分 Linux平台上的软件开发技术

第10章 shell程序设计 152

10.1 使用shell 152

10.2 bash程序设计 153

10.2.1 bash程序的一般格式 153

10.2.2 变量的声明和使用 154

10.2.3 条件判断 157

10.2.4 控制结构 159

10.2.5 函数 163

10.3 shell程序实例 166

10.3.1 Linux实例程序 166

10.3.2 文件备份脚本示例 166

10.4 小结 168

习题 168

第11章 GCC的使用与开发 169

11.1 GCC简介 169

11.2 GCC的使用 169

11.3 利用GCC开发C语言程序 172

11.3.1 简单的C语言程序 172

11.3.2 多个文件的C程序 173

11.3.3 使用makefile生成程序 174

11.4 调试 176

11.4.1 静态调试 176

11.4.2 动态调试 178

11.5 小结 180

习题 180

第12章 GTK+图形界面程序设计 181

12.1 X Window编程简介 181

12.2 GTK+程序设计简介 182

12.3 用GTK+开发图形界面程序 182

12.3.1 基本的GTK+程序 182

12.3.2 编译GTK+源程序 185

12.3.3 应用容器的GTK+程序 186

12.4 小结 193

习题 193

第13章 Qt图形界面程序设计 194

13.1 Qt程序设计简介 194

13.2 开发Qt图形界面程序 195

13.2.1 简单Qt图形程序 195

13.2.2 Qt程序的编译 197

13.2.3 关联消息的图形程序 198

13.3 小结 205

习题 205

第14章 集成开发环境KDevelop 206

14.1 KDevelop简介 206

14.2 KDevelop的使用 206

14.2.1 启动KDevelop 207

14.2.2 创建项目 208

14.2.3 编辑项目 211

14.2.4 编译生成项目 214

14.3 小结 216

习题 217

第四部分 附 录

附录A 实验 219

附录B Linux终端命令 231