教育>本科研究生>计算机类
Linux教程(第3版)

Linux教程(第3版)"

作者:孟庆昌
ISBN:9787121136207
定价:¥36.0
字数:505千字
页数:324
出版时间:2011-07
开本:16(185*260)
版次:01-01
装帧:
出版社:电子工业出版社
简介

本书是普通高等教育“十一五”国家级规划教材和北京高等教育精品教材。在第2版的基础上修订而成,全面、系统、由浅入深地介绍Linux系统的概念、使用、原理、开发和管理等方面的内容。书中通过大量应用实例,循序渐进地引导读者学习Linux系统。全书共分10章,分别讲述Linux系统概述、系统安装和图形环境,常用命令,vi编辑器,shell编程,内核的功能和实现,常用开发工具,Linux环境编程,系统管理,网络应用和管理,嵌入式系统简介等。每章都有思考题。书后给出了实验大纲,供教学参考。还为任课教师免费提供电子教案。     读者对象:本书可作为高等学校计算机相关专业Linux操作系统教材,也可作为广大Linux用户、管理员及Linux系统自学者的学习用书。

前言

前 言 21世纪是一个信息时代。信息处理技术、网络技术、生命科学与工程等最新科学技术得到了迅猛发展,给计算机软件学科带来了强有力的推动,同时提出了新的更高的要求。操作系统作为所有软件的基础平台,历来受到业界的广泛重视。如今,在不断涌现的新的操作系统中,在全世界得到广泛关注和迅速发展的当属Linux操作系统。以Linux为代表的开源软件是当今举世瞩目的、发展最快和应用最广的主流软件之一。各国政府对Linux的开发和应用给予很大关注,全球软件业和厂商都以极大热情和资金投入Linux的开发。现在,学习和应用Linux成为众多计算机用户和学生的首选。编写和出版《Linux教程》正是为了适应这种社会需求。 本书是普通高等教育“十一五”国家级规划教材和北京高等教育精品教材,在《Linux教程》(第2版)基础上认真修订而成。修订时,我们一方面总结教学中的经验和体会,依据Linux最新发展技术,汇集众多师生的教学反馈意见,吸纳社会热心人士的建议;另一方面,参考了兄弟院校的教学大纲和教学经验,分析了国内对Linux人才的需求,汲取当前众多Linux书籍的精华。与第2版相比,本次修订对内容做了必要的调整和完善,增添的内容主要包括: (1)以红旗Linux桌面版6.0为蓝本,替代第2版桌面版4.1的相关内容。 (2)在系统安装一节,增加了利用VMWare进行虚拟机安装的介绍。 (3)在常用命令一章,增加了文件压缩和解压缩命令的介绍。 (4)在shell程序设计一章,增加了一个稍大的shell脚本示例。 (5)在Linux环境编程一章,增加了一个利用C语言、系统调用和shell命令综合编程的示例。 本书全面、系统、由浅入深地介绍了Linux系统的概念、使用、原理、开发和管理等方面的内容。通过大量应用实例,循序渐进地引导读者学习Linux系统。 本书内容分为4个部分: 第一部分基本知识,包括概述、系统安装和一般配置,以及vi和常用命令的使用。 第二部分系统结构,即Linux内核简介。 第三部分Linux程序设计,包括shell编程、常用开发工具和高级编程(系统调用和库函数的应用)。 第四部分系统管理,包括常规系统管理和网络管理。 全书共分10章: 第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系统的网络应用、网络管理、网络安全等内容进行较全面的介绍,包括网络配置的基本知识,网络文件系统的基本功能和使用方法,网络管理的基本方法,网络安全问题及对策等。 第10章 嵌入式操作系统简介,简要介绍嵌入式操作系统概念,实时内核与实现,并以CLinux为例介绍具体实现。 本书所给命令中,带下划线的字母或英文单词表示变量,具体使用该命令时,应该用适当参数替换。 各位老师在使用本书授课时,可根据本校实际情况,在学时及内容安排上进行适当取舍。下面列出的授课总学时与课时分配建议是我们多年的教学总结,仅供参考。 学时分配表(建议) 学 时 分 配 总学时 第1章 第2章 第3章 第4章 第5章 第6章 第7章 第8章 第9章 第10章 16 2 2 1 3 2 2 2 1 1 0 32 3 4 2 6 4 4 3 3 2 1 48 4 6 3 8 6 6 5 5 3 2 为强化本课程的实验环节,本书附录A提供了实验大纲,供教师和学生参考。 为方便教师授课,本书提供电子教案,可以从华信教育资源网http://www.hxedu.com.cn免费注册下载。任课教师可以依据本校教学大纲的要求对它进行增删。 在本书编写过程中曾得到多位同事、同学和出版社编辑的大力支持和帮助,在此表示衷心感谢。 本书主要由孟庆昌、牛欣源编写,本次修订中参加编写、整理工作的还有刘振英、马鸣远、唐伟杰、孟欣、李强等。因编者水平有限,加上时间紧迫,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的特点 7 1.3.4 Linux的版本 8 1.3.5 Linux的发展优势与存在的问题 10 1.4 Linux系统安装 10 1.4.1 基本硬件需求 11 1.4.2 安装前的准备 11 1.4.3 利用PQMagic 8.0划分分区 13 1.4.4 安装过程 15 1.4.5 登录和退出系统 21 1.4.6 常用硬件配置 22 1.4.7 安装软件工具 25 1.5 在虚拟机上安装Linux 26 1.6 Linux图形环境 27 1.6.1 X Window系统 28 1.6.2 GNOME桌面系统 30 1.6.3 KDE桌面系统 30 思考题1 34 第2章 Linux常用命令 35 2.1 使用命令 35 2.1.1 进入shell界面 35 2.1.2 命令格式 36 2.1.3 输入命令 36 2.2 简单命令 37 2.3 文件概念和文件类型 38 2.3.1 文件系统的概念 38 2.3.2 文件类型 39 2.4 文件操作命令 41 2.4.1 文件显示命令 41 2.4.2 匹配、排序及显示指定内容 的命令 44 2.4.3 比较文件内容的命令 46 2.4.4 复制、删除和移动文件的命令 47 2.4.5 文件内容统计命令 49 2.5 目录及其操作命令 50 2.5.1 目录结构 50 2.5.2 创建和删除目录的命令 52 2.5.3 改变工作目录和显示目录内容 的命令 54 2.5.4 链接文件的命令 56 2.5.5 改变文件或目录存取权限 的命令 58 2.5.6 改变用户组和文件主的命令 62 2.6 联机帮助命令 63 2.6.1 man命令 63 2.6.2 help命令 64 2.7 有关进程管理的命令 65 2.7.1 ps命令 65 2.7.2 kill命令 67 2.7.3 sleep命令 68 2.8 文件压缩和解压缩命令 68 2.8.1 gzip命令 68 2.8.2 unzip命令 69 2.9 有关DOS命令 70 思考题2 71 第3章 文本编辑 72 3.1 vi的工作方式 72 3.1.1 命令方式 72 3.1.2 输入方式 72 3.1.3 ex转义方式 73 3.2 进入和退出vi 74 3.2.1 进入vi 74 3.2.2 退出vi 74 3.3 文本输入 75 3.3.1 插入命令 75 3.3.2 附加命令 75 3.3.3 打开命令 76 3.3.4 输入方式下光标的移动 76 3.4 移动光标 77 3.5 文本修改 78 3.6 编辑文件 79 3.7 字符串检索 80 3.8 ex命令 81 3.8.1 命令定位 81 3.8.2 常用ex命令 82 思考题3 83 第4章 Linux shell程序设计 84 4.1 shell概述 84 4.1.1 shell的特点和主要版本 84 4.1.2 简单shell程序示例 85 4.1.3 shell脚本的建立和执行 86 4.2 命令历史 87 4.2.1 显示历史命令 88 4.2.2 执行历史命令 88 4.2.3 配置历史命令环境 89 4.3 名称补全 90 4.4 别名 90 4.4.1 定义别名 90 4.4.2 取消别名 91 4.5 shell特殊字符 92 4.5.1 通配符 92 4.5.2 引号 93 4.5.3 输入/输出重定向符 95 4.5.4 注释、管道线和后台命令 98 4.5.5 命令执行操作符 99 4.5.6 成组命令 100 4.6 shell变量 101 4.6.1 用户定义的变量 101 4.6.2 数组 103 4.6.3 变量引用 105 4.6.4 输入/输出命令 106 4.6.5 位置参数 108 4.6.6 移动位置参数 109 4.6.7 预先定义的特殊变量 110 4.6.8 环境变量 112 4.6.9 环境文件 114 4.6.10 export语句与环境设置 114 4.7 参数置换变量 118 4.8 算术运算 120 4.9 控制结构 122 4.9.1 if语句 122 4.9.2 条件测试 124 4.9.3 case语句 127 4.9.4 while语句 129 4.9.5 until语句 130 4.9.6 for语句 130 4.9.7 break命令和continue命令 133 4.9.8 exit命令 134 4.10 函数 135 4.11 作业控制 136 4.11.1 jobs命令 137 4.11.2 kill命令 137 4.12 shell内置命令 137 4.13 shell脚本调试 140 4.13.1 解决环境设置问题 141 4.13.2 解决脚本错误 141 4.14 shell脚本示例 142 思考题4 144 第5章 Linux内核简介 146 5.1 概述 146 5.2 进程管理 147 5.2.1 进程和线程的概念 148 5.2.2 进程的结构 150 5.2.3 对进程的操作 151 5.2.4 进程调度 152 5.2.5 shell基本工作原理 154 5.3 文件系统 155 5.3.1 ext2文件系统 155 5.3.2 虚拟文件系统 160 5.4 内存管理 164 5.4.1 请求分页机制 164 5.4.2 内存交换 168 5.5 进程通信 168 5.5.1 信号机制 169 5.5.2 管道文件 171 5.5.3 System V IPC机制 172 5.6 设备管理 172 5.6.1 设备管理概述 172 5.6.2 设备驱动程序和内核之间 的接口 173 5.7 中断、异常和系统调用 175 5.7.1 中断处理 176 5.7.2 系统调用 177 5.8 网络系统 177 5.8.1 socket 177 5.8.2 网络分层结构 178 思考题5 179 第6章 常用开发工具 180 6.1 gcc编译系统 180 6.1.1 文件名后缀 180 6.1.2 C语言编译过程 181 6.1.3 gcc命令行选项 182 6.2 gdb程序调试工具 187 6.2.1 启动gdb和查看内部命令 187 6.2.2 显示源程序和数据 189 6.2.3 改变和显示目录或路径 192 6.2.4 控制程序的执行 193 6.2.5 其他常用命令 196 6.2.6 应用示例 196 6.3 程序维护工具make 199 6.3.1 make的工作机制 199 6.3.2 使用变量 202 6.3.3 隐式规则 203 6.3.4 make命令常用选项 204 思考题6 205 第7章 Linux环境编程 207 7.1 系统调用和库函数 207 7.1.1 系统调用 207 7.1.2 库函数 207 7.1.3 调用方式 208 7.2 文件操作 209 7.2.1 有关文件操作的系统调用 209 7.2.2 应用示例 210 7.3 进程控制 214 7.3.1 有关进程控制的系统调用 214 7.3.2 应用示例 215 7.4 进程通信 217 7.4.1 有关进程通信的函数 217 7.4.2 应用示例 219 7.5 内存管理 222 7.6 综合编程示例 223 思考题7 225 第8章 Linux系统管理 226 8.1 系统管理概述 226 8.2 用户和工作组管理 227 8.2.1 有关用户账号的文件 227 8.2.2 用户账号的创建和维护 230 8.2.3 用户磁盘空间限制及其实现 236 8.3 文件系统及其维护 238 8.3.1 分区 238 8.3.2 文件系统 243 8.3.3 Linux主要目录的内容 247 8.4 文件系统的备份 249 8.4.1 备份概述 249 8.4.2 备份策略 250 8.4.3 恢复备份文件 252 8.5 系统安全管理 252 8.5.1 安全管理 252 8.5.2 安全管理要素 253 8.5.3 用户密码和账号的管理 254 8.5.4 文件和目录权限的管理 255 8.5.5 系统日志 256 8.6 系统性能优化 258 8.6.1 磁盘I/O性能的优化 258 8.6.2 执行进程的调度 259 思考题8 260 第9章 网络应用及管理 261 9.1 配置网络 261 9.1.1 配置网卡 261 9.1.2 网络互连 263 9.1.3 基本网络命令 263 9.2 电子邮件 267 9.2.1 电子邮件系统简介 267 9.2.2 配置邮件环境 269 9.3 网络文件系统NFS 274 9.3.1 NFS简介 274 9.3.2 NFS的配置及使用 275 9.4 网络管理 277 9.4.1 网络管理简介 277 9.4.2 SNMP 278 9.4.3 基于SNMP的管理应用程序 281 9.5 网络安全 283 9.5.1 网络安全简介 283 9.5.2 Linux安全问题及对策 286 9.5.3 网络安全工具 294 思考题9 296 第10章 嵌入式操作系统简介 297 10.1 嵌入式系统概述 297 10.2 嵌入式操作系统概述 298 10.2.1 嵌入式软件系统的体系结构 298 10.2.2 嵌入式操作系统 299 10.3 实时内核及其实现 300 10.3.1 任务管理与调度 300 10.3.2 中断和时间管理 302 10.3.3 任务间同步、互斥与通信 及其实现 303 10.3.4 内存管理和I/O管理 305 10.4 嵌入式操作系统实例——CLinux 308 思考题10 310 附录A 实验大纲 311 实验一 Linux系统安装与简单配置 (3~4学时) 311 实验二 常用命令使用(2~4学时) 312 实验三 vi编辑器(2~4学时) 313 实验四 shell编程(3~6学时) 313 实验五 常用开发工具(3~6学时) 314 实验六 Linux环境编程(3~6学时) 315 实验七 系统及网络管理(2~6学时) 315 参考文献 316

作者简介

编辑推荐

作者寄语

电子资料

http://www.hxedu.com.cn/hxedu/fg/book/bookinfo.html?code=G0136200

www.luweidong.cn

下一个