目录 教材介绍 第1章微处理器基础知识 1.1计算机中数的表示 1.1.1逻辑符号和逻辑门 1.1.2不同进制的换算 1.1.3原码、反码和补码 1.1.4常用编码定义 1.1.5定点数和浮点数 1.28086的基本结构 1.2.1微处理器的发展史 1.2.28086微处理器的内部结构 1.2.3总线类型 1.2.4存储器 1.3哈佛结构的微处理器 1.4统一编址和独立编址 1.5计算机性能指标判断标准 习题 第2章操作系统的分类和发展 2.1编程语言的发展 2.1.1机器语言 2.1.2汇编语言 2.1.3高级语言 2.2操作系统的发展 2.2.1人工操作 2.2.2批处理操作 2.3分时操作系统 2.4实时操作系统 2.4.1VxWorks 2.4.2μCOS家族 2.4.3μClinux 2.4.4FreeRTOS 2.4.5RTThread 2.4.6Keil RTX 2.4.7ThreadX 2.4.8苹果iOS 2.4.9Android 2.5计算机网络互连操作系统 2.5.1微软Windows 2.5.2Mac OS X 2.5.3类UNIX系统 2.5.4Google Chrome OS 2.6操作系统的基本特征 2.7提供用户和计算机之间的接口 习题 第3章Linux和Ubuntu操作系统简介 3.1Linux发展史 3.2Linux操作系统的特点 3.3Ubuntu操作系统 3.3.1Ubuntu的特点 3.3.2Ubuntu的发行版本 3.3.3Ubuntu社区 3.4常用命令及编辑工具 3.4.1通用命令 3.4.2Ubuntu常用命令 3.4.3Emacs和Vim编辑器 习题 第4章安装Ubuntu 操作系统 4.1安装准备工作 4.1.1计算机的软硬件信息 4.1.2制作系统U盘 4.1.3在Windows下创建安装分区 4.1.4用U盘安装Ubuntu操作系统 4.2虚拟机中安装Ubuntu操作系统 4.2.1虚拟机VMware特征 4.2.2下载Ubuntu安装文件 4.2.3安装VMware Workstation 16 4.2.4在VMware中安装Ubuntu 4.2.5开启虚拟机 习题 上机实验 第5章Ubuntu操作系统下常用命令 5.1系统管理与维护 5.1.1pwd命令 5.1.2cd命令 5.1.3ls命令 5.1.4su和sudo命令 5.1.5date和cal命令 5.1.6uptime和free命令 5.1.7who和w命令 5.1.8uname和last命令 5.1.9man和ulimit命令 5.2文件管理与编辑 5.2.1mkdir和touch命令 5.2.2rm和rmdir命令 5.2.3cat命令 5.2.4more命令 5.2.5file和nautilus命令 5.2.6cp命令 5.2.7mv命令 5.2.8sort命令 5.2.9find和grep命令 5.3压缩与解压缩命令 5.3.1zip和unzip命令 5.3.2gzip和gunzip命令 5.3.3tar命令 5.4磁盘管理与维护命令 5.4.1df命令 5.4.2du命令 5.4.3fsck命令 5.5文本编辑器gedit 5.5.1桌面环境下使用gedit 5.5.2字符界面环境下使用gedit 5.5.3gedit命令 习题 上机实验 第6章用户和组的管理 6.1Ubuntu系统的安全性 6.2用户和组的管理 6.2.1用户和组的关系 6.2.2用户配置文件 6.2.3用户的创建、修改和删除 6.2.4组的创建、修改和删除 6.3用户和文件的安全控制 6.4文件与目录权限的设定 6.4.1文件与目录权限 6.4.2权限的查看 6.4.3设置文件与目录的权限 习题 上机实验 第7章文件系统 7.1文件系统基础 7.1.1磁盘的分区 7.1.2什么是文件系统 7.1.3文件和文件夹 7.1.4Ubuntu系统的目录结构 7.2创建文件系统 7.2.1使用fdisk命令对硬盘进行分区 7.2.2文件系统的建立 7.2.3交换分区 7.3文件系统的安装和卸载 7.3.1手工安装和卸载文件系统 7.3.2文件系统的自动安装 7.4文件系统的管理 7.4.1文件系统管理工具 7.4.2文件安全的管理 7.4.3文件管理系统分类 7.4.4Ubuntu检查文件系统 习题 上机实验 第8章进程和线程管理 8.1作业 8.2进程 8.2.1进程的特征 8.2.2进程的描述 8.2.3进程状态及转换 8.2.4进程状态控制 8.2.5Linux系统的进程通信 8.3线程 8.3.1线程的概念 8.3.2线程和进程 8.3.3Linux系统的线程 习题 上机实验 第9章编程工具GCC和GDB 9.1文本编辑器 9.1.1认识Vi 9.1.2启动Vi编辑器 9.1.3屏幕命令 9.1.4文本编辑命令 9.1.5退出Vi 9.2GCC编译器 9.2.1GCC简介 9.2.2GCC的基本用法 9.3GDB调试工具 9.3.1GDB调试工具简介 9.3.2GDB的基本用法 9.3.3调试工具GDB的实例 9.4使用make命令编译多个源程序 9.4.1makefile文件简介 9.4.2make命令行选项 9.4.3makefile文件的结构 9.4.4makefile文件举例 9.4.5make命令的执行过程 9.5集成开发环境 9.6通过源码安装程序 习题 上机实验 第10章shell编程基础 10.1输入输出重定向 10.2管道命令符 10.3通配符 10.4常用的转义字符 10.5环境变量的使用 10.6shell编程 10.6.1编写简单的脚本 10.6.2变量描述 10.6.3条件测试判断 10.6.4流程控制语句 10.6.5计划任务服务程序 习题 上机实验 第11章Linux网络基础 11.1TCP/IP简介 11.1.1计算机网络概述 11.1.2TCP/IP通信过程 11.1.3IP地址 11.1.4配置Ubuntu网络 11.2DHCP服务器 11.3DNS 11.3.1解析的过程 11.3.2BIND软件的安装 11.3.3配置named文件 11.3.4域名服务器分类 11.4常用网络命令 11.4.1hostname和ping命令 11.4.2ifconfig命令 11.4.3traceroute命令 11.4.4Telnet和FTP命令 习题 上机实验 第12章网络信息安全 12.1信息安全存在的问题 12.2信息安全的防护 12.3常见的攻击类型 12.3.1端口扫描 12.3.2DoS和DDoS攻击 12.3.3计算机病毒 12.3.4木马病毒 12.4防火墙的概念及作用 12.4.1防火墙的分类 12.4.2Ubuntu下安装iptables 12.4.3UFW防火墙 12.5入侵检测系统 12.5.1入侵检测系统简介 12.5.2Snort简介 习题 第13章服务器的配置和搭建 13.1Apache服务器 13.1.1HTTP 13.1.2安装Apache服务 13.1.3配置 Apache服务器 13.2Nginx网站服务器 13.2.1Nginx简介 13.2.2安装Nginx服务器 13.2.3配置文件解析 13.2.4HTTP响应状态码 13.3FTP服务器 13.3.1FTP 13.3.2安装vsftpd服务 13.3.3配置vsftpd 服务 13.3.4FTP响应状态码 13.3.5网盘系统的搭建 13.4邮件服务器 13.4.1电子邮件发送的过程 13.4.2通用互联网邮件扩展标准MIME 13.4.3安装sendmail服务器 13.4.4其他邮件服务器 13.5samba服务器 13.5.1samba协议 13.5.2安装samba服务器 习题 上机实验 参考文献 附录AJava编程实例 附录BPython编程实例 附录C嵌入式 Linux开发环境的建立 附录DLinux常用命令