第1章 Linux基础及安装 1 1.1 Linux概述 1 1.1.1 Linux的简介 1 1.1.2 Linux的特点 2 1.1.3 Linux的主要组成 4 1.1.4 Linux的版本介绍 5 1.1.5 Linux与其他操作系统 6 1.2 Red Hat Enterprise Linux 6安装 8 1.2.1 Red Hat Enterprise Linux介绍 9 1.2.2 选择安装方式 9 1.2.3 安装步骤 10 1.2.4 启动Linux 20 1.3 Linux基础 26 1.3.1 Linux的用户类型 26 1.3.2 Linux的登录 26 1.3.3 Linux的注销 30 1.3.4 Linux的运行级别 31 1.3.5 Linux的关机和重启 32 1.3.6 Linux的基本命令 32 1.4 Linux的GUI 37 1.4.1 X Window介绍 37 1.4.2 GNOME 38 1.4.3 KDE 40 本章小结 41 本章习题 41 第2章 Linux的文件系统 43 2.1 Linux文件系统基础 43 2.1.1 Linux文件系统概述 43 2.1.2 Linux文件系统的特点 43 2.1.3 Linux文件系统的组成 44 2.2 Linux文件系统类型 45 2.2.1 ext文件系统 45 2.2.2 其他文件系统 46 2.3 Linux文件系统操作 47 2.3.1 文件和目录的基本概念 47 2.3.2 文件操作命令 49 2.3.3 目录操作命令 65 2.3.4 改变文件或目录存取权限的命令 68 2.3.5 改变用户组和文件主的命令 70 2.3.6 链接文件的命令 72 本章小结 74 本章习题 74 第3章 Linux的vim编辑器 76 3.1 vim简介 76 3.2 vim工作模式 76 3.3 vim的进入与退出 77 3.3.1 进入vim 77 3.3.2 退出vim 79 3.4 vim的编辑命令 80 3.4.1 移动光标 80 3.4.2 文本插入 82 3.4.3 文本删除 82 3.4.4 文本复制与粘贴 83 3.4.5 文本移动 84 3.4.6 文本查找与替换 84 3.4.7 重复与取消 86 3.4.8 vim中执行Shell命令 86 3.4.9 文件的读写 86 3.5 使用vim创建Shell脚本 87 3.6 使用vim创建C程序 87 本章小结 88 本章习题 88 第4章 Linux系统管理基础 89 4.1 系统启动、运行与系统关闭 89 4.1.1 系统启动 89 4.1.2 系统运行级别 91 4.1.3 系统关闭 93 4.2 用户管理 94 4.2.1 用户管理简介 95 4.2.2 用户管理方法 96 4.2.3 用户管理相关配置文件 97 4.2.4 用户管理命令 100 4.3 设备管理 103 4.3.1 设备标识 104 4.3.2 磁盘和分区管理命令 104 4.3.3 存储设备的挂载与卸载 109 4.4 进程管理 111 4.4.1 进程的概念 111 4.4.2 启动进程 113 4.4.3 进程管理命令 113 4.5 日志管理 118 4.5.1 Linux的日志 118 4.5.2 常用日志文件 121 4.5.3 日志分析工具 123 本章小结 124 本章习题 124 第5章 Linux的网络管理及应用 125 5.1 Linux网络管理命令 125 5.1.1 ifconfig 125 5.1.2 ping 126 5.1.3 netstat 126 5.1.4 其他常用命令 126 5.2 文件服务器配置:NFS和Samba 127 5.2.1 NFS配置 127 5.2.2 Samba配置 130 5.3 DNS服务器配置 134 5.4 Web服务器配置 139 5.5 Mail服务器配置 141 5.6 FTP服务器配置 143 本章小结 145 本章习题 146 第6章 Linux下Shell编程 147 6.1 Shell简介 147 6.1.1 什么是Shell 147 6.1.2 Shell种类介绍 148 6.2 Shell基础 148 6.2.1 Shell命令处理过程 149 6.2.2 标准输入输出和重定向 150 6.2.3 管道 153 6.2.4 特殊字符 154 6.2.5 别名 156 6.2.6 命令历史 156 6.3 Shell脚本 157 6.3.1 什么是Shell脚本 157 6.3.2 Shell脚本执行方式 158 6.4 Shell变量 159 6.4.1 用户自定义变量 159 6.4.2 环境变量 160 6.4.3 位置变量 161 6.4.4 特殊变量 162 6.5 Shell编程基础 163 6.5.1 Shell脚本的输入输出 163 6.5.2 Shell的逻辑运算 164 6.5.3 Shell的算术运算 167 6.6 Shell的控制结构 169 6.6.1 if语句 169 6.6.2 case语句 172 6.6.3 for语句 174 6.6.4 while语句 176 6.6.5 until语句 177 6.6.6 break语句和continue语句 178 6.7 Shell函数 179 6.7.1 函数定义 179 6.7.2 函数调用 179 本章小结 182 本章习题 182 第7章 Linux下C编程 184 7.1 Linux下C编程基础 184 7.2 常用开发工具 185 7.2.1 GCC简介 185 7.2.2 GCC的使用 187 7.2.3 简单的C语言程序 189 7.2.4 程序调试工具GDB 192 7.2.5 程序维护工具make 202 7.2.6 Linux下make示例 207 7.3 进程控制系统调用 209 7.3.1 进程创建 209 7.3.2 进程执行 212 7.3.3 获取指定进程标识符 213 7.3.4 进程终止 214 7.3.5 进程等待 214 7.3.6 进程间信号通信 216 7.4 线程控制系统调用 220 7.4.1 线程控制系统调用 221 7.4.2 线程控制函数示例 222 7.5 文件系统调用 222 7.5.1 创建文件 223 7.5.2 打开文件和关闭文件 224 7.5.3 读写文件 226 7.5.4 文件定位 227 本章小结 229 本章习题 229 第8章 GTK+图形界面程序设计 231 8.1 GTK+程序设计简介 231 8.2 使用GTK+开发图形界面程序 237 8.2.1 按钮和标签 237 8.2.2 文本输入框 238 8.2.3 复选按钮 240 8.2.4 组合框 242 8.2.5 框架 243 8.2.6 图像控件 245 8.2.7 菜单的制作 246 8.2.8 工具栏的制作 247 8.2.9 状态栏的制作 249 本章小结 250 本章习题 251 第9章 Qt图形界面程序设计 252 9.1 Qt程序设计简介 252 9.2 开发Qt图形界面程序 259 9.2.1 标准输入框例子 261 9.2.2 标准对话框的实例 264 9.2.3 记事本小程序 267 本章小结 271 本章习题 271 参考文献 272