内容简介
第一篇Ubuntu入门
第1章 了解Ubuntu
1.1什么是Linux
1.2 Linux发行版
1.2.1 Debian
1.2.2 Ubuntu
1.2.3 Arch Linux
1.2.4 Fedora
1.2.5 OpenSUSE
1.2.6 CentOS
1.2.7 Red Hat Enterprise Linux
1.3 Ubuntu概述
1.3.1什么是Ubuntu
1.3.2 Ubuntu的版本
1.3.3 Ubuntu的特点
1.3.4如何获得Ubuntu
1.4 GNU GPL和POSIX介绍
1.4.1什么是GNU GPL
1.4.2 GNU GPL发展历史
1.4.3如何正确理解GNU GPL
1.4.4了解POSIX标准
1.5学习Ubuntu的方法
第2章 安装Ubuntu
2.1准备安装Ubuntu
2.1.1获得安装介质
2.1.2 Ubuntu的硬件要求
2.1.3 Ubuntu的安装方式
2.2虚拟机软件
2.2.1常见虚拟机软件
2.2.2选择虚拟机软件
2.2.3安装Oracle VM VirtualBox
2.3安装Ubuntu的方式
2.3.1下载ISO镜像文件
2.3.2创建虚拟机
2.3.3安装Ubuntu过程
2.4通过网络安装Ubuntu
2.4.1下载网络安装器
2.4.2通过网络安装Ubuntu步骤
2.5将Ubuntu安装到U盘中
2.5.1 Rufus工具
2.5.2制作LiveUSB Ubuntu系统
2.6安装过程中的常见问题
2.6.1选择32位还是64位的Ubuntu
2.6.2应该选择哪种语言
2.6.3 Ubuntu中的磁盘分区与Windows中的磁盘分区
第3章 桌面环境
3.1常见的桌面环境
3.1.1 KDE
3.1.2 GNOME
3.1.3 Xfce
3.1.4 Unity
3.2使用Unity
3.2.1菜单栏
3.2.2启动器
3.2.3 Dash
3.2.4 工作区
3.2.5管理窗口
3.2.6文件管理器
3.2.7搜索文件和文件夹
3.2.8定制桌面
3.3使用GNOME
3.3.1桌面布局
3.3.2活动按钮
3.3.3工作区
3.3.4浮动面板
3.3.5显示应用程序
3.3.6锁定、关闭或者重启电脑
第4章 文件系统基础知识
4.1文件系统的层次结构
4.1.1树形层次结构
4.1.2路径名
4.1.3 Linux目录结构
4.2文件类型
4.2.1普通文件
4.2.2目录文件
4.2.3字符设备文件
4.2.4块设备文件
4.2.5管道
4.2.6套接字
4.2.7文件链接
4.3文件权限
4.3.1文件权限概述
4.3.2显示文件权限
4.3.3修改文件权限
4.3.4更改文件所有权
4.3.5文件特殊权限
第5章 文件和目录管理
5.1创建文件
5.1.1使用touch命令创建文件
5.1.2使用重定向创建文件
5.1.3使用vi命令创建文件
5.2显示文件列表
5.2.1使用Is命令显示文件列表
5.2.2显示隐藏文件
5.2.3递归显示目录内容
5.3显示文件内容
5.3.1拼接文件内容:cat命令
5.3.2分屏显示:more命令
5.3.3前后翻页分屏显示:less命令
5.3.4查看前几行内容:head命令
5.3.5查看最后几行内容:tail命令
5.4文件的常用操作
5.4.1复制文件
5.4.2移动文件
5.4.3删除文件
5.4.4比较文件
5.4.5重命名文件
5.5搜索文件
5.5.1快速搜索文件:locate命令
5.5.2按类型搜索:whereis命令
5.5.3搜索二进制文件:which命令
5.5.4全功能搜索:find命令
5.6文本内容筛选
5.6.1使用grep命令检索文本内容
5.6.2筛选其他命令的输出结果
5.6.3在grep命令中使用正则表达式
5.7文本排序
5.7.1使用sort命令文本排序
5.7.2合并有序文件
5.8文件的压缩和解压
5.8.1压缩文件
5.8.2解压文件
5.9目录管理
5.9.1显示当前工作目录
5.9.2改变目录
5.9.3创建目录
5.9.4移动目录
5.9.5复制目录
5.9.6删除目录
第6章 用户和权限管理
6.1用户和用户组基础
6.1.1用户和用户标识号
6.1.2用户组和组标识号
6.1.3 /etc/passwd文件
6.1.4 /etc/shadow文件
6.1.5 /etc/group文件
6.2用户管理
6.2.1添加用户:useradd命令
6.2.2添加用户:adduser命令
6.2.3修改用户:usermod命令
6.2.4删除用户:userdel命令
6.2.5修改用户密码:passwd命令
6.2.6显示用户信息:id命令
6.2.7用户间切换:su命令
6.2.8受限的特权:sudo命令
6.3用户组管理
6.3.1添加用户组:groupadd命令
6.3.2添加用户组:addgroup命令
6.3.3修改用户组:groupmod命令
6.3.4删除用户组:groupdel命令
6.4权限管理
6.4.1权限概述
6.4.2改变文件所有者:chown命令
6.4.3改变文件所属组:chgrp命令
6.4.4设置权限掩码:umask命令
6.4.5修改文件访问权限:chmod命令
6.4.6修改文件ACL: setfacl命令
6.4.7查询文件ACL: getfacl命令
第二篇 进阶篇
第7章 系统启动和关闭
7.1Ubuntu启动过程
7.1.1BIOS阶段
7.1.2引导程序阶段
7.1.3内核阶段
7.1.4进入系统
7.2引导相关组件
7.2.1主引导记录
7.2.2 GRUB启动程序
7.3登录
7.3.1 login进程
7.3.2选择Shell
7.3.3用户初始化文件
7.4关闭系统
7.4.1 shutdown命令
7.4.2 init命令
7.4.3其他命令
第8章 服务和进程管理
8.1初始化程序概述
8.1.1初始化程序
8.1.2 systemd
8.1.3 systemd基本配置文件
8.2 systemd单元
8.2.1单元类型
8.2.2列出单元
8.2.3查看单元状态
8.2.4单元依赖
8.2.5单元配置文件
8.3 systemd单元管理
8.3.1启动服务
8.3.2停止服务
8.3.3重启服务
8.3.4重新加载服务配置文件
8.3.5查看服务状态
8.3.6配置服务自动启动
8.3.7禁止服务自动启动
8.3.8重新加载单元配置文件
8.3.9显示服务属性
8.3.10设置服务属性
8.4常用systemd命令
8.4.1 systemd-analyze命令分析系统启动时的性能
8.4.2 hostnamectl命令
8.4.3 localectl命令
8.4.4 timedatectl命令
8.4.5 loginctl命令
8.5目标
8.5.1理解目标
8.5.2切换目标
8.5.3默认目标
8.6日志管理
8.6.1读取日志
8.6.2过滤输出
8.6.3日志大小限制
8.6.4手动清理日志
8.7进程管理
8.7.1查询进程及其状态
8.7.2监控进程及系统资源
8.7.3终止进程
8.7.4调整进程优先级
第9章 软件包管理
9.1软件包管理概述
9.1.1软件包管理基本概念
9.1.2软件包管理工具
9.2 apt-get命令
9.2.1搜索软件包
9.2.2 apt-get命令基本语法
9.2.3安装软件包
9.2.4重新安装软件包
9.2.5删除软件包
9.2.6更新和升级软件包
9.3 apt命令
9.3.1 apt命令基本语法
9.3.2搜索软件包
9.3.3安装软件包
9.3.4删除软件包
9.3.5更新和升级软件包
9.4 aptitude命令
9.4.1 aptitude命令基本语法
9.4.2搜索软件包
9.4.3安装软件包
9.4.4删除软件包
9.4.5更新和升级软件包
9.4.6图形化界面
9.5 synaptic软件管理工具
9.5.1安装软件包
9.5.2删除软件包
9.5.3更新和升级软件包
第10章 磁盘和文件系统管理
10.1磁盘管理基础
10.1.1磁头
10.1.2磁道
10.1.3柱面
10.1.4扇区
10.1.5磁盘分区
10.2文件系统基础知识
10.2.1常见文件系统
10.2.2块
10.2.3引导块
10.2.4超级块
10.2.5索引节点
10.3创建文件系统
10.3.1创建分区
10.3.2 mkfs命令
10.3.3创建ext2/ext3/ext4文件系统
10.3.4创建NTFS文件系统
10.3.5创建FAT文件系统
10.3.6调整文件系统
10.4挂载与卸载文件系统
10.4.1挂载点
10.4.2 mount和findmnt命令
10.4.3 /etc/fstab文件
10.4.4手工挂载文件系统
10.4.5自动挂载文件系统
10.4.6卸载文件系统
10.5检查与修复文件系统
10.5.1 fsck和e2fsck命令
10.5.2交互式检查与修复文件系统
10.5.3自动检查与修复文件系统
10.5.4恢复严重受损的超级块
10.6磁盘阵列
10.6.1磁盘阵列概述
10.6.2磁盘阵列级别
10.6.3创建磁盘阵列
10.7逻辑卷管理
10.7.1逻辑卷管理基本概念
10.7.2安装LVM
10.7.3创建物理卷
10.7.4创建卷组
10.7.5创建逻辑卷
10.7.6扩展逻辑卷
10.7.7压缩逻辑卷
第11章 网络管理
11.1网络接口
11.1.1查看网络接口
11.1.2网络接口命名
11.1.3配置网络接口IP地址
11.1.4域名解析
11.2常用网络配置命令
11.2.1 ifconfig命令
11.2.2 ip命令
11.2.3 route命令
11.2.4 netstat命令
11.2.5 nslookup命令
11.2.6 ping命令
11.3防火墙
11.3.1 ufw简介
11.3.2 ufw配置
11.3.3 ufw与应用系统的整合
11.3.4 ufw日志管理
第三篇精通Linux
第12章Shell编程
12.1 Shell编程基础
12.1.1 Shell
12.1.2 Shell脚本
12.1.3 Shell脚本的执行方法
12.1.4位置参数
12.1.5内部命令
12.2变量
12.2.1变量分类
12.2.2变量声明
12.2.3变量赋值
12.2.4变量的引用和替换
12.2.5变量的间接引用
12.2.6特殊变量替换
12.2.7单引号和双引号
12.2.8命令替换
12.3算术运算
12.3.1 let命令
12.3.2 expr命令
12.3.3 S(())表达式
12.3.4$?表达式
12.4数组
12.4.1定义数组
12.4.2获取数组长度
12.4.3遍历数组
12.4.4删除元素
12.4.5数组切片
12.4.6数组替换
12.5条件测试
12.5.1条件测试语法
12.5.2文件测试
12.5.3字符串测试
12.5.4整数值测试
12.5.5逻辑运算符
12.6条件语句
12.6.1 if语句
12.6.2 case语句
12.7循环语句
12.7.1 for语句
12.7.2 while语句
12.7.3 until语句
12.7.4 select语句
12.7.5嵌套循环
12.7.6 continue和break语句
12.8信号的捕获与处理
12.8.1信号
12.8.2捕获信号
第13章 网络服务管理
13.1 SSH服务
13.1.1SSH协议
13.1.2配置SSH服务
13.1.3管理SSH服务
13.1.4使用账号密码登录SSH服务
13.1.5使用密钥对登录SSH服务
13.2 FTP文件传输服务
13.2.1 FTP文件传输协议
13.2.2安装vsftpd
13.2.3 vsftpd配置文件
13.2.4管理FTP用户:匿名用户、本地用户、虚拟用户
13.2.5演示:使用FTP传输文件
13.3 DNS域名服务
13.3.1域名、IP地址、域名服务器
13.3.2 BIND以及组件
13.3.3 BIND配置文件
13.3.4配置区域
13.3.5资源记录
13.3.6演示:DNS服务器配置实例
13.4 NFS服务
13.4.1安装NFS服务
13.4.2共享文件系统
13.4.3挂载NFS文件系统
13.4.4 NFS文件系统权限
13.5其他网络服务管理
13.5.1 Samba资源共享
13.5.2 Apache万维网服务
13.5.3 MySQL数据库服务
第14章 虚拟化和云计算
14.1虚拟化基础知识
14.1.1虚拟化技术
14.1.2常用虚拟化方案
14.2 KVM
14.2.1 KVM及其相关组件
14.2.2安装KV M
14.2.3创建虚拟机
14.2.4管理虚拟机
14.3 Docker
14.3.1 Docker以及基础知识
14.3.2安装Docker
14.3.3使用镜像
14.3.4管理容器
14.3.5使用网络:外部访问容器
14.3.6使用网络:容器互联
14.4 LXC和LXD
14.4.1 LXC和LXD简介
14.4.2安装LXD
14.4.3创建容器
14.4.4列出容器
14.4.5查看容器
14.4.6管理容器
14.4.7与容器交互
14.4.8管理镜像
14.5 OpenStack
14.5.1 OpenStack的核心组件
14.5.2通过DevStack部署OpenStack
14.5.3仪表盘
14.5.4实例管理
14.5.5镜像管理
14.5.6卷管理
14.5.7网络管理:网络拓扑
14.5.8网络管理:网络的修改和删除
14.5.9网络管理:路由
14.5.10网络管理:安全组
第15章 系统和网络安全
15.1用户管理安全
15.1.1管理好root用户
15.1.2用户资料安全
15.1.3密码策略
15.2防火墙
15.2.1ufw
15.2.2 IP伪装
15.2.3日志
15.3 AppArmor
15.3.1安装AppArmor
15.3.2使用AppArmor
15.3.3 AppArmor配置文件
15.4数字证书
15.4.1获取数字证书
15.4.2生成密钥
15.4.3生成证书签署请求
15.4.4安装证书
15.5弱点扫描
15.5.1安装OpenVAS
15.5.2 OpenVAS仪表盘
15.5.3扫描任务管理
15.5.4扫描报表
15.6入侵检测
15.6.1安装Snort
15.6.2 Snort配置文件
15.6.3 Snort检测规则
15.6.4测试Snort