《Linux命令行和Shell脚本开发圣经》:内容目录

 

致谢

导语

第一部分:Linux命令行

第一节:从Linux Shell开始

  1 Linux是什么?

    1.1 管窥Linux内核(Kernel)

    1.2 GNU应用程序

    1.3 Linux桌面环境

  2 Linux发行版

    2.1 主要的Linux发行版

    2.2 专用的Linux发行版

    2.3 Linux LiveCD

  3 摘要

第二节:走进Shell

  1 终端仿真(Terminal Emulation)

    1.1 图形能力(Graphic capabilities)

    1.2 键盘

  2 Terminfo数据库

  3 Linux控制台

  4 xterm终端

    4.1 命令行参数

    4.2 xterm主菜单

    4.3 VT选项菜单

    4.4 VT字体菜单

  5 Konsole终端

    5.1 命令行参数

    5.2 会话

    5.3 菜单栏

  6 GNOME终端

    6.1 命令行参数

    6.2 标签(Tabs)

    6.3 菜单栏

  7 摘要

第三节:基本的bash Shell命令

  开始Shell之旅(Starting the Shell)

  Shell提示符(Shell Prompt)

  Bash手册

  文件系统导航(Filesystem Navigation)

    Linux文件系统

    遍历目录

  文件和目录列表(File and Directory Listing)

    基本列表

    更改显示的信息

    完整的参数列表

    过滤列表输出

  文件处理(File Handling)

    创建文件

    拷贝文件

    链接文件

    重命名文件

    删除文件

  目录处理(Directory Handling)

    创建目录

    删除目录

  查看文件内容(Viewing File Contents)

    查看文件信息(File Statistics)

    查看文件类型

    查看整个文件

    查看文件的一部分

  摘要

第四节:更多bash Shell命令

  监控程序(Monitoring Programs)

    偷窥进程(Peeking at the progresses)

    实时进程监控

    终止进程

  监控磁盘空间

    安装介质(Mounting media)

    使用df命令

    使用du命令

  操作数据文件

    数据排序(Sorting data)

    数据搜索(Search for data)

    数据压缩(Compressing data)

    数据归档(Archiving data)

  摘要

第五节:使用Linux环境变量(Using Linux Environment Variables)

  什么是环境变量?

    全局环境变量(Global environment variables)

    本地环境变量(Local environment variables)

  设置环境变量

    设置本地环境变量

    设置全局环境变量

  移除环境变量

  默认Shell环境变量

  设置PATH环境变量

  定位(locate)系统环境变量

    登录shell(Login shell)

    交互shell(Interactive shell)

    非交互shell(Non-interactive shell)

  变量数组

  使用简化命令(command aliases)

  摘要

第六节:了解Linux文件权限(Linux File Permissions)

  Linux安全

    /etc/passwd文件

    /etc/shadow文件

    添加新用户

    删除用户

    修改用户

  使用Linux用户组(Group)

    /etc/group文件

    创建新用户组

    修改用户组

  解码文件权限(Decoding file permissions)

    使用文件权限符号

    默认文件权限

  更改安全设置

    更改权限

    更改所有权(Owership)

  共享文件

  摘要

第七节:使用编辑器

  vim编辑器

    vim基础知识

    编辑数据

    拷贝和粘贴

    搜索和替换

  emacs编辑器

    在控制台使用emacs

    在X Windows中使用emacs

  KDE系列编辑器

    KWrite编辑器

    Kate编辑器

  GNOME编辑器

    启动gedit

    gedit基本功能

    设置偏好(preference)

  摘要

第二部分:Shell脚本编程基础

第八节:基本的脚本编译(Scripting Building)

  使用多条命令

  创建脚本文件

  显示消息

  使用变量

    环境变量

    用户变量

    backtick

  重定向(Redirecting)输入和输出

    输出重定向

    输入重定向

  管道(Pipes)

  数学计算(Performing Math)

    expr命令

    使用括弧(bracket)

    浮点计算(A floating-point solution)

  退出脚本

    检查退出状态

    exit命令

  摘要

第九节:使用结构化命令(Using Structured Commands)

  使用if-then声明

  if-then-else声明

  if嵌套(Nesting ifs)

  test命令

    数字比较(Numeric comparisons)

    字符串比较(String comparisons)

    文件比较(File comparisons)

  符合条件测试(compound Condition Testing)

  if-then高级功能

    使用双圆括号(Using double parentheses)

    使用双方括号(Using double brackets)

  case命令

  摘要

第十节:更多结构化指令

  for命令

    读取列表中的值(Reading values in a list)

    读取列表中复杂的值(Reading complex values in a  variable)

    从变量中读取一个列表(Reading a list from a varible)

    从命令中读取值(Reading values from a command)

    更改字段分隔符(field separator)

    使用通配符(wildcards)读取目录

  C语言样式的for命令(The C-style for Command)

    C语言中的for命令

    使用多个变量

  while命令

    基本的while格式

    使用多个测试命令

  until命令

  嵌套循环(Nesting loops)

  循环处理文件数据(Looping on File Data)

  控制循环

    break命令

    continue命令

  处理一个循环的输出

  摘要

第十一节:处理用户输入

  命令行参数

    读取参数

    读取程序名

    测试参数

  特殊参数变量

    统计参数(counting parameters)

    获取所有数据(Grabbing all the data)

  使用shift命令(Being shifty)

  使用选项(Working With Options)

    找到你的选项

    使用getopt命令

    更高级的getopts命令

  使选项标准化(Standardizing Options)

  获得用户输入

第十二节:呈现数据(Presenting Data)

  了解输入和输出

    标准文件描述符(Standard file descriptors)

    重定向错误

  在脚本中重定向输出

    临时性重定向(Temporary redirections)

    永久性重定向(Permanent redirections)

  在脚本中重定向输入

  创建你自己的重定向

    创建输出文件描述符

    重定向文件描述符

    创建输入文件描述符

    创建一个读/写(Read/Write)文件描述符

    关闭文件描述符

  枚举打开的文件描述符

  抑制脚本输出

  使用临时文件

    创建本地临时文件

    在/tmp中创建临时文件

    创建临时目录

  记录消息(Logging Messages)

  摘要

第十三节:脚本控制(Script Control)

  信号处理(Handling Signals)

    Linux信号知识温习(Linux Signals revisited)

    生成信号(Generating Signals)

    捕获信号(Trapping Signals)

    捕获一个脚本退出

    移除一个捕获(Removing a trap)

  以后台模式运行脚本(Running Scripts in Background Mode)

    后台运行

    运行多个后台作业(Job)

    退出终端

  无控制台情况下运行脚本(Running Scripts without a Console)

  作业控制(Job Control)

    查看作业(Viewing Jobs)

    重启已停止的作业

  Being Nice

    nice命令

    renice命令

  定时运行(Running like Clockwork)

    使用at命令安排作业

    使用batch命令

    为常规脚本制定计划

  开机启动(Start At The Beginning)

    引导时(boot)启动你的脚本

    使用一个新的shell启动

  摘要

第三部分:高级Shell脚本编程(Advanced Shell Scripting)

第十四节:创建函数(Function)

  基本的脚本函数

    创建函数

    使用函数

  返回值

    默认退出状态

    使用返回命令

    使用函数输出

  在函数中使用变量

    向函数传递参数

    在函数中处理变量

  数组变量和函数

    向函数传递数组

    从函数返回数组

  函数递归(Function Recursion)

  创建库(Library)

    在命令行中使用函数

    在.bashrc文件中定义文件

  摘要

第十五节:为脚本添加颜色(Adding Color to Scripts)

  创建文本菜单(Text Menus)

    创建菜单布局(Menu Layout)

    创建菜单函数(Menu Funcition)

    加入菜单逻辑(Menu Logic)

    整合上述模块(Put it all together)

    使用select命令

  添加颜色

    ANSI转义码(escape codes)

    显示ANSI转义码

    在脚本中使用颜色

  制作窗口(Doing Windows)

    对话框包(dialog package)

    对话框选项

    在脚本中使用dialog命令

  获取图形化界面(Getting Graphic)

    KDE环境

    GNOME环境

  摘要

第十六节:介绍sed和gawk

  文本处理(Text Manipaluation)

    sed编辑器

    gawk程序

  sed编辑器基础

    更多替换选项

    使用地址

    删除行

    插入和添加文本

    更改行(数据)(changing lines)

    transform命令

    打印命令温习(Printing revisited)

    使用sed处理文件

  摘要

第十七节:正则表达式(Regular Expressions)

  什么是正则表达式?

    定义

    正则表达式类型

  定义BRE模式匹配

    纯文本

    特殊字符

    锚字符(Anchor Characters)

    “.”字符

    字符集(character class)

    否定字符集(Negating character class)

    使用范围(range)

    特殊字符集

    星号“*”

  扩展的正则表达式

    问号“?”

    加号“+”

    使用括号

    管状符号“|”

    表达式分组(Grouping expressions)

  正则表达式实战(Regular Expressions in Actions)

    统计目录文件

    验证电话号码

    解析电子邮件地址

  摘要

第十八节:sed进阶

  多行命令

    next命令

    多行删除命令

    多行打印命令

  保留空间(Hold Space)

  否定一条命令(Negating a command)

  变更命令脚本流(flow)

    分支

    测试

  模式替换

    “&”符号(anmpersand)

    单个字符替换

  在脚本中使用sed

    使用wrapper

    重定向sed输出

  使用sed实用工具(Utilities)

    行间距加倍(Double spacing lines)

    使可能存在空行的文件行间距加倍(Double spacing files that have blanks)

    为文件添加行编号

    打印末尾行

    删除行

    删除HTML标签

  摘要

第十九节:gawk进阶

  使用变量

    内建变量

    用户自定义变量

  使用数组

    定义数组变量

    遍历数组变量

    删除数组变量

  使用模式

    正则表达式

    匹配操作符(Matching Operator)

    数学表达式(Mathematical Expressions)

  结构化命令

    if声明

    while声明

    do-while声明

    for声明

  格式化打印输出

  内建函数

    数学函数

    字符串函数

    时间函数

  用户自定义函数

    定义一个函数

    使用你自己的函数

    创建一个函数库

  摘要

第四部分:可供选择的Linux Shell(Alternative Linux Shells)

第二十节:ash Shell

  什么是ash Shell?

  原始ash Shell

    原始ash命令行参数

    原始ash内建命令

    ash Shell文件

  dash Shell

    dash命令行参数

    dash环境变量

    dash内建命令

  在dash中编写脚本

    创建ash和dash脚本

    例外的东西

  摘要

第二十一节:tcsh Shell

  什么是tcsh Shell?

  tcsh Shell组件

    tcsh Shell命令行参数

    tcsh文件

    tcsh登陆(login)文件

    Shell启动文件

    退出(logout)文件

    tcsh环境变量

    Shell变量

    环境变量

    在tcsh中设置变量

    使用set命令

    使用setenv命令

    tcsh内建命令

  在tcsh中编写脚本

    使用变量

    数组变量

    处理数学运算符

    结构化命令

    if声明

    foreach声明

    while声明

    switch命令

  摘要

第二十二节:Korn Shell

  Korn Shell的历史

  ksh93 Shell部分

    命令行参数

    默认文件

    环境变量

    内建命令

  在ksh93 Shell中编写脚本

    数学运算

    结构化命令

    命令重定向

    discipline函数

  摘要

第二十三节:zsh Shell

  zsh Shell的历史

  zsh Shell部分

    Shell选项

    zsh Shell文件

    环境变量

    内建命令

  使用zsh编写脚本

    数学运算

    结构化命令

    函数

  摘要

第五部分:高级主题

第二十四节:使用数据库

  MySQL数据库

    安装MySQL

    完成MySQL配置

    MySQL客户端界面

    创建MySQL数据库对象

  PostgreSQL数据库

    安装PostgreSQL

    PostgreSQL命令界面

    创建PostgreSQL数据库对象

  使用数据表(Tables)

    创建一个数据表

    插入和删除数据

    查询数据

  在你的脚本中使用数据库

    连接数据库

    向服务器发送命令

    格式化数据

  摘要

第二十五节:使用网络

  Lynx程序

    安装Lynx

    Lynx命令行

    Lynx配置文件

    Lynx环境变量

    从Lynx捕捉数据

  cURL程序

    安装cURL

    cURL命令行

    使用curl网上冲浪

  通过zsh联网

    TCP模块

    客户端/服务器(C/S)机制

    使用zsh进行C/S编程

  摘要

第二十六节:使用电子邮件

  Linux电子邮件基础

    Linux中的电子邮件

    邮件传输代理(Mail Transfer Agent)

    邮件投递代理(Mail Delivery Agent)

    邮件用户代理(Mail User Agent)

  安装自己的服务器

    sendmail

    Postfix

  使用Mailx发送消息

  Mutt程序

    安装Mutt

    Mutt命令行

    使用Mutt

  摘要

第二十七节:管理员所使用的Shell脚本

  监测系统数据

    监测磁盘空余空间

    捕获磁盘空间使用情况(Catching Disk Hogs)

    观查CPU和内存使用情况

  执行备份

    存档数据文件

    在外部(off-site)存储数据备份

  摘要

附录A:bash命令快速一览

  内建命令

  bash命令

  环境变量

附录B:sed和gawk快速一览

  sed编辑器

    启动sed编辑器

    sed命令

  gawk程序

    gawk命令格式

    使用gawk

    gawk变量

    gawk程序特性

附录C:各种Shell的比较

  变量

    环境变量

    用户自定义变量

    数据变量

  结构化命令

    if-then、while和until声明

    for声明

  数学运算

索引

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值