展开全部

主编推荐语

轻松驾驭Linux操作系统,100多则立竿见影的shell脚本攻略,解决系统管理现实问题,实现繁琐任务自动化。

内容简介

Linux/GNU是一款非凡的操作系统,拥有稳定可靠且极其强大的开发环境。作为与操作系统进行沟通的原生界面,shell能够控制整个操作系统的运作,是与Linux进行交互灵活的手段。

本书向读者展现了如何有效地利用shell完成复杂的任务。书中所有示例均基于具体任务,透彻清晰,通俗易懂。

作者从shell的基础知识开始,介绍简单命令的用法、对各类文件进行操作,随后讲解文本处理、Web交互、备份、监视以及其他系统管理任务,涵盖初中高三级主题,传授脚本老手经常使用的诸多技巧。

第3版进行了全面修订,囊括Linux新发行版新特性,增加了仓储管理、网络分组、动态调用、系统调优、容器、云等100余页篇幅的新内容,颇具实用价值,让看似复杂的Linux shell脚本任务迎刃而解。

目录

  • 版权信息
  • 版权声明
  • 致谢
  • 前言
  • 本书内容
  • 阅读本书要求
  • 本书读者对象
  • 小节
  • 本书约定
  • 读者反馈
  • 客户支持
  • 下载示例代码
  • 下载本书的彩色图片
  • 勘误
  • 举报盗版
  • 疑难解答
  • 第1章 小试牛刀
  • 1.1 简介
  • 1.2 在终端中显示输出
  • 1.3 使用变量与环境变量
  • 1.4 使用函数添加环境变量
  • 1.5 使用shell进行数学运算
  • 1.6 玩转文件描述符与重定向
  • 1.7 数组与关联数组
  • 1.8 别名
  • 1.9 采集终端信息
  • 1.10 获取并设置日期及延时
  • 1.11 调试脚本
  • 1.12 函数和参数
  • 1.13 将一个命令的输出发送给另一个命令
  • 1.14 在不按下回车键的情况下读入n个字符
  • 1.15 持续运行命令直至执行成功
  • 1.16 字段分隔符与迭代器
  • 1.17 比较与测试
  • 1.18 使用配置文件定制bash
  • 第2章 命令之乐
  • 2.1 简介
  • 2.2 用cat进行拼接
  • 2.3 录制并回放终端会话
  • 2.4 查找并列出文件
  • 2.5 玩转xargs
  • 2.6 用tr进行转换
  • 2.7 校验和与核实
  • 2.8 加密工具与散列
  • 2.9 行排序
  • 2.10 临时文件命名与随机数
  • 2.11 分割文件与数据
  • 2.12 根据扩展名切分文件名
  • 2.13 多个文件的重命名与移动
  • 2.14 拼写检查与词典操作
  • 2.15 交互输入自动化
  • 2.16 利用并行进程加速命令执行
  • 2.17 检查目录以及其中的文件与子目录
  • 第3章 以文件之名
  • 3.1 简介
  • 3.2 生成任意大小的文件
  • 3.3 文本文件的交集与差集
  • 3.4 查找并删除重复文件
  • 3.5 文件权限、所有权与粘滞位
  • 3.6 将文件设置为不可修改
  • 3.7 批量生成空白文件
  • 3.8 查找符号链接及其指向目标
  • 3.9 枚举文件类型统计信息
  • 3.10 使用环回文件
  • 3.11 生成ISO及混合型ISO文件
  • 3.12 查找并修补文件差异
  • 3.13 使用head与tail打印文件的前10行和后10行
  • 3.14 只列出目录的各种方法
  • 3.15 在命令行中使用pushd和popd实现快速定位
  • 3.16 统计文件的行数、单词数和字符数
  • 3.17 打印目录树
  • 3.18 处理视频与图像文件
  • 第4章 让文本飞
  • 4.1 简介
  • 4.2 使用正则表达式
  • 4.3 使用grep在文件中搜索文本
  • 4.4 使用cut按列切分文件
  • 4.5 使用sed替换文本
  • 4.6 使用awk进行高级文本处理
  • 4.7 统计特定文件中的词频
  • 4.8 压缩或解压缩JavaScript
  • 4.9 按列合并多个文件
  • 4.10 打印文件或行中的第n个单词或列
  • 4.11 打印指定行或模式之间的文本
  • 4.12 以逆序形式打印行
  • 4.13 解析文本中的电子邮件地址和URL
  • 4.14 删除文件中包含特定单词的句子
  • 4.15 对目录中的所有文件进行文本替换
  • 4.16 文本切片与参数操作
  • 第5章 一团乱麻?没这回事!
  • 5.1 简介
  • 5.2 Web页面下载
  • 5.3 以纯文本形式下载页面
  • 5.4 cURL入门
  • 5.5 从命令行访问未读的Gmail邮件
  • 5.6 解析网站数据
  • 5.7 图片爬取器及下载工具
  • 5.8 网页相册生成器
  • 5.9 Twitter命令行客户端
  • 5.10 通过Web服务器查询单词含义
  • 5.11 查找网站中的无效链接
  • 5.12 跟踪网站变动
  • 5.13 发送Web页面并读取响应
  • 5.14 从Internet下载视频
  • 5.15 使用OTS汇总文本
  • 5.16 在命令行中翻译文本
  • 第6章 仓储管理
  • 6.1 简介
  • 6.2 创建新的git仓库
  • 6.3 克隆远程git仓库
  • 6.4 使用git添加与提交变更
  • 6.5 使用git创建与合并分支
  • 6.6 分享工作成果
  • 6.7 推送分支
  • 6.8 检查git仓库状态
  • 6.9 查看git历史记录
  • 6.10 查找bug
  • 6.11 快照标签
  • 6.12 提交信息规范
  • 6.13 使用fossil
  • 6.14 创建新的fossil仓库
  • 6.15 克隆远程fossil仓库
  • 6.16 打开fossil项目
  • 6.17 使用fossil添加与提交变更
  • 6.18 使用fossil分支与fork
  • 6.19 使用fossil分享工作成果
  • 6.20 更新本地fossil仓库
  • 6.21 检查fossil仓库状态
  • 6.22 查看fossil历史记录
  • 第7章 B计划
  • 7.1 简介
  • 7.2 使用tar归档
  • 7.3 使用cpio归档
  • 7.4 使用gzip压缩数据
  • 7.5 使用zip归档及压缩
  • 7.6 更快的归档工具pbzip2
  • 7.7 创建压缩文件系统
  • 7.8 使用rsync备份系统快照
  • 7.9 差异化归档
  • 7.10 使用fsarchiver创建全盘镜像
  • 第8章 无网不利
  • 8.1 简介
  • 8.2 网络设置
  • 8.3 ping!
  • 8.4 跟踪IP路由
  • 8.5 列出网络中所有的活动主机
  • 8.6 使用SSH在远程主机上执行命令
  • 8.7 在远程主机上执行图形化命令
  • 8.8 通过网络传输文件
  • 8.9 连接无线网络
  • 8.10 实现SSH的无密码自动登录
  • 8.11 使用SSH实现端口转发
  • 8.12 在本地挂载点上挂载远程驱动器
  • 8.13 分析网络流量与端口
  • 8.14 测量网络带宽
  • 8.15 创建套接字
  • 8.16 搭建网桥
  • 8.17 Internet连接共享
  • 8.18 使用iptables架设简易防火墙
  • 8.19 创建虚拟私有网络
  • 第9章 明察秋毫
  • 9.1 简介
  • 9.2 监视磁盘使用情况
  • 9.3 计算命令执行时间
  • 9.4 收集登录用户、启动日志及启动故障的相关信息
  • 9.5 列出1小时内占用CPU最多的10个进程
  • 9.6 使用watch监视命令输出
  • 9.7 记录文件及目录访问情况
  • 9.8 使用syslog记录日志
  • 9.9 使用logrotate管理日志文件
  • 9.10 通过监视用户登录找出入侵者
  • 9.11 监视远程磁盘的健康情况
  • 9.12 确定系统中用户的活跃时段
  • 9.13 电源使用情况的测量与优化
  • 9.14 监视磁盘活动
  • 9.15 检查磁盘及文件系统错误
  • 9.16 检查磁盘健康情况
  • 9.17 获取磁盘统计数据
  • 第10章 管理重任
  • 10.1 简介
  • 10.2 收集进程信息
  • 10.3 which、whereis、whatis与file
  • 10.4 杀死进程以及发送和响应信号
  • 10.5 向用户终端发送消息
  • 10.6 /proc文件系统
  • 10.7 收集系统信息
  • 10.8 使用cron进行调度
  • 10.9 数据库的形式及用法
  • 10.10 读写SQLite数据库
  • 10.11 读写MySQL数据库
  • 10.12 用户管理脚本
  • 10.13 图像文件的批量缩放及格式转换
  • 10.14 终端截图
  • 10.15 集中管理多个终端
  • 第11章 觅迹寻踪
  • 11.1 简介
  • 11.2 使用tcpdump跟踪分组
  • 11.3 使用ngrep查找分组
  • 11.4 使用ip跟踪网络路由
  • 11.5 使用strace跟踪系统调用
  • 11.6 使用ltrace跟踪动态库函数
  • 第12章 系统调优
  • 12.1 简介
  • 12.2 识别服务
  • 12.3 使用ss收集套接字数据
  • 12.4 使用dstat收集系统I/O使用情况
  • 12.5 使用pidstat找出资源占用大户
  • 12.6 使用sysctl调优Linux内核
  • 12.7 使用配置文件调优Linux系统
  • 12.8 使用nice命令更改调度器优先级
  • 第13章 在云端
  • 13.1 简介
  • 13.2 使用Linux容器
  • 13.3 使用Docker
  • 13.4 在Linux中使用虚拟机
  • 13.5 云端的Linux
  • 看完了
展开全部

评分及书评

评分不足
2个评分
  • 用户头像
    给这本书评了
    5.0

    到了 20 世纪 60 年代,计算机开始支持使用交互式终端(通常是电传打字设备或高级打字机)来调用命令。当贝尔实验室为全新的 Unix 操作系统创建了交互式用户界面之后,计算机便拥有了一项独有的特性。它可以从文本文件(称为 shell 脚本)中读取并执行命令,就好像这些命令是在终端中输入的一样。

      转发
      评论

    出版方

    人民邮电出版社·图灵出品

    图灵社区成立于2005年6月,由人民邮电出版社投资控股,以策划出版高质量的科技书籍为核心业务,主要出版领域包括计算机、电子电气、数学统计、科普等,通过引进国际高水平的教材、专著,以及发掘国内优秀原创作品等途径,为目标读者提供一流的内容。