新書推薦:
《
美国小史(揭秘“美国何以成为美国”,理解美国的经典入门读物)
》
售價:HK$
79.4
《
中国古代北方民族史丛书——东胡史
》
售價:HK$
87.8
《
巨人传(插图珍藏本)
》
售價:HK$
705.6
《
地下(村上春树沙林毒气事件的长篇纪实)
》
售價:HK$
74.8
《
偿还:债务与财富的阴暗面
》
售價:HK$
78.2
《
清华大学藏战国竹简校释(壹):《命训》诸篇
》
售價:HK$
92.0
《
封建社会农民战争问题导论(光启文库)
》
售價:HK$
66.7
《
虚弱的反攻:开禧北伐
》
售價:HK$
92.0
|
編輯推薦: |
国内著名操作系统作者,国家规划教材和北京精品教材,畅销教材
|
內容簡介: |
本书是"十二五”普通高等教育本科国家级规划教材和北京高等教育精品教材。在第3版的基础上修订而成,全面、系统、由浅入深地介绍Linux系统的概念、使用、原理、开发和管理等方面的内容。书中通过大量应用实例,循序渐进地引导读者学习Linux系统。全书共分9章,分别讲述Linux系统概述、系统安装和图形环境,常用命令,vi编辑器,shell编程,内核的功能和实现,常用开发工具,Linux环境编程,系统管理,网络应用和管理等。每章都有思考题。书后给出了实验大纲,供教学参考。还为任课教师免费提供电子教案。
|
關於作者: |
第一作者孟庆昌,是北京信息科技大学的教学名师,国内知名的操作系统教育专家,其操作系统教材在国内高校拥有良好的口碑和市场
|
目錄:
|
目 录
第1章 Linux系统概述1
1.1 计算机基础知识1
1.1.1 硬件1
1.1.2 软件1
1.2 操作系统的功能3
1.2.1 硬件控制3
1.2.2 资源管理3
1.2.3 用户接口3
1.2.4 输入和输出处理5
1.2.5 系统监控5
1.2.6 通信5
1.3 Linux系统的历史、现状和特点6
1.3.1 Linux的历史6
1.3.2 Linux的现状6
1.3.3 Linux的特点8
1.3.4 Linux的版本9
1.3.5 Linux的发展优势与存在的问题11
1.4 Linux系统安装11
1.4.1 基本硬件需求12
1.4.2 安装前的准备12
1.4.3 利用PQMagic 8.0划分分区14
1.4.4 安装过程16
1.4.5 登录和退出系统22
1.4.6 常用硬件配置23
1.4.7 安装软件工具26
1.5 在虚拟机上安装Linux27
1.6 Linux图形环境28
1.6.1 X Window系统29
1.6.2 GNOME桌面系统31
1.6.3 KDE桌面系统31
思考题135
第2章 Linux常用命令36
2.1 使用命令36
2.1.1 进入shell界面36
2.1.2 命令格式37
2.1.3 输入命令37
2.2 简单命令38
2.3 文件概念和文件类型39
2.3.1 文件系统的概念39
2.3.2 文件类型40
2.4 文件操作命令42
2.4.1 文件显示命令42
2.4.2 匹配、排序及显示指定内容
的命令45
2.4.3 比较文件内容的命令47
2.4.4 复制、删除和移动文件的命令48
2.4.5 文件内容统计命令50
2.5 目录及其操作命令51
2.5.1 目录结构51
2.5.2 创建和删除目录的命令53
2.5.3 改变工作目录和显示目录内容
的命令55
2.5.4 链接文件的命令57
2.5.5 改变文件或目录存取权限
的命令59
2.5.6 改变用户组和文件主的命令63
2.6 联机帮助命令64
2.6.1 man命令64
2.6.2 help命令65
2.7 有关进程管理的命令66
2.7.1 ps命令66
2.7.2 kill命令68
2.7.3 sleep命令69
2.8 文件压缩和解压缩命令69
2.8.1 gzip命令69
2.8.2 unzip命令70
2.9 有关DOS命令71
思考题272
第3章 文本编辑73
3.1 vi的工作方式73
3.1.1 命令方式73
3.1.2 输入方式73
3.1.3 ex转义方式74
3.2 进入和退出vi75
3.2.1 进入vi75
3.2.2 退出vi75
3.3 文本输入76
3.3.1 插入命令76
3.3.2 附加命令76
3.3.3 打开命令77
3.3.4 输入方式下光标的移动77
3.4 移动光标78
3.5 文本修改79
3.6 编辑文件80
3.7 字符串检索81
3.8 ex命令82
3.8.1 命令定位82
3.8.2 常用ex命令83
思考题384
第4章 Linux shell程序设计85
4.1 shell概述85
4.1.1 shell的特点和主要版本85
4.1.2 简单shell程序示例86
4.1.3 shell脚本的建立和执行87
4.2 命令历史88
4.2.1 显示历史命令89
4.2.2 执行历史命令89
4.2.3 配置历史命令环境90
4.3 名称补全91
4.4 别名91
4.4.1 定义别名91
4.4.2 取消别名92
4.5 shell特殊字符93
4.5.1 通配符93
4.5.2 引号94
4.5.3 输入输出重定向符96
4.5.4 注释、管道线和后台命令99
4.5.5 命令执行操作符100
4.5.6 成组命令101
4.6 shell变量102
4.6.1 用户定义的变量102
4.6.2 数组104
4.6.3 变量引用106
4.6.4 输入输出命令107
4.6.5 位置参数109
4.6.6 移动位置参数110
4.6.7 预先定义的特殊变量111
4.6.8 环境变量113
4.6.9 环境文件115
4.6.10 export语句与环境设置115
4.7 参数置换变量119
4.8 算术运算121
4.9 控制结构123
4.9.1 if语句123
4.9.2 条件测试125
4.9.3 case语句128
4.9.4 while语句130
4.9.5 until语句131
4.9.6 for语句131
4.9.7 break命令和continue命令134
4.9.8 exit命令135
4.10 函数136
4.11 作业控制137
4.11.1 jobs命令138
4.11.2 kill命令138
4.11.3 bg和fg命令138
4.12 shell内置命令138
4.13 shell脚本调试141
4.13.1 解决环境设置问题142
4.13.2 解决脚本错误142
4.14 shell脚本示例143
思考题4145
第5章 Linux内核简介147
5.1 概述147
5.2 进程管理148
5.2.1 进程和线程的概念149
5.2.2 进程的结构151
5.2.3 对进程的操作152
5.2.4 进程调度153
5.2.5 shell基本工作原理155
5.3 文件系统156
5.3.1 ext2文件系统156
5.3.2 虚拟文件系统161
5.4 内存管理165
5.4.1 请求分页机制165
5.4.2 内存交换169
5.5 进程通信169
5.5.1 信号机制170
5.5.2 管道文件172
5.5.3 System V IPC机制173
5.6 设备管理173
5.6.1 设备管理概述173
5.6.2 设备驱动程序和内核之间的接口174
5.7 中断、异常和系统调用176
5.7.1 中断处理177
5.7.2 系统调用178
5.8 网络系统178
5.8.1 socket178
5.8.2 网络分层结构179
思考题5180
第6章 常用开发工具181
6.1 gcc编译系统181
6.1.1 文件名后缀181
6.1.2 C语言编译过程182
6.1.3 gcc命令行选项183
6.2 gdb程序调试工具188
6.2.1 启动gdb和查看内部命令188
6.2.2 显示源程序和数据190
6.2.3 改变和显示目录或路径193
6.2.4 控制程序的执行194
6.2.5 其他常用命令197
6.2.6 应用示例197
6.3 程序维护工具make200
6.3.1 make的工作机制200
6.3.2 使用变量203
6.3.3 隐式规则204
6.3.4 make命令常用选项205
思考题6206
第7章 Linux环境编程208
7.1 系统调用和库函数208
7.1.1 系统调用208
7.1.2 库函数208
7.1.3 调用方式209
7.2 文件操作210
7.2.1 有关文件操作的系统调用210
7.2.2 应用示例211
7.3 进程控制215
7.3.1 有关进程控制的系统调用215
7.3.2 应用示例216
7.4 进程通信218
7.4.1 有关进程通信的函数218
7.4.2 应用示例220
7.5 内存管理223
7.6 综合编程示例224
思考题7226
第8章 Linux系统管理227
8.1 系统管理概述227
8.2 用户和工作组管理228
8.2.1 有关用户账号的文件228
8.2.2 用户账号的创建和维护231
8.2.3 用户磁盘空间限制及其实现237
8.3 文件系统及其维护239
8.3.1 分区239
8.3.2 文件系统244
8.3.3 Linux主要目录的内容248
8.4 文件系统的备份250
8.4.1 备份概述250
8.4.2 备份策略251
8.4.3 恢复备份文件253
8.5 系统安全管理253
8.5.1 安全管理253
8.5.2 安全管理要素254
8.5.3 用户密码和账号的管理255
8.5.4 文件和目录权限的管理256
8.5.5 系统日志257
8.6 系统性能优化259
8.6.1 磁盘IO性能的优化259
8.6.2 执行进程的调度260
思考题8261
第9章 网络应用及管理262
9.1 配置网络262
9.1.1 配置网卡262
9.1.2 网络互连264
9.1.3 基本网络命令264
9.2 电子邮件268
9.2.1 电子邮件系统简介268
9.2.2 配置邮件环境270
9.3 网络文件系统NFS275
9.3.1 NFS简介275
9.3.2 NFS的配置及使用276
9.4 网络管理278
9.4.1 网络管理简介278
9.4.2 SNMP279
9.4.3 基于SNMP的管理应用程序282
9.5 网络安全284
9.5.1 网络安全简介284
9.5.2 Linux安全问题及对策287
9.5.3 网络安全工具295
思考题9297
附录A 实验大纲298
实验一 Linux系统安装与简单配置298
实验二 常用命令使用299
实验三 vi编辑器300
实验四 shell编程300
实验五 常用开发工具301
实验六 Linux环境编程302
实验七 系统及网络管理302
参考文献303
|
內容試閱:
|
前 言
21世纪是一个信息时代。大数据处理技术、云计算技术、生命科学与工程等最新科学技术得到了迅猛发展,给计算机软件学科带来了强有力的推动,同时提出了新的更高的要求。操作系统作为所有软件的基础平台,历来受到业界的广泛重视。如今,在不断涌现的新的操作系统中,在全世界得到广泛关注和迅速发展的当属Linux操作系统。以Linux为代表的开源软件是当今举世瞩目的、发展最快和应用最广的主流软件之一。各国政府对Linux的开发和应用给予很大关注,全球软件业和厂商都以极大热情和资金投入Linux的开发。现在,学习和应用Linux成为众多计算机用户和学生的首选。编写和出版《Linux教程》正是为了适应这种社会需求。
本书是十二五普通高等教育本科国家级规划教材和北京高等教育精品教材。自《Linux教程》发行后,得到广大读者的支持和好评,这是对我们工作的肯定,在此深表感谢。遵从与时俱进的思想,我们对本书第3版进行了如下修订:
(1)修订与时间相关的内容,尽量提供最新的信息,修正个别疏漏。
(2)鉴于高校学生学时数的限制和本书讲授知识的关联性,删去原书第10章嵌入式操作系统简介。
(3)在第7章Linux环境编程的7.6节综合编程示例中,增加了C程序主函数main如何从命令行中获得形参值的介绍。
(4)在前言中调整了学时分配(建议)。
本书以红旗Linux桌面版6.0 为蓝本,全面、系统、由浅入深地介绍了Linux系统的概念、使用、原理、开发和管理等方面的内容。通过大量应用实例,循序渐进地引导读者学习Linux系统。
本书内容分为4个部分:
第一部分 基本知识,包括概述、系统安装和一般配置,以及vi和常用命令的使用。
第二部分 系统结构,即Linux内核简介。
第三部分 Linux程序设计,包括shell编程、常用开发工具和高级编程(系统调用和库函数的应用)。
第四部分 系统管理,包括常规系统管理和网络管理。
全书共分9章:
第1章 Linux系统概述,给出有关操作系统的一些概念和术语,并对Linux操作系统的功能、版本、特点,以及Linux系统安装和图形环境进行较全面的介绍。
第2章 Linux常用命令,介绍如何在安全的环境中执行系统命令,包括有关文件、目录、文件系统、进程等概念,如何使用相应的命令对文件、目录、进程等进行管理,了解遇到问题时,如何找到帮助信息等。
第3章 文本编辑,介绍Linux系统上常用的文本编辑器vi,包括如何使用vi编辑器建立、编辑、显示及加工处理文本文件。
第4章 Linux shell程序设计,主要介绍Linux shell(默认的是bash)的语法结构、变量定义及赋值引用、标点符号、控制语句、函数、内置命令及shell程序调试等。
第5章 Linux内核简介,介绍Linux核心部分,即Linux操作系统的功能和实现,包括Linux核心的一般结构,进程的概念、进程的调度和进程通信,文件系统的构成和管理,内存管理,设备驱动,以及中断处理等。
第6章 常用开发工具,介绍在Linux环境下C语言编译系统、gdb调试工具和程序维护工具make的功能、选项和应用。
第7章 Linux环境编程,简要介绍系统调用和库函数的概念,以及在Linux环境下如何利用系统调用和库函数进行编程。
第8章 Linux系统管理,对Linux系统管理的各个方面进行较为全面的介绍,包括与Linux系统管理相关的计算机术语,有关用户和工作组、文件系统、系统后备、系统安全等方面的基本概念及相关的管理方法,有关Linux系统性能优化的基本概念与技巧等。
第9章 网络应用及管理,对Linux系统的网络应用、网络管理、网络安全等内容进行较全面的介绍,包括网络配置的基本知识,网络文件系统的基本功能和使用方法,网络管理的基本方法,网络安全问题及对策等。
本书所给命令中,带下划线的字母或英文单词表示变量,具体使用该命令时,应该用适当参数替换。
为强化本课程的实验环节,附录A提供了实验大纲;为方便教师授课,本书还提供电子教案,任课教师可以从华信教育资源网http:www.hxedu.com.cn免费注册下载,并依据本校教学大纲的要求对它进行增删。下表列出了授课和实验的学时分配建议,任课老师可根据本校实际情况,在学时及内容安排上进行适当取舍。
授课学时分配表
授课总学时
(参考值)学时分配
第1章第2章第3章第4章第5章第6章第7章第8章第9章
16221322211
32342644432
48463966653
实验学时分配表
实验总学时
(参考值)学时分配
第1章
(实验一)第2章
(实验二)第3章
(实验三)第4章
(实验四)第6章
(实验五)第7章
(实验六)第8章
(实验七)
242425254
1624424
82222
在本书编写过程中得到多位同事、学生和出版社编辑的大力支持和帮助,在此表示衷心感谢。本书主要由孟庆昌、牛欣源编写,本次修订中参加编写、整理工作的还有刘振英、路旭强、张志华、马鸣远、唐伟杰、孟欣、李强等。因编者水平有限,加上时间紧迫,Linux技术发展迅速,故书中难免存在疏漏、欠妥和错误之处,恳请广大读者批评指正,在此表示感谢。让我们共同努力,促进我国软件产业的迅速发展。
编 著 者
|
|