悦知文化·实战LinuxShell编程与服务器管理pdf下载pdf下载

悦知文化·实战LinuxShell编程与服务器管理百度网盘pdf下载

作者:
简介:本篇主要提供悦知文化·实战LinuxShell编程与服务器管理pdf下载
出版社:电子工业出版社
出版时间:2010-03
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

编辑推荐

  架构、流程、管理 系统维护 备份还原 安全管理
  主机管理的上乘之道,就在于尽量让电脑去完成所有的琐事。要达到这个境界,管理者必须具备相当程度的Shell操控能力与Shell程序设计能力,卧龙小三拥有丰富的主机管理实务经验,以及多年的教学经验,相信这本《实战Linux Shell编程与服务器管理》必能引领读者轻松跨越Bash Shell程序设计的门槛,摆脱菜鸟劳碌的命运,达到轻松管理,主机不出包的境界。
  《实战Linux Shell编程与服务器管理》特点:
  完整涵盖Bash 3.x的各项功能,并介绍最新Bash 4.0的重要功能。
  由简入繁、循序渐进,建立扎实的Bash Shell程序设计基础。
  各章提供许多范例,充分展示Bash Shell程序设计的技巧。
  带领读者学习如何设计自动化程序,轻松解决问题,增进工作效率。
  还包含许多管理实务的技巧,可快速提升读者主机管理的能力。

内容简介

  操作系统Shell编程一直是系统管理员必备高级技能之一。主机管理的上乘之道,就在于尽量让计算机去完成所有的琐事。要达到这个境界,管理者必须具备相当程度的Shell操控能力与Shell程序设计能力,笔者拥有丰富的主机管理实务经验,以及多年的教学经验,能引领读者轻松跨越Bash Shell程序设计的门槛,摆脱菜鸟劳碌的命运,达到轻松管理,主机不出包的境界。
  本书完整涵盖Bash 3.x的各项功能,并介绍最新Bash 4.0的重要功能;由简入繁、循序渐进,建立扎实的Bash Shell程序设计基础;各章提供许多范例,充分展示Bash Shell程序设计的技巧;带领读者学习如何设计自动化程序,轻松解决问题,增进工作效率;还包含许多管理实务的技巧,可快速提升读者主机管理的能力。
  本书适合系统管理员、网络管理员、架构师及普通学习者参考学习。
  主机管理的上乘之道,就在于尽量让电脑去完成所有的琐事。要达到这个境界,管理者必须具备相当程度的Shell操控能力与Shell程序设计能力,卧龙小三拥有丰富的主机管理实务经验,以及多年的教学经验,相信这本《实战Linux Shell编程与服务器管理》必能引领读者轻松跨越Bash Shell程序设计的门槛,摆脱菜鸟劳碌的命运,达到轻松管理,主机不出包的境界。
  ■ 完整涵盖Bash 3.x的各项功能,并介绍最新Bash 4.0的重要功能。
  ■ 由简入繁、循序渐进,建立扎实的Bash Shell程序设计基础。
  ■ 各章提供许多范例,充分展示Bash Shell程序设计的技巧。
  ■ 带领读者学习如何设计自动化程序,轻松解决问题,增进工作效率。
  ■ 还包含许多管理实务的技巧,可快速提升读者主机管理的能力。

目录

Chapter 1 Shell简介
1.1 Shell是什么 2
1.2 Shell的历史简介 4
1.3 Bash Shell的功能 5
1.4 第一个Bash Shell程序:“哈啰!Bash Shell!” 6
1.5 第一个有用的Bash Shell 7

Chapter 2 布署Bash Shell的环境
2.1 在Linux平台布署Bash Shell的环境 10
2.2 升级B2D的Bash版本 10
2.3 自行编译最新版的Bash 11
2.4 切换使用新版的Bash Shell 13
chsh的用法 13
2.5 在FreeBSD平台布署Bash Shell的环境 15
2.6 在OpenBSD平台布署Bash Shell的环境 16
2.7 在Windows平台布署Bash Shell的环境 18

Chapter 3 基础概念介绍
3.1 登录、注销 22
登录主机 22
注销主机、结束终端程序 23
3.2 文件、目录 23
文件 23
目录 26
3.3 通配符与转义字符 30
通配符 30
转义字符 31
3.4 字符集合 33
3.5 括号扩展 34
3.6 系统默认开启的文件 35
3.7 标准输入/输出转向 35
转向输出 36
转向附加 36
转向输入 37
转向输入和转向输出合用 37
利用转向输出做简易编辑 38
3.8 管道 38
3.9 前台工作、后台工作 40

Chapter 4 Bash Shell程序的结构
4.1 Shell程序的组成 42
4.2 设定执行权限 44
4.3 执行Bash Script的方法 44
4.4 Bash Script排错的方法 45
4.5 Bash Script执行的原理 47
login Shell 47
4.6 Bash Shell的启动配置文件 50
Bash不同的运行模式 50

Chapter 5 基本操作介绍
5.1 内置命令 56
5.2 命令行程序 71
5.3 执行多个命令的方法 88
5.4 记录命令的执行过程 90
5.5 命令行编辑的方法 91
5.6 Bash分析命令行的方式 98

Chapter 6 变量与字符串操作
6.1 变量是什么 102
6.2 变量的命名 103
6.3 设定变量 104
6.4 取得变量值 105
6.5 取消与清空变量 109
6.6 变量和引号 110
6.7 变量的有效范围 112
6.8 环境变量 113
输出变量 113
取消环境变量值 115
6.9 Bash的内置变量 115
6.10 调整变量的属性 125
只读变量:使用readonly命令 125
只读变量:使用declare命令 126
调整变量的属性 127
6.11 别名 128
建立别名 128
替换别名 129
取消别名 130
6.12 自定义环境 130
以一般账号的角色工作时 130
以系统管理员的角色工作时 133
6.13 数组 133
数组的用法 134
取出数组所有的元素 135
取得数组元素的个数 135
取消数组或数组元素 136
6.14 Here Document 136
用Here Document设定变量 136
控制Here Document的格式 138
利用Here Document做多行批注 139
利用Here Document,打包C(或其他程序语言)的原始码 140

Chapter 7 高级变量
7.1 变量扩展:测试存在性及空值 144
“变量存在”的定义 144
测试变量“存在与否”的基本用法 145
测试变量“不存在”或其值为空:“传回”一个默认值 146
测试变量“不存在”或其值为空:给变量设一个默认值 148
测试变量是否“不存在”或其值为空:提示错误信息 149
测试变量的“存在性” 151
7.2 变量扩展:取字符串切片、字符串长度 152
取字符串切片 152
计算字符串长度 155
7.3 变量扩展:对比样式 156
由字符串前面对比,删除相符者 156
由字符串后面对比,删除相符者 158
取代或删除部分字符串 159
把对比符合的字符串删除 160
要求样式在句首或句尾 160
7.4 变量扩展:取变量名称列表、数组索引列表 162
取变量名称列表 162
取数组索引列表 162
7.5 命令替换 163
7.6 算术扩展 165

Chapter 8 算术运算
8.1 简介 168
8.2 算术扩展 169
8.3 使用外部程序expr做算术运算 174
8.4 使用$[]做算术运算 177
8.5 使用内置命令declare、let做算术运算 178
declare的用法 178
let的用法 179

Chapter 9 流程控制
9.1 命令的结束状态 182
9.2 if条件判断 183
简易的if语法:if-then-else 183
if的完整语法 184
9.3 条件测试的写法 187
9.4 条件判断式的真假值 195
关于文件属性的判断式 195
关于字符串的条件判断式 197
关于算式的条件判断式 199
关于Bash选项的条件判断式 200
9.5 case条件判断 200
case的语法 200
高级样式 202
9.6 for循环 204
for的语法 204
for无穷循环 207
9.7 while循环 207
while的语法 207
使用while循环,读取文件内容 209
while无穷循环 210
9.8 until循环 211
until的语法 211
until无穷循环 212
9.9 select命令 212
9.10 break和continue 214
break命令 214
continue命令 216
9.11 综合运用 216

Chapter 10 函数
10.1 函数的用法 220
函数的语法 220
函数的结束状态 222
10.2 函数与变量的作用范围 224
函数的作用范围 224
变量的作用范围 225
10.3 位置参数 226
传递参数 226
命令行的位置参数 229
移动位置参数 229
指定位置参数值 230
取用命令行的选项和参数 233
10.4 建立函数库 235
10.5 递归函数 237
10.6 实例应用 238

Chapter 11 转向
11.1 文件代码 244
11.2 操作文件 244
开启文件 244
关闭文件 245
复制文件代码,建立文件连接 245
11.3 转向的用法 247
转向输入 247
转向输出 248
转向附加 250
标准错误伴随标准输出做转向 250
Here Document转向 251

Chapter 12 trap——陷阱触发
12.1 信号(signal) 254
进程编号PID 254
信号列表 255
传送信号的方法 256
常用的信号 257
12.2 trap的运用 260
trap的语法1 260
trap的语法2 261
trap的语法3 261
trap的语法4 262

Chapter 13 sed和awk入门
13.1 正则表达式 264
何谓正则表达式 264
13.2 sed的用法 266
实例应用 268
13.3 awk的用法 271
实例应用 272

Chapter 14 进程管理和工作控制
14.1 进程管理 276
ps命令 276
top命令 281
htop命令 283
传送信号 284
调整进程的优先级 284
nice命令 285
renice命令 286
PRI和NI 287
14.2 工作控制 287
以实例说明工作控制 287
常用的工作控制命令 290
14.3 进程替换 292

Chapter 15 历史指令
15.1 历史指令的功能 296
history命令 297
fc命令 298
15.2 历史指令扩展 298

Chapter 16 使用Shell Script撰写文字和图形接口程序
16.1 使用dialog撰写文本接口程序 306
是或否对话框(yesno) 309
多选一对话框(radiolist) 310
选单对话框(menu) 312
单行输入对话框(inputbox) 314
输入密码对话框(passwordbox) 315
显示进度对话框(gauge) 317
核查列表对话框(checklist) 320
文件对话框(textbox) 321
信息对话框(infobox) 321
调整时间对话框(timebox) 322
倒数计时对话框(pause) 322
选择文本区对话框(fselect) 322
16.2 使用xdialog撰写图形接口程序 323
显示信息(msgbox) 323
多选一对话框(radiolist) 324
单行输入对话框(inputbox) 325
双行输入对话框(2inputsbox) 326
三行输入对话框(3inputsbox) 328
下拉列表对话框(combobox) 329
重设大小范围的对话框(rangebox) 329
两个滚动条的对话框 330
3个滚动条的对话框 330
spinbox对话框 331
编辑对话框(editbox) 331

Chapter 17 文件操作
17.1 取得目录内容:文件列表 334
利用ls取得目录内容 334
17.2 判断文件是否存在 336
17.3 建立文件 338
建立一般文件 338
建立目录 340
建立区块设备文件 341
建立字符设备文件 343
建立FIFO文件 343
建立Socket文件 345
建立符号链接文件 345
17.4 取得文件的属性 346
17.5 对比文件的差异 352
diff的其他用法 355
17.6 搜寻文件内容 358
17.7 建立临时文件 361
17.8 复制文件 363
17.9 大、小写文件名互换 366
17.10 转换编码 371
转换编码的工具 372
大量转换编码 373

Chapter 18 主机系统管理
18.1 账号管理 376
18.2 DNS自动产生器 389
18.3 DHCP自动产生器 402
18.4 检测主机存在 407

Chapter 19 Bash在TCP/IP方面的运用
19.1 Bash网络转向 416
wget.sh程序说明 418
Echo服务器 419
19.2 自动登录FTP 421
19.3 自动登录SSH 424

Chapter 20 主机安全管理
20.1 收集主机信息 428
列出主机IP 428
找出主机名 428
列出核心信息 430
列出内存使用情况 430
列出磁盘种类 432
列出磁盘容量 433
列出磁盘用量 435
列出主机系统平均负载 437
列出系统中的隐藏文件/有特殊权限的文件 438
列出占用磁盘空间较多的目录 440
20.2 主机服务信道 441
基本概念 441
通信状态 443
管理主机服务信道 444
20.3 限制连接来源 446
使用TCP Wrapper 446
自动建立hosts.allow和hosts.deny 449
20.4 限制连接来源:使用iptables 452
关于Netfilter 452
关于iptables 452
iptables的语法 453
iptables的用例 454
自动建立iptables配置文件 455
20.5 文件完整性审核 465
关于checksum 465
使用md5sum 466
使用sha1sum 466
使用Shell自制文件完整性的审核工具 467
20.6 邮件通知 470
邮件方法 470
监测分区磁盘空间使用量 471
安排邮件内容的格式 475
使用Bash Shell邮件和附件 478
二进制文件编码/译码的方法 479
邮寄附件 480

Chapter 21 备份
21.1 使用tar做备份 488
基本用法 489
使用tar做完整备份 492
完整备份和差异性备份 493
使用tar进行差异性备份 494
还原备份文件的方法 494
21.2 使用磁带备份 495
操作磁带的方法 495
建立常用函数 501
21.3 使用cpio做备份 502
关于cpio 502
基本操作法 503
使用cpio备份到磁带 504
使用cpio备份到远程的主机 504
21.4 使用dump/restore做备份/恢复 505
关于dump和restore 505
/etc/fstab和dump的关系 505
dump和文件属性 505
dump的基本操作 506
备份至磁带 509
21.5 使用cp、dd做备份 509
使用cp 509
使用dd 510
21.6 使用光盘做备份 513
21.7 使用rsync做备份 514
关于rsync 514
设定rsync server 515
设定rsync client 517
安全性 519
rsync设定产生器 520
附录 Bash 4新功能

前言/序言

  2002年,我曾在台南县对全县中、小学校的网管讲授Shell程序设计课程。当时关于Shell的书籍和参考资料并不多(至今仍然如此),只好自编一份入门讲义,供上课的学员参考。课程结束后,我把它放到网络上,让其他同学也能参考。没想到,这份讲义,由于写得十分清楚、易懂,受到许多人的欢迎。这几年来,陆续接到很多网络上朋友的来信,希望我能进一步把Shell程序设计的入门讲义写成更详细的工具书,不过,由于个人工作上的关系,一直没有实现。今年,机缘巧合,各方面的条件和时机恰好配合,所以,这本书就出现在这里啦!
  许多人可能不了解,Shell其实是操作系统的重要组件之一。当我们管理一台主机时,在系统核心和用户之间的接口就是Shell,我们几乎必须时刻面对它。Shell能解译使用者输入的命令并执行命令。这些命令本身,通常用来访问文件系统、建立行程、管理行程、操作输出入设备、管理内存,以及操作和网络有关的应用。因此,对Shell的操控能力,可以说大约就等于是主机的管理能力,所以,想要对主机管理有更深一层认识的人,不可不熟悉Shell。
  笔者常说:凡是可以交给计算机做的事,不要由人来做(因为,人会累,计算机不会累)。主机管理的上乘之道,就在于能够充分实践这句话。换言之,就是把工作予以自动化。那么,主机管理者如何把工作自动化呢?关键就在于他是否具备Shell程序设计的能力。我们可以说:对Shell的操控能力和Shell程序设计的能力,是每一位主机管理者应具备的基本知能。唯有如此,这样的管理人员才具备强大的生产力(有生产力的管理者,才能偷懒,有时间做自己喜欢做的事,比如:思考如何创新)。
  这几年来,由于自由软件运动蓬勃发展,一般人接触Linux/BSD等系统的机会多了,较几年前来说,真是不可同日而语。但许多人在登录主机之后,却往往不知道要做什么,或如何运用它来解决问题,实在是很可惜。本书希望能带领读者了解Shell的重要性,熟悉Shell的运用方法,建立自动化管理主机的能力,迅速、轻松地解决问题。