《Linux深度攻略》PDF下载

  • 购买积分:15 如何计算积分?
  • 作  者:于岳编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2017
  • ISBN:9787115447531
  • 页数:478 页
图书介绍:包含Linux系统管理和服务器配置两部分,Linux字符界面,目录和文件管理,Linux常用命令,Shell编程,用户和组群账户管理,权限、所有者和ACL,归档、压缩和备份,软件包管理,磁盘和文件系统管理,逻辑卷管理,进程和服务管理,配置OpenSSH、VNC、NFS、DHCP、Samba、DNS、Apache、vsftpd、Sendmail、Squid服务器。

第1章 Linux系统的简介和安装 1

1.1 Linux系统简介 1

1.1.1 什么是Linux 1

1.1.2 Linux系统的产生 1

1.1.3 Linux系统的应用领域 1

1.2 Linux系统的特点和组成 2

1.2.1 Linux系统的特点 2

1.2.2 Linux系统的组成 3

1.3 Linux内核版本和发行版本 3

1.3.1 Linux内核版本 4

1.3.2 Linux发行版本 4

1.4 准备安装Linux系统 5

1.4.1 安装Linux系统的硬件要求 5

1.4.2 交换分区 6

1.4.3 Linux磁盘的分区和挂载 6

1.5 安装Linux系统 8

1.5.1 安装Linux系统的步骤 8

1.5.2 Linux安装后的初始化配置 21

1.5.3 登录Linux系统 23

1.5.4 GNOME初始设置 24

1.6 注销、关闭和重启Linux系统 26

1.6.1 注销Linux系统 26

1.6.2 关闭和重启Linux系统 27

1.7 防火墙配置 27

1.7.1 FirewallD防火墙简介 27

1.7.2 FirewallD防火墙配置 28

1.8 配置网络连接 31

1.9 管理SELinux 33

1.9.1 SELinux简介 33

1.9.2 设置SELinux 33

第2章 Linux字符界面 35

2.1 Linux字符界面简介 35

2.1.1 进入Linux字符界面 35

2.1.2 关闭和重启Linux系统 36

2.1.3 目标 38

2.2 在Linux系统下获取帮助 39

2.2.1 使用--help选项获取帮助 39

2.2.2 查看man手册页 40

3.3 Shell基础知识 42

2.3.1 Shell简介 42

2.3.2 bash简介 42

3.3.3 bash命令 43

2.4 使用bash 44

2.4.1 常用控制组合键 44

2.4.2 光标操作 44

2.4.3 特殊字符 45

2.4.4 通配符 45

2.5 Shell实用功能 45

2.5.1 命令行自动补全 46

2.5.2 命令历史记录 46

2.5.3 命令排列 48

2.5.4 命令替换 49

2.5.5 命令别名 49

2.5.6 文件名匹配 50

2.5.7 管道 51

2.6 重定向 52

2.6.1 输出重定向 52

2.6.2 输入重定向 53

2.6.3 错误重定向 53

2.6.4 同时实现输出和错误的重定向 54

2.7 vi编辑器 54

2.7.1 vi编辑器工作模式 54

2.7.2 进入插入模式 55

2.7.3 光标移动 55

2.7.4 命令模式操作 56

2.7.5 末行模式操作 57

2.8 远程连接Linux系统 58

2.8.1 使用Xshell 59

2.8.2 使用Xftp 60

第3章 目录和文件管理 63

3.1 Linux文件类型 63

3.2 Linux系统目录结构 65

3.3 Linux文件信息 66

3.3.1 inode和目录项 66

3.3.2 使用stat命令查看文件信息 67

3.3.3 使用ls命令查看文件信息 70

3.4 文件和目录操作管理 71

3.4.1 pwd:显示工作目录路径 71

3.4.2 cd:更改工作目录路径 71

3.4.3 ls:列出目录和文件信息 73

3.4.4 touch:创建空文件、更改文件时间 75

3.4.5 mkdir:创建目录 76

3.4.6 rmdir:删除空目录 76

3.4.7 cp:复制文件和目录 77

3.4.8 mv:文件和目录改名、移动文件和目录路径 77

3.4.9 rm:删除文件或目录 78

3.4.10 file:查询文件类型 78

3.4.11 du:显示目录或文件的磁盘占用量 79

3.4.12 wc:统计文件行数、单词数、字节数和字符数 80

3.5 链接文件 81

3.5.1 链接文件简介 81

3.5.2 使用链接文件 82

3.6 文件和目录属性 85

3.6.1 文件和目录属性简介 85

3.6.2 查看和设置文件和目录属性 85

第4章 Linux常用命令 88

4.1 文本内容显示 88

4.1.1 cat:显示文本文件 88

4.1.2 more:分页显示文本文件 90

4.1.3 less:回卷显示文本文件 91

4.1.4 head:显示指定文件前若干行 93

4.1.5 tail:查看文件末尾数据 95

4.2 文本处理 96

4.2.1 sort:对文件中的数据进行排序 96

4.2.2 uniq:将重复行从输出文件中删除 96

4.2.3 cut:从文件每行中输出选定的字节、字符或字段 97

4.2.4 comm:逐行比较两个已排序的文件 99

4.2.5 diff:逐行比较两个文本文件,列出其不同之处 99

4.3 文件和命令查找 101

4.3.1 grep:查找文件中符合条件的字符串 101

4.3.2 find:列出文件系统内符合条件的文件 102

4.3.3 locate:在数据库中查找文件 105

4.3.4 whereis:查找指定文件、命令和手册页位置 106

4.4 系统信息显示 107

4.4.1 uname:显示计算机及操作系统相关信息 107

4.4.2 hostname:显示或修改计算机主机名 107

4.5 日期和时间 108

4.5.1 cal:显示日历信息 108

4.5.2 date:显示和设置系统日期和时间 109

4.5.3 hwclock:查看和设置硬件时钟 111

4.6 信息交流 112

4.6.1 echo:在显示器上显示文字 112

4.6.2 mesg:允许或拒绝写消息 112

4.6.3 wall:对全部已登录用户发送信息 113

4.6.4 write:向用户发送消息 113

4.7 其他命令 114

4.7.1 clear:清除计算机屏幕信息 114

4.7.2 uptime:显示系统已经运行的时间 114

4.7.3 type:显示命令的类型 114

第5章 Shell编程 116

5.1 熟悉Shell程序的创建 116

5.1.1 Shell程序基本语法 116

5.1.2 Shell程序的创建过程 116

5.2 Shell变量 117

5.2.1 Shell定义的环境变量 117

5.2.2 用户定义的变量 119

5.2.3 位置参数 120

5.2.4 预定义变量 120

5.2.5 参数置换的变量 120

5.3 变量表达式 121

5.3.1 字符串比较 121

5.3.2 数字比较 122

5.3.3 逻辑测试 122

5.3.4 文件操作测试 123

5.4 执行Shell程序 123

5.5 Shell流程控制语句 124

5.5.1 条件判断 124

5.5.2 循环控制 126

第6章 用户和组群账户管理 130

6.1 用户账户简介 130

6.1.1 用户账户分类 130

6.1.2 /etc/passwd文件详解 130

6.1.3 /etc/shadow文件详解 132

6.2 管理用户账户 133

6.2.1 创建用户账户 133

6.2.2 修改用户账户 135

6.2.3 删除用户账户 137

6.3 组群账户简介 137

6.3.1 组群账户分类 137

6.3.2 /etc/group文件详解 138

6.3.3 /etc/gshadow文件详解 139

6.4 管理组群账户 140

6.4.1 创建组群账户 140

6.4.2 修改组群账户 141

6.4.3 删除组群账户 141

6.5 账户维护和显示 141

6.5.1 passwd 141

6.5.2 gpasswd 143

6.5.3 pwck 144

6.5.4 newgrp 144

6.5.5 groups 144

6.5.6 id 145

6.5.7 su 145

6.6 实现用户账户安全 146

第7章 权限、所有者和ACL 149

7.1 设置文件和目录权限 149

7.1.1 文件和目录权限简介 149

7.1.2 设置文件和目录基本权限 149

7.1.3 设置文件和目录特殊权限 153

7.2 文件和目录所有者 154

7.2.1 更改用户和组群所有者 154

7.2.2 更改组群所有者 155

7.3 权限掩码 156

7.4 实现ACL控制 157

7.4.1 ACL简介 157

7.4.2 查看文件和目录ACL 157

7.4.3 设置文件和目录ACL 158

第8章 归档、压缩和备份 163

8.1 归档和压缩简介 163

8.2 管理tar包 163

8.2.1 tar包简介 163

8.2.2 tar包使用和管理 164

8.3 gzip和gunzip 165

8.3.1 gzip简介 165

8.3.2 gzip压缩 166

8.3.3 gunzip解压缩 167

8.4 zip和unzip 167

8.4.1 zip简介 167

8.4.2 zip压缩 168

8.4.3 unzip解压缩 169

8.5 bzip2和bunzip2 170

8.5.1 bzip2简介 170

8.5.2 bzip2压缩 170

8.5.3 bunzip2解压缩 172

8.6 cpio 172

8.7 dd 174

第9章 软件包管理 176

9.1 RPM软件包简介 176

9.1.1 什么是RPM软件包 176

9.1.2 RPM软件包设计目标 176

9.1.3 RPM软件包管理用途 177

9.2 RPM软件包管理 177

9.2.1 RPM数据库和RPM软件包文件 177

9.2.2 安装RPM软件包 179

9.2.3 删除RPM软件包 180

9.2.4 升级和刷新RPM软件包 181

9.2.5 查询RPM软件包 181

9.3 使用yum管理软件包 186

9.3.1 yum简介 186

9.3.2 /etc/yum.conf文件详解 186

9.3.3 yum软件仓库配置文件 187

9.3.4 创建本地软件仓库 187

9.3.5 yum命令语法 188

9.4 源代码编译安装软件 197

9.4.1 源码包软件简介 197

9.4.2 源码包软件安装实例 198

第10章 磁盘和文件系统管理 199

10.1 磁盘分区和格式化简介 199

10.1.1 什么是磁盘分区 199

10.1.2 什么是格式化 199

10.2 磁盘分区 200

10.2.1 fdisk命令语法 200

10.2.2 磁盘分区实例 201

10.3 文件系统简介 206

10.1.1 xfs文件系统 206

10.3.2 与Linux有关的其他文件系统 207

10.4 创建文件系统 208

10.5 挂载和卸载文件系统 209

10.5.1 挂载文件系统 209

10.5.2 卸载文件系统 211

10.5.3 查看磁盘分区挂载情况 212

10.6 UUID 214

10.6.1 UUID简介 214

10.6.2 查看磁盘分区UUID 215

10.7 开机自动挂载文件系统 215

10.7.1 /etc/fstab文件详解 215

10.7.2 设置开机自动挂载文件系统 217

10.8 检查并修复文件系统错误 218

10.9 使用交换空间 219

10.9.1 使用交换分区 219

10.9.2 使用交换文件 221

10.10 磁盘配额 223

10.10.1 磁盘配额简介 223

10.10.2 配置磁盘配额 223

10.10.3 显示磁盘使用情况和限制 227

10.10.4 查看文件系统配额摘要 228

10.10.5 关闭磁盘配额 229

10.10.6 启用磁盘配额 229

第11章 逻辑卷管理 230

11.1 LVM简介 230

11.1.1 LVM概念 230

11.1.2 使用LVM的优点 231

11.1.3 LVM相关术语 231

11.2 LVM配置和使用 232

11.2.1 为LVM创建磁盘分区 232

11.2.2 创建和查看物理卷 234

11.2.3 创建和查看卷组 236

11.2.4 在卷组中移除和添加物理卷 237

11.2.5 创建和查看逻辑卷 239

11.2.6 挂载和使用逻辑卷 240

11.2.7 LVM容量调整 241

11.2.8 删除逻辑卷、卷组和物理卷 243

第12章 进程和服务管理 245

12.1 进程简介 245

12.2 查看系统进程信息 246

12.2.1 ps 246

12.2.2 top 249

12.3 杀死进程 252

12.3.1 kill 252

12.3.2 killall 253

12.4 进程的启动方式 254

12.4.1 手工启动进程 254

12.4.2 调度启动进程 255

12.5 进程挂起和恢复 255

12.6 更改进程优先级 257

12.6.1 以指定优先级运行进程 257

12.6.2 更改正在运行的进程优先级 258

12.7 管理服务 258

第13章 任务计划 262

13.1 使用cron实现任务计划 262

13.1.1 /etc/crontab文件实现任务计划 262

13.1.2 使用crontab命令实现任务计划 265

13.2 使用at实现任务计划 267

13.2.1 at简介 267

13.2.2 配置at作业 268

13.3 使用anacron实现任务计划 271

13.3.1 anacron简介 271

13.3.2 /etc/anacrontab文件详解 272

13.3.3 anacron执行作业 273

第14章 Linux系统引导和启动 274

14.1 Linux系统启动过程 274

14.2 systemd简介 275

14.2.1 什么是systemd 275

14.2.2 单元类型 276

14.3 管理GRUB 2 277

14.3.1 GPUB 2简介 277

14.3.2 GRUB 2主配置文件 278

14.3.3 /etc/grub.d目录 282

14.3.4 /etc/default/grub文件详解 282

14.4 GRUB 2加密 283

14.4.1 GRUB 2加密简介 283

14.4.2 设置GRUB 2 PBKDF2加密口令 284

14.4.3 设置GRUB 2明文密码 285

14.4.4 GRUB 2解锁 285

14.5 使用GRUB 2 286

14.6 GRUB 2配置案例 287

14.6.1 设置Linux系统默认启动前的等待时间 287

14.6.2 破解root用户密码 288

14.6.3 将网卡名称eno16777736更改为eth0 289

14.7 内核简介 290

14.7.1 什么是内核 290

14.7.2 内核组件 290

14.8 管理内核模块 291

14.8.1 内核模块存储位置 291

14.8.2 查看已经加载的模块 292

14.8.3 查看模块信息 292

14.8.4 自动加载和卸载模块 293

第15章 Linux网络基本配置 295

15.1 Linux网络配置文件 295

15.1.1 /etc/sysconfig/network-scripts/ifcfg-eno16777736文件 295

15.1.2 /etc/resolv.conf文件 296

15.1.3 /etc/hosts文件 296

15.1.4 /etc/networks文件 296

15.1.5 /etc/protocols文件 297

15.1.6 /etc/services文件 297

15.2 Linux网络命令 298

15.2.1 traceroute 298

15.2.2 ifconfig 299

15.2.3 ping 301

15.2.4 netstat 302

15.2.5 arp 303

15.3 使用nmap扫描网络 304

15.3.1 nmap简介 304

15.3.2 使用nmap 305

15.4 使用tcpdump捕获网络数据包 309

第16章 配置OpenSSH服务器 312

16.1 SSH简介 312

16.1.1 什么是SSH 312

16.1.2 SSH工作原理 312

16.1.3 SSH安全验证方式 312

16.1.4 OpenSSH简介 313

16.2 OpenSSH服务器安装和配置 313

16.2.1 安装openSSH服务器软件包 313

16.2.2 /etc/ssh/sshd_config文件详解 314

16.2.3 OpenSSH服务器配置实例 318

16.2.4 控制sshd服务 318

16.3 配置OpenSSH客户端 319

16.3.1 Linux客户端连接 319

16.3.2 Windows客户端连接-PuTTY 324

第17章 配置VNC服务器 327

17.1 VNC简介 327

17.1.1 什么是VNC 327

17.1.2 TigerVNC简介 327

17.2 VNC服务器安装和配置 328

17.2.1 VNC服务器配置实例 328

17.2.2 /root/.vnc目录简介 329

17.2.3 创建或更改VNC登录密码 329

17.2.4 管理VNC服务器 329

17.3 连接VNC服务器 330

17.3.1 Linux客户端连接 331

17.3.2 Windows客户端连接 332

第18章 配置NFS服务器 333

18.1 NFS简介 333

18.1.1 什么是NFS 333

18.1.2 NFS协议 333

18.2 NFS服务器安装和配置 334

18.2.1 安装NFS服务器软件包 334

18.2.2 /etc/exports文件详解 334

18.2.3 NFS服务器配置实例 335

18.2.4 控制nfs-server服务 336

18.3 管理NFS共享目录 337

18.3.1 维护NFS共享目录 337

18.3.2 查看NFS共享目录信息 337

18.4 挂载和卸载NFS共享目录 338

18.4.1 挂载和卸载NFS文件系统 338

18.4.2 开机自动挂载NFS文件系统 339

第19章 配置DHCP服务器 341

19.1 DHCP简介 341

19.1.1 什么是DHCP 341

19.1.2 使用DHCP服务优缺点 341

19.2 DHCP服务器安装和配置 342

19.2.1 安装DHCP服务器软件包 342

19.2.2 /etc/dhcp/dhcpd.conf文件详解 342

19.2.3 DHCP服务器配置实例 346

19.2.4 控制dhcpd服务 347

19.3 配置DHCP客户端 348

19.3.1 Linux客户端配置 348

19.3.2 Windows客户端配置 349

19.4 查看DHCP地址租约信息 351

第20章 配置Samba服务器 353

20.1 Samba简介 353

20.2 Samba服务器安装和配置 353

20.2.1 安装Samba服务器软件包 353

20.2.2 /etc/samba/smb.conf文件详解 354

20.2.3 Samba共享目录配置实例 361

20.3 Samba服务器配置实例 362

20.3.1 share级别Samba服务器配置 362

20.3.2 user级别Samba服务器配置 363

20.3.3 Samba打印机共享配置 364

20.3.4 控制smb服务 365

20.3.5 Samba排错 366

20.4 配置Samba客户端 366

20.4.1 Linux客户端配置 366

20.4.2 Windows客户端配置 371

20.5 Samba服务器高级配置 371

20.5.1 设置Samba加密口令 371

20.5.2 映射Samba用户账户 372

第21章 配置DNS服务器 374

21.1 DNS简介 374

21.1.1 什么是DNS 374

21.1.2 DNS域命名空间简介 374

21.1.3 DNS服务器类型 375

21.1.4 DNS解析类型 376

21.1.5 bind简介 376

21.2 DNS服务器安装和配置 377

21.2.1 安装DNS服务器软件包 377

21.2.2 /etc/named.conf文件详解 377

21.2.3 配置DNS区域文件 379

21.2.4 主DNS服务器配置实例 381

21.2.5 控制named服务 383

21.3 DNS服务器排错 384

21.3.1 named-checkconf 384

21.3.2 named-checkzone 385

21.4 配置DNS客户端 385

21.4.1 Linux客户端配置 385

21.4.2 Windows客户端配置 386

21.5 DNS客户端域名解析测试 387

21.5.1 host 387

21.5.2 nslookup 388

21.6 DNS服务器高级配置 390

21.6.1 辅助DNS服务器 390

21.6.2 虚拟子域 392

21.6.3 缓存DNS服务器 393

第22章 配置Apache服务器 395

22.1 Web简介 395

22.1.1 什么是Web 395

22.1.2 Web工作原理 395

22.1.3 Apache简介 396

22.2 Apache服务器安装和配置 396

22.2.1 安装Apache服务器软件包 396

22.2.2 /etc/httpd/conf/httpd.conf文件详解 397

22.2.3 Apache服务器配置实例 401

22.2.4 控制httpd服务 403

22.3 访问Apache服务器 404

22.3.1 Linux客户端配置 404

22.3.2 Windows客户端配置 405

22.4 日志文件管理和分析 405

22.4.1 配置错误日志 405

22.4.2 配置访问日志 406

22.5 Apache服务器高级配置 407

22.5.1 访问控制 407

22.5.2 用户认证和授权 409

22.5.3 虚拟目录 411

22.6 配置Apache虚拟主机 412

22.6.1 基于IP地址的虚拟主机 412

22.6.2 基于TCP端口号的虚拟主机 414

22.6.3 基于域名的虚拟主机 416

22.7 配置LAMP网站 418

22.7.1 LAMP简介 418

22.7.2 搭建LAMP网站实例 418

第23章 配置vsftpd服务器 425

23.1 FTP简介 425

23.1.1 什么是FTP 425

23.1.2 FTP数据传输原理 425

23.1.3 FTP传输模式 425

23.1.4 FTP用户 426

23.1.5 vsftpd简介 426

23.2 vsftpd服务器安装和配置 426

23.2.1 安装vsftpd服务器软件包 426

23.2.2 /etc/vsftpd/vsftpd.conf文件详解 427

23.2.3 控制vsftpd服务 430

23.3 配置vsftpd客户端 431

23.3.1 Linux客户端配置 431

23.3.2 Windows客户端配置 434

23.4 vsftpd服务器配置实例 436

23.4.1 测试默认匿名用户登录 436

23.4.2 允许匿名用户上传下载文件和创建目录 437

23.4.3 只允许本地用户账户登录 438

23.4.4 限制用户目录 440

23.4.5 配置vsftpd服务器使用非标准端口 441

23.4.6 拒绝指定用户连接vsftpd服务器 442

第24章 配置Sendmail服务器 443

24.1 电子邮件简介 443

24.1.1 什么是电子邮件 443

24.1.2 邮件系统组成 443

24.1.3 电子邮件协议简介 444

24.1.4 Sendmail简介 444

24.2 Sendmail服务器安装和配置 445

24.2.1 安装Sendmail服务器软件包 445

24.2.2 /etc/mail/sendmail.mc文件详解 445

24.2.3 /etc/mail/local-host-names文件详解 448

24.2.4 /etc/mail/access文件详解 449

24.2.5 /etc/aliases文件详解 450

24.2.6 /etc/mail/userdb文件详解 450

24.2.7 Sendmail服务器配置实例 451

24.2.8 控制sendmail服务 453

24.2.9 配置dovecot服务器 454

24.2.10 测试发送Sendmail邮件 455

24.3 配置Sendmail客户端 456

24.3.1 Linux客户端配置 456

24.3.2 Windows客户端配置 457

24.4 Sendmail服务器认证 460

第25章 配置Squid服务器 464

25.1 代理服务器简介 464

25.1.1 什么是代理服务器 464

25.1.2 代理服务器功能 464

25.1.3 Squid简介 465

25.2 Squid服务器安装和配置 465

25.2.1 安装Squid服务器软件包 465

25.2.2 /etc/squid/squid.conf文件详解 466

25.2.3 Squid访问控制列表 468

25.2.4 Squid服务器配置实例 471

25.2.5 控制squid服务 473

25.3 配置Squid客户端 474

25.3.1 Linux客户端配置 474

25.3.2 Windows客户端配置 476

25.4 Squid日志文件简介 478