目录
第1章 Linux知识快线1<br>1.1 Linux概述1<br>1.2 Linux的发行版本与学习乐园2<br>1.2.1 Linux的发行版本2<br>1.2.2 Linux的学习乐园3<br>1.3 Linux的特点与优势4<br>1.3.1 Linux的特点4<br>1.3.2 Linux的发展优势6<br>1.4 如何学习Linux及其程序设计7<br>1.4.1 学习基本理念7<br>1.4.2 掌握50个常用命令8<br>1.4.3 勤学多练学编程9<br><br>第2章 Linux多元化安装技术12<br>2.1 基本名词与术语12<br>2.1.1 系统操作术语12<br>2.1.2 系统特性术语14<br>2.2 硬件需求16<br>2.3 安装准备16<br>2.4 Linux系统的多元化安装技术17<br>2.4.1 裸机上的安装与卸载过程图解17<br>2.4.2 多系统共享安装过程44<br>2.4.3 在Windows下VMware中的Linux安装过程45<br>2.4.4 在Windows下Virtual PC中的Linux安装过程48<br>2.4.5 用Cygwin软件创建Linux仿真环境51<br>2.4.6 制作无安装直接使用系统Ubuntu Linux54<br>2.5 Linux的启动过程57<br>2.5.1 启动内核57<br>2.5.2 执行init程序58<br>2.6 Linux的系统服务命令列表60<br>2.7 Linux下软件的安装与卸载62<br>2.7.1 二进制分发软件包的安装与卸载 62<br>2.7.2 源代码分发软件包的安装与卸载 64<br><br>第3章 Linux应用技术66<br>3.1 Linux常用基本命令分类解析66<br>3.1.1 系统管理类命令66<br>3.1.2 文件与目录操作类命令71<br>3.1.3 使用光盘及软盘类命令86<br>3.1.4 在后台运行程序的命令86<br>3.1.5 任务调度类命令87<br>3.1.6 打包与压缩解压缩命令87<br>3.1.7 进程查看命令89<br>3.1.8 控制提示符与命令组合94<br>3.1.9 常用维护命令96<br>3.1.10 Linux命令速成与晋阶100<br>3.2 系统操作与维护技术102<br>3.2.1 如何进入字符模式102<br>3.2.2 解决“/etc/inittab”设置错误无法启动问题103<br>3.2.3 帮助命令103<br>3.2.4 取消Ctrl+Alt+Del重启系统功能103<br>3.2.5 处理字符模式下中文信息乱码问题104<br>3.2.6 如何查看存储介质中的中文文件名104<br>3.2.7 如何通过切换目录方式退出光盘104<br>3.2.8 允许普通用户加载光盘或软盘的策略104<br>3.3 Linux系统管理技术105<br>3.3.1 账号管理105<br>3.3.2 磁盘空间管理107<br>3.3.3 文件系统与权限设置110<br>3.4 vi与vim的应用113<br>3.4.1 vi和vim简介113<br>3.4.2 基本操作114<br>3.4.3 查找和替换119<br><br>第4章 shell编程122<br>4.1 shell概述122<br>4.1.1 shell的定义123<br>4.1.2 shell的类型与版本123<br>4.1.3 第一个shell程序125<br>4.1.4 shell命令集成127<br>4.1.5 shell特殊字符128<br>4.2 bash应用基础130<br>4.2.1 bash脚本的基本语法130<br>4.2.2 bash的命令记录功能130<br>4.2.3 bash脚本基础范例132<br>4.2.4 bash配置134<br>4.3 shell基本命令137<br>4.3.1 内部命令138<br>4.3.2 外部命令138<br>4.3.3 命令分组139<br>4.3.4 函数139<br>4.4 shell变量141<br>4.4.1 bash变量的特点141<br>4.4.2 用户自定义变量142<br>4.4.3 变量的类型声明144<br>4.4.4 数组变量144<br>4.4.5 变量的引用145<br>4.4.6 键盘赋值变量146<br>4.4.7 位置变量147<br>4.4.8 预定义特殊变量148<br>4.4.9 环境变量 149<br>4.4.10 置换变量150<br>4.4.11 算术运算150<br>4.5 shell程序控制结构151<br>4.5.1 条件测试语句151<br>4.5.2 条件语句if156<br>4.5.3 开关语句case159<br>4.5.4 循环语句for162<br>4.5.5 循环语句while165<br>4.5.6 循环语句until167<br>4.5.7 循环控制命令break和continue168<br>4.5.8 流程控制select 168<br>4.5.9 shift语句 170<br>4.5.10 repeat语句171<br>4.6 程序调试171<br>4.7 shell编程综合范例175<br>4.7.1 远程kill僵进程例程175<br>4.7.2 多文件改名例程175<br>4.7.3 文件名大小写变换例程176<br>4.7.4 系统登录的login例程177<br>4.7.5 编制目录菜单例程177<br>4.7.6 用户系统登录查看例程178<br>4.7.7 问题交互例程178<br>4.7.8 计算两日期间的天数例程182<br>4.7.9 读数与程序显示例程185<br>4.7.10 系统信息测试与显示例程186<br><br>第5章 C程序设计技术188<br>5.1 Linux下的C编程概述188<br>5.2 C源文件的编辑189<br>5.3 gcc编译器190<br>5.3.1 对编译器的认识190<br>5.3.2 gcc的编译选项与过程的范例解析191<br>5.3.3 gcc编译器的编译过程191<br>5.4 gdb调试器197<br>5.4.1 概述197<br>5.4.2 调试编译与选项198<br>5.4.3 程序调试设置200<br>5.4.4 在线调试过程201<br>5.4.5 在gdb中查看源程序204<br>5.4.6 在gdb中查看栈信息206<br>5.4.7 在gdb中查看运行数据207<br>5.4.8 在gdb中改变程序的执行路线211<br>5.4.9 在不同语言中使用gdb213<br>5.5 Make工程管理器214<br>5.5.1 概述214<br>5.5.2 Makefile文件214<br>5.5.3 make命令216<br>5.5.4 makefile变量217<br>5.5.5 makefile规则220<br>5.6 Autotools的应用222<br>5.6.1 Autotools基本工具222<br>5.6.2 Autotools基本流程例解222<br>5.6.3 用make完成程序安装和发布226<br>5.7 Linux下的C程序设计案例227<br>5.7.1 文件拷贝程序设计227<br>5.7.2 猜数字游戏设计228<br>5.7.3 进程调用程序设计229<br>5.7.4 管道通信程序设计230<br>5.7.5 巧抓盗贼程序设计230<br>5.7.6 Linux文件系统设计231<br><br>第6章 实践项目指导238<br>6.1 项目1Linux的多元化安装238<br>6.1.1 实践目的238<br>6.1.2 实践准备238<br>6.1.3 实践内容238<br>6.2 项目2Linux的系统管理技术249<br>6.2.1 实践目的249<br>6.2.2 实践内容249<br>6.2.3 实践步骤249<br>6.3 项目3Linux系统的常用命令254<br>6.3.1 实践目的254<br>6.3.2 实践内容255<br>6.3.3 预备知识255<br>6.3.4 基础实践255<br>6.3.5 综合实践262<br>6.4 项目4vi编辑器练习264<br>6.4.1 实践目的264<br>6.4.2 实践内容264<br>6.4.3 实践步骤264<br>6.5 项目5Shell程序设计267<br>6.5.1 实践目的267<br>6.5.2 实践内容267<br>6.5.3 预备知识267<br>6.5.4 实践步骤270<br>6.6 项目6Linux下的C程序设计284<br>6.6.1 实践目的284<br>6.6.2 实践要求284<br>6.6.3 实践内容284<br>附录 综合测试题及参考答案289<br>综合测试题参考答案292<br>参考文献298内容摘要
《Linux技术与程序设计》是以Linux技术为先导的面向实践的程序设计类应用型教材。全书共分6章,在内容安排上循序渐进,从快速了解Linux基础知识,到基本掌握Linux的多元化安装技术;从掌握Linux技能,到重点学习shell编程和C编程的理念与技术;从加强实践性而编写的项目实践指导,到综合测试题及参考答案等,便于读者通过编程原理的学习与实践,快速掌握Linux技术。<br> 《Linux技术与程序设计》结构合理、实例丰富,具有很强的启发性和实用性,可作为高等院校自动控制、电子信息和计算机等相关专业的本科生和研究生的Linux系统学习与编程的实用教材,也可作为广大希望从事Linux嵌入式领域研究的科研与工程技术人员自学或参考使用。