Professional Documents
Culture Documents
LinuxCommandLineAndShellScriptingBible (2th)
LinuxCommandLineAndShellScriptingBible (2th)
书名=LINUX命令行与SHELL脚本编程大全 第2版
作者=(美)布卢姆,(美)布雷斯纳汉著
页数=620
出版社=北京市:人民邮电出版社
出版日期=2012.08
SS号=13057851
DX号=000008334722
URL=http://book2.duxiu.com/bookDetail.jsp?
dxNumber=000008334722&d=48B6BBBFBAADE2576BD60B
15E0815BF9
封面
书名
版权
前言
目录
第一部分Linux命令行
第1章 初识Linux shell
1.1什么是Linux
1.1.1深入探究Linux内核
1.1.2 GNU工具链
1.1.3 Linux桌面环境
1.2 Linux发行版
1.2.1核心Linux发行版
1.2.2专业Linux发行版
1.2.3 Linux LiveCD
1.3小结
第2章 走进shell
2.1终端模拟
2.1.1图形功能
2.1.2键盘
2.2 terminfo数据库
2.3 Linux控制台
2.4 xterm终端
2.4.1命令行参数
2.4.2 xterm主菜单
2.4.3 VT选项菜单
2.4.4 VT字体菜单
2.5 Konsole终端
2.5.1命令行参数
2.5.2标签式窗口会话
2.5.3配置文件
2.5.4菜单栏
2.6 GNOME Terminal
2.6.1命令行参数
2.6.2标签
2.6.3菜单栏
2.7小结
第3章 基本的bash shell命令
3.1启动shell
3.2 shell提示符
3.3 bash手册
3.4浏览文件系统
3.4.1 Linux文件系统
3.4.2遍历目录
3.5文件和目录列表
3.5.1基本列表功能
3.5.2修改输出信息
3.5.3完整的参数列表
3.5.4过滤输出列表
3.6处理文件
3.6.1创建文件
3.6.2复制文件
3.6.3链接文件
3.6.4重命名文件
3.6.5删除文件
3.7处理目录
3.7.1创建目录
3.7.2删除目录
3.8查看文件内容
3.8.1查看文件统计信息
3.8.2查看文件类型
3.8.3查看整个文件
3.8.4查看部分文件
3.9小结
第4章 更多的bash shell命令
4.1监测程序
4.1.1探查进程
4.1.2实时监测进程
4.1.3结束进程
4.2监测磁盘空间
4.2.1挂载存储媒体
4.2.2使用df命令
4.2.3使用du命令
4.3处理数据文件
4.3.1排序数据
4.3.2搜索数据
4.3.3压缩数据
4.3.4归档数据
4.4小结
第5章 使用Linux环境变量
5.1什么是环境变量
5.1.1全局环境变量
5.1.2局部环境变量
5.2设置环境变量
5.2.1设置局部环境变量
5.2.2设置全局环境变量
5.3删除环境变量
5.4默认shell环境变量
5.5设置PATH环境变量
5.6定位系统环境变量
5.6.1登录shell
5.6.2交互式shell
5.6.3非交互式shell
5.7可变数组
5.8使用命令别名
5.9小结
第6章理解Linux文件权限
6.1 Linux的安全性
6.1.1 /etc/passwd文件
6.1.2 /etc/shadow文件
6.1.3添加新用户
6.1.4删除用户
6.1.5修改用户
6.2使用Linux组
6.2.1 /etc/group文件
6.2.2创建新组
6.2.3修改组
6.3理解文件权限
6.3.1使用文件权限符
6.3.2默认文件权限
6.4改变安全性设置
6.4.1改变权限
6.4.2改变所属关系
6.5共享文件
6.6小结
第7章 管理文件系统
7.1探索Linux文件系统
7.1.1基本的Linux文件系统
7.1.2日志文件系统
7.1.3扩展的Linux日志文件系统
7.2操作文件系统
7.2.1创建分区
7.2.2创建文件系统
7.2.3如果出错了
7.3逻辑卷管理器
7.3.1逻辑卷管理布局
7.3.2 Linux中的LVM
7.3.3使用Linux LVM
7.4小结
第8章 安装软件程序
8.1包管理基础
8.2基于Debian的系统
8.2.1用aptitude管理软件包
8.2.2用aptitude安装软件包
8.2.3用aptitude更新软件
8.2.4用aptitude卸载软件
8.2.5 aptitude库
8.3基于Red Hat的系统
8.3.1列出已安装包
8.3.2用yum安装软件
8.3.3用yum更新软件
8.3.4用yum卸载软件
8.3.5处理损坏的包依赖关系
8.3.6 yum软件库
8.4从源码安装
8.5小结
第9章 使用编辑器
9.1 Vim编辑器
9.1.1 Vim基础
9.1.2编辑数据
9.1.3复制和粘贴
9.1.4查找和替换
9.2 Emacs编辑器
9.2.1在控制台上使用Emacs
9.2.2在X Window中使用Emacs
9.3 KDE系编辑器
9.3.1 KWrite编辑器
9.3.2 Kate编辑器
9.4 GNOME编辑器
9.4.1启动gedit
9.4.2基本的gedit功能
9.4.3设定偏好设置
9.5小结
第二部分shell脚本编程基础
第10章 构建基本脚本
10.1使用多个命令
10.2创建shell脚本文件
10.3显示消息
10.4使用变量
10.4.1环境变量
10.4.2用户变量
10.4.3反引号
10.5重定向输入和输出
10.5.1输出重定向
10.5.2输入重定向
10.6管道
10.7执行数学运算
10.7.1 expr命令
10.7.2使用方括号
10.7.3浮点解决方案
10.8退出脚本
10.8.1查看退出状态码
10.8.2 exit命令
10.9小结
第11章 使用结构化命令
11.1使用if-then语句
11.2 if-then-else语句
11.3嵌套i f
11.4 test命令
11.4.1数值比较
11.4.2字符串比较
11.4.3文件比较
11.5复合条件测试
11.6if-then的高级特性
11.6.1使用双尖括号
11.6.2使用双方括号
11.7 case命令
11.8小结
第12章 更多的结构化命令
12.1 for命令
12.1.1读取列表中的值
12.1.2读取列表中的复杂值
12.1.3从变量读取列表
12.1.4从命令读取值
12.1.5更改字段分隔符
12.1.6用通配符读取目录
12.2 C语言风格的for命令
12.2.1C语言的for命令
12.2.2使用多个变量
12.3 while命令
12.3.1 while的基本格式
12.3.2使用多个测试命令
12.4 until命令
12.5嵌套循环
12.6循环处理文件数据
12.7控制循环
12.7.1 break命令
12.7.2 continue命令
12.8处理循环的输出
12.9小结
第13章 处理用户输入
13.1命令行参数
13.1.1读取参数
13.1.2读取程序名
13.1.3测试参数
13.2特殊参数变量
13.2.1参数计数
13.2.2抓取所有的数据
13.3移动变量
13.4处理选项
13.4.1查找选项
13.4.2使用getopt命令
13.4.3使用更高级的getopts
13.5将选项标准化
13.6获得用户输入
13.6.1基本的读取
13.6.2超时
13.6.3隐藏方式读取
13.6.4从文件中读取
13.7小结
第14章 呈现数据
14.1理解输入和输出
14.1.1标准文件描述符
14.1.2重定向错误
14.2在脚本中重定向输出
14.2.1临时重定向
14.2.2永久重定向
14.3在脚本中重定向输入
14.4创建自己的重定向
14.4.1创建输出文件描述符
14.4.2重定向文件描述符
14.4.3创建输入文件描述符
14.4.4创建读写文件描述符
14.4.5关闭文件描述符
14.5列出打开的文件描述符
14.6阻止命令输出
14.7创建临时文件
14.7.1创建本地临时文件
14.7.2在/tmP目录创建临时文件
14.7.3创建临时目录
14.8记录消息
14.9小结
第15章 控制脚本
15.1处理信号
15.1.1重温 Linux信号
15.1.2产生信号
15.1.3捕捉信号
15.1.4捕捉脚本的退出
15.1.5移除捕捉
15.2以后台模式运行脚本
15.2.1后台运行脚本
15.2.2运行多个后台作业
15.2.3退出终端
15.3在非控制台下运行脚本
15.4作业控制
15.4.1查看作业
15.4.2重启停止的作业
15.5调整谦让度
15.5.1 nice命令
15.5.2 renice命令
15.6定时运行作业
15.6.1用at命令来计划执行作业
15.6.2计划定期执行脚本
15.7启动时运行
15.7.1开机时运行脚本
15.7.2在新shell中启动
15.8小结
第三部分 高级shell脚本编程
第16章 创建函数
16.1基本的脚本函数
16.1.1创建函数
16.1.2使用函数
16.2返回值
16.2.1默认退出状态码
16.2.2使用return命令
16.2.3使用函数输出
16.3在函数中使用变量
16.3.1向函数传递参数
16.3.2在函数中处理变量
16.4数组变量和函数
16.4.1向函数传数组参数
16.4.2从函数返回数组
16.5函数递归
16.6创建库
16.7在命令行上使用函数
16.7.1在命令行上创建函数
16.7.2在.bashrc文件中定义函数
16.8小结
第17章 图形化桌面上的脚本编程
17.1创建文本菜单
17.1.1创建菜单布局
17.1.2创建菜单函数
17.1.3添加菜单逻辑
17.1.4整合shell脚本菜单
17.1.5使用select命令
17.2使用窗口
17.2.1 dialog包
17.2.2 dialog选项
17.2.3在脚本中使用dialog命令
17.3使用图形
17.3.1 KDE环境
17.3.2 GNOME环境
17.4小结
第18章 初识sed和gawk
18.1文本处理
18.1.1sed编辑器
18.1.2 gawk程序
18.2 sed编辑器基础
18.2.1更多的替换选项
18.2.2使用地址
18.2.3删除行
18.2.4插入和附加文本
18.2.5修改行
18.2.6转换命令
18.2.7回顾打印
18.2.8用sed和文件一起工作
18.3小结
第19章 正则表达式
19.1什么是正则表达式
19.1.1定义
19.1.2正则表达式的类型
19.2定义BRE模式
19.2.1纯文本
19.2.2特殊字符
19.2.3锚字符
19.2.4点字符
19.2.5字符组
19.2.6排除字符组
19.2.7使用区间
19.2.8特殊字符组
19.2.9星号
19.3扩展正则表达式
19.3.1问号
19.3.2加号
19.3.3使用花括号
19.3.4管道符号
19.3.5聚合表达式
19.4实用中的正则表达式
19.4.1目录文件计数
19.4.2验证电话号码
19.4.3解析邮件地址
19.5小结
第20章sed进阶
20.1多行命令
20.1.1 next命令
20.1.2多行删除命令
20.1.3多行打印命令
20.2保持空间
20.3排除命令
20.4改变流
20.4.1跳转
20.4.2测试
20.5模式替代
20.5.1 and符号
20.5.2替换单独的单词
20.6在脚本中使用sed
20.6.1使用包装脚本
20.6.2重定向sed的输出
20.7创建sed实用工具
20.7.1加倍行间距
20.7.2对可能含有空白行的文件加倍行间
距
20.7.3给文件中的行编号
20.7.4打印末尾行
20.7.5删除行
20.7.6删除HTML标签
20.8小结
第21章gawk进阶
21.1使用变量
21.1.1内建变量
21.1.2自定义变量
21.2处理数组
21.2.1定义数组变量
21.2.2遍历数组变量
21.2.3删除数组变量
21.3使用模式
21.3.1正则表达式
21.3.2 匹 配操作符
21.3.3数学表达式
21.4结构化命令
21.4.1 if语句
21.4.2 while语句
21.4.3 do-while语句
21.4.4 for语句
21.5格式化打印
21.6内建函数
21.6.1数学函数
21.6.2字符串函数
21.6.3时间函数
21.7自定义函数
21.7.1定义函数
21.7.2使用自定义函数
21.7.3创建函数库
21.8小结
第22章 使用其他shell
22.1什么是dash shell
22.2 dash shell的特性
22.2.1 dash命令行参数
22.2.2 dash环境变量
22.2.3 dash内建命令
22.3 dash脚本编程
22.3.1创建dash脚本
22.3.2不能使用的功能
22.4 zsh shell
22.5 zsh shell的组成
22.5.1 shell选项
22.5.2内建命令
22.6 zsh脚本编程
22.6.1数学运算
22.6.2结构化命令
22.6.3函数
22.7小结
第四部分 高级shell脚本编程主题
第23章 使用数据库
23.1 MySQL数据库
23.1.1安装MySQL
23.1.2 MySQL客户端界面
23.1.3创建MySQL数据库对象
23.2 PostgreSQL数据库
23.2.1安装PostgreSQL
23.2.2 PostgreSQL命令行界面
23.2.3创建PostgreSQL数据库 对象
23.3使用数据表
23.3.1创建数据表
23.3.2插入和删除数据
23.3.3查询数据
23.4在脚本中使用数据库
23.4.1连接到数据库
23.4.2向服务器发送命令
23.4.3格式化数据
23.5小结
第24章 使用Web
24.1 Lynx程序
24.1.1安装Lynx
24.1.2 lynx命令行
24.1.3 Lynx配置文件
24.1.4 Lynx环境变量
24.1.5从Lynx中抓取数据
24.2 cURL程序
24.2.1安装cURL
24.2.2探索cURL
24.3使用zsh处理网络
24.3.1 TCP模块
24.3.2客户端/服务器模式
24.3.3使用zsh进行C/S编程
244小结
第25章 使用E-mail
25.1 Linux E-mail基础
25.1.1Linux中的E-mail
25.1.2邮件传送代理
25.1.3邮件投递代理
25.1.4邮件用户代理
25.2建立服务器
25.2.1 sendmail
25.2.2 Postfiix
25.3使用Mailx发送消息
25.4 Mutt程序
25.4.1安装Mutt
25.4.2 Mutt命令行
25.4.3使用Mutt
25.5小结
第26章 编写脚本实用工具
26.1监测磁盘空间
26.1.1需要的功能
26.1.2创建脚本
26.1.3运行脚本
26.2进行备份
26.3管理用户账户
26.3.1需要的功能
26.3.2创建脚本
26.4小结
第27章shell脚本编程进阶
27.1监测系统统计数据
27.1.1系统快照报告
27.1.2系统统计数据报告
27.2问题跟踪数据库
27.2.1创建数据库
27.2.2记录问题
27.2.3更新问题
27.2.4查找问题
27.3小结
附录A bash命令快速指南
附录B sed和gawk快速指南