第一部分 基础知识 1
第1章 Linux概述 1
1.1 Linux的起源和发展 2
1.2 Linux的结构与特点 2
1.2.1 Linux的结构 2
1.2.2 Linux的一些重要特点 3
1.3 Linux的版本类别 4
1.3.1 Red Hat Enterprise Linux 5
1.3.2 CentOS 5
1.3.3 Ubuntu 5
1.3.4 SUSE Linux Enterprise Desktop 6
1.3.5 Back Track 6
1.4 Linux的应用和发展方向 7
本章小结 7
习题 8
第2章 Linux系统安装与启动 9
2.1 Windows下VMware的安装 9
2.2 在VMware Workstation 12 Pro虚拟主机上安装Ubuntu 13
2.2.1 VMware Workstation 12 Pro创建虚拟机 13
2.2.2 安装Ubuntu操作系统 16
2.3 启动系统 21
本章小结 22
习题 22
第3章 Linux的桌面管理 23
3.1 窗口系统 23
3.2 面板和桌面 25
3.3 主程序面板 26
3.4 文件管理器 26
3.5 系统设置 27
3.6 终端 28
3.7 软件中心 29
3.8 gedit文本编辑器 30
3.9 GNOME与KDE简介 31
本章小结 31
习题 32
第4章 Linux常用命令 33
4.1 Linux的终端与工作区 33
4.2 用户登录与身份切换 33
4.3 文件、目录操作命令 35
4.3.1 显示当前目录的完整路径命令pwd 35
4.3.2 改变当前路径命令cd 36
4.3.3 建立目录命令mkdir 36
4.3.4 删除目录命令rmdir 37
4.3.5 列出当前目录的内容命令ls 37
4.3.6 复制文件或目录命令cp 38
4.3.7 删除文件或目录命令rm 39
4.3.8 移动文件或将文件改名命令mv 39
4.3.9 查看文件内容、创建文件、文件合并命令cat 40
4.3.10 显示文件内容或输出查看命令more 41
4.3.11 查看文件内容命令less 42
4.3.12 显示文件内容的前几行命令head 43
4.3.13 显示文件内容的最后几行命令tail 44
4.3.14 建立一个空文件命令touch 44
4.3.15 建立链接文件命令ln 44
4.4 信息显示命令 45
4.4.1 查找文件内容命令grep 45
4.4.2 显示文件的类型信息命令file 46
4.4.3 定位文件命令locate 46
4.4.4 查找目录命令find 47
4.5 Shell语言解释器 48
4.5.1 什么是Shell 48
4.5.2 Bash的几种特性 49
本章小结 53
习题 54
第5章 Linux文件系统管理 55
5.1 文件系统 55
5.1.1 Linux文件系统的类型及特点 55
5.1.2 Linux文件系统的结构 58
5.1.3 Linux系统目录介绍 58
5.2 Linux文件及目录的访问权限设置 59
5.2.1 一般权限 60
5.2.2 字符权限与数字权限的转换 61
5.2.3 特殊权限 61
5.2.4 改变访问权限——chmod命令 63
5.2.5 改变文件/目录的拥有者——chown命令 65
5.3 文件管理器改变文件/目录的权限 66
本章小结 67
习题 68
第6章 系统用户账户管理 69
6.1 root账户管理 69
6.2 普通用户账户管理 71
6.2.1 添加新用户账户 71
6.2.2 删除用户账户 74
6.2.3 修改用户账户 75
6.2.4 用户口令管理 76
6.3 用户组管理 76
6.3.1 用户组的添加命令groupadd 76
6.3.2 用户组的删除命令groupdel 77
6.3.3 用户组的修改命令groupmod 77
6.4 账户相关的系统文件 77
6.4.1 /etc/passwd文件 77
6.4.2 /etc/shadow文件 79
6.5 用户管理器 80
本章小结 80
习题 81
第7章 Linux磁盘管理 82
7.1 Linux磁盘管理常用命令 83
7.1.1 Linux磁盘管理命令fdisk 83
7.1.2 Linux磁盘格式化命令mkfs 87
7.1.3 Linux磁盘检验命令fsck、df和du 91
7.2 Linux的磁盘挂载与卸载 92
本章小结 98
习题 98
第8章 Linux进程管理 99
8.1 Linux系统进程概述 99
8.2 Linux进程管理命令 100
8.2.1 创建进程 100
8.2.2 查看进程的运行状态 101
8.2.3 终止进程 105
8.3 守护进程 107
8.3.1 xinetd简介 107
8.3.2 守护进程管理 107
8.4 安排周期性任务 110
8.4.1 crond守护进程 110
8.4.2 系统任务调度和用户任务调度 110
8.4.3 crontab文件的含义 111
8.4.4 crontab的使用格式 111
8.4.5 crontab文件举例 112
8.5 cron服务的启动与停止 112
本章小结 113
习题 113
第9章 文本编辑工具 114
9.1 vim编辑器的执行与退出 116
9.2 vim编辑器的操作模式 116
9.3 Command Mode命令 117
9.4 Last Line Mode命令 121
本章小结 122
习题 122
第10章 文件的压缩、解压缩与打包 123
10.1 Linux文件压缩简介 123
10.2 gzip压缩与解压缩命令 124
10.3 bzip2压缩与解压缩命令 125
10.4 tar打包命令 126
本章小结 128
习题 128
第11章 软件包管理 129
11.1 RPM基本概念 130
11.2 RPM的使用 130
11.2.1 安装 132
11.2.2 删除安装 132
11.2.3 升级 133
11.2.4 查询 133
11.3 YUM软件包管理工具 134
11.4 APT工作原理 139
11.5 dpkg软件包管理 143
本章小结 144
习题 144
第12章 Shell编程 145
12.1 Shell基本概念 145
12.2 Shell功能介绍 145
12.3 Shell变量 146
12.3.1 变量赋值 146
12.3.2 变量访问 148
12.3.3 变量输出 148
12.4 Shell脚本参数 150
12.5 条件语句 151
12.5.1 if语句 151
12.5.2 case语句 154
12.6 循环语句 155
12.6.1 固定循环语句for 155
12.6.2 不定循环语句 156
12.7 创建和执行Shell程序 157
本章小结 158
习题 159
第13章 Linux网络基础 160
13.1 TCP/IP基础 160
13.2 TCP/IP配置文件 161
13.2.1 /etc/hosts文件 162
13.2.2 /etc/services文件 163
13.2.3 /etc/hostname文件 164
13.2.4 /etc/network/interfaces和/etc/resolv.conf文件 164
13.3 常用网络管理命令 166
13.3.1 ifconfig命令 166
13.3.2 route命令 168
13.3.3 netstat命令 169
13.3.4 ping命令 170
13.3.5 traceroute命令 171
13.4 Telnet远程登录 172
13.5 SSH远程登录 173
13.5.1 安装OpenSSH 173
13.5.2 Windows客户端登录 174
本章小结 175
习题 176
第14章 NFS服务器配置 177
14.1 NFS的功能 177
14.2 安装和启动NFS服务器 178
14.2.1 确认NFS已经安装 178
14.2.2 启动NFS服务器 178
14.3 设置NFS服务器 179
14.3.1 设置共享目录 179
14.3.2 设置共享目录实例讲解 180
14.4 客户端挂载NFS目录 182
14.4.1 查看NFS服务器共享的目录 182
14.4.2 挂载共享目录到本机文件系统 182
本章小结 183
习题 183
第15章 Samba服务器配置 184
15.1 Samba简介 184
15.2 安装与启动Samba 185
15.3 Samba服务器的配置文件 186
15.3.1 全局选项 187
15.3.2 共享选项 188
15.3.3 Samba设置举例 189
15.4 Samba的相关命令 190
15.4.1 检查配置文件正确性命令testparm 190
15.4.2 查看服务器共享目录命令smbclient 190
15.4.3 在Linux客户端挂载共享目录 191
15.5 Windows客户端访问共享目录 191
15.6 图形界面配置Samba 192
15.6.1 启动配置Samba的图形配置工具 192
15.6.2 设置全局参数 192
15.6.3 添加Samba用户 193
15.6.4 添加共享目录 193
15.6.5 添加允许访问的用户 194
本章小结 194
习题 194
第16章 FTP服务器配置 195
16.1 FTP概述 195
16.2 安装与启动FTP 196
16.3 FTP相关配置文件 196
16.3.1 /etc/vsftpd.conf 197
16.3.2 /etc/ftpusers 197
16.3.3 /etc/user_list 198
16.4 匿名账户服务器配置 198
16.5 真实账户服务器配置 200
16.5.1 Linux客户端访问FTP服务器 200
16.5.2 Windows客户端访问FTP服务器 201
16.6 主要命令介绍 204
本章小结 204
习题 204
第17章 DNS服务器配置 205
17.1 DNS简介 205
17.2 BIND的安装与启动 206
17.3 DNS服务器配置举例 208
1 7.3.1 配置文件/etc/named.conf.local 208
17.3.2 配置正向解析文件/etc/bind/db.example.com 209
17.3.3 配置反向解析文件/etc/bind/db.192.168.1 209
17.3.4 启动DNS服务 209
17.4 客户端测试 209
17.4.1 本机测试 209
17.4.2 Red Hat客户端测试 210
17.4.3 在Windows客户端测试 210
本章小结 210
习题 210
第18章 Apache的安装与配置 211
18.1 Web简介 211
18.2 Ubuntu安装和配置Apache 212
本章小结 214
习题 214
第19章 Linux下的C语言编程 215
19.1 GCC编译器 215
19.2 GNU make 218
19.2.1 GNU make简介 218
19.2.2 makefile基本结构 218
19.2.3 运行makefile 219
19.3 创建一个C程序实例 219
19.4 调试工具GDB 221
19.4.1 启动GDB 221
19.4.2 GDB基本命令 221
本章小结 224
习题 225
第二部分 实验 226
实验1 Linux操作系统的安装 226
实验2 Linux基本命令 228
实验3 文件权限管理 230
实验4 用户和组的管理 234
实验5 磁盘管理 238
实验6 进程管理命令 244
实验7 vim编辑器 246
实验8 文件的压缩与打包 248
实验9 Shell编程 252
实验10 Linux网络配置 254
实验11 NFS的配置 258
实验12 Samba的配置 260
实验13 FTP的配置 263
实验14 DNS的配置 268
实验15 Linux下的C语言编程 271
附录 277
参考文献 278