编辑推荐
★强调动手动脑,实践与理论并重。
★不同难度的示例,适合各层次的读者。
内容简介
《信息科学与技术丛书:实用LinuxShell编程》系统地介绍了在Linux系统中广泛使用的Bash脚本语言。全书内容的安排由浅入深,体系合理。先讲解脚本的概念和学习环境的搭建,接下来介绍Linux的常用命令,然后根据概念之间的依赖关系,讲解Bash环境设置、变量与数组、条件流程控制、循环、函数、正则表达式、文本处理、进程与作业、高级话题等。本书是一本不可多得的shell编程原创读物。
目录
第1章 概述
1.1 为什么要学习Linux shell脚本
1.2 什么是shell
1.3 什么是shell脚本
1.4 为什么要学习Bash
1.5 Bash学习环境的准备
1.6 Linux命令格式简介
1.7 如何获得Linux命令的帮助
第2章 Linux基础知识与常用命令
2.1 Linux的文件与目录结构
2.2 查看文件清单命令ls
2.3 浏览文件命令cat、more、less、head和tail
2.4 文件统计命令wc
2.5 改变当前工作目录命令cd
2.6 创建目录命令mkdir
2.7 复制命令cp
2.8 重命名或移动命令mv
2.9 创建符号链接和硬链接命令ln
2.10 显示当前目录命令pwd
2.11 产生空文件或者改变文件时间戳命令touch
2.12 查看账户名及其所属组的命令whoami、id和groups
2.13 文件与目录的权限
2.14 改变权限命令chmod
2.15 SUID与SGID以及粘滞位
2.16 文件时间的查看以及状态改动时间
2.17 删除命令rm与rmdir
2.18 编辑文件命令vi
2.19 用于显示的命令echo
2.20 查看文件类型命令file
2.21 显示树状目录信息命令tree
2.22 查找命令find
第3章 Bash内置命令与环境简介
3.1 内置命令与外部命令
3.2 认识Bash环境
3.3 权限掩码命令umask
3.4 source命令和点命令
3.5 编写并运行第一个脚本
3.6 命令解释顺序与命令类型的查询
3.7 命令的退出状态以及命令true和false
3.8 管道
3.9 输入输出重定向
3.10 exec命令与文件描述符
3.11 有关命令的进一步讨论
第4章 变量与数组
4.1 变量的定义与清除
4.2 字符串定义及单双引号与大括号的使用
4.3 将命令执行结果赋给变量——反引号与$()
4.4 键盘输入变量值——内置命令read
4.5 整型变量运算
4.6 浮点运算
4.7 定义只读变量命令readonly和declare -r
4.8 定义整型变量命令declare -i
4.9 数组
4.10 关联数组
4.11 导出变量命令export和declare -x
4.12 declare命令总结
4.13 环境变量与特殊变量
4.14 内置变量
4.15 计算表达式值的命令expr
4.16 变量测试及其相应的赋值
4.17 字符串操作
第5章 条件流程控制
5.1 条件判断与test命令
5.2 条件测试结构if
5.3 if-else结构
5.4 if-elif结构
5.5 分情况选择处理——case命令
5.6 命令exit与if及case命令的配合
5.7 用here文档与case命令生成菜单
5.8 null命令
第6章 循环
6.1 for循环
6.2 算术for循环
6.3 while循环
6.4 until循环
6.5 用break和continue控制循环
6.6 用命令shift控制循环
6.7 选择命令select
6.8 循环命令与I/O重定向及管道的配合
6.9 脚本的选项与参数
第7章 函数
7.1 函数定义
7.2 给函数传递参数
7.3 函数的局部与全局变量
7.4 当前的函数名FUNCNAME
7.5 在命令行执行函数
7.6 查看当前shell的函数定义
7.7 选项-f与函数的导出、清除与只读设置
7.8 返回命令return
7.9 递归函数
第8章 正则表达式与文本处理
8.1 文件名替换
8.2 正则表达式与grep
8.3 剪取内容命令cut
8.4 合并相应行的命令paste
8.5 转换或删除字符命令tr
8.6 排序命令sort
8.7 流编辑器sed
8.8 文本处理工具awk
8.9 格式化打印命令printf
第9章 进程与作业
9.1 查看进程命令ps
9.2 挂起进程Ctrl+Z键
9.3 前台fg与后台bg
9.4 发送信号命令kill
9.5 等待命令wait
9.6 捕获信号命令trap
9.7 移除作业的命令disown
9.8 暂停shell的命令suspend
第10章 杂项与高级实例
10.1 二次扫描命令eval
10.2 目录栈操作命令pushd、popd与dirs
10.3 波浪号扩展
10.4 (非)登录及(非)交互shell
10.5 Bash shell选项
10.6 用命令set设置shell
10.7 用命令shopt设置shell
10.8 终端行设置命令stty
10.9 不在脚本和函数内使用别名
10.10 Bash调试
10.11 并行命令parallel
10.12 模拟旋转型进度指示
10.13 删除文件空行
10.14 完善while-shift循环
精彩书摘
《实用Linux Shell编程》:
可见,目录bin的信息的第二部分,是数值2,表示bin里面含有2个目录。从Is—1 bin的输出可见,bin里面有6个文件,没有目录,确切地说,是没有“非隐藏目录”,用命令Is—la bin就能看全了。因为Linux所有的目录都包含“.”和“..”这两个特殊的隐藏目录,所以目录bin的信息的第二部分是数值2。可以这样说,任何目录的信息第二部分数值一定不小于2。
2.3 浏览文件命令cat、more、less、head和tail
cat命令可以查看文件的内容,例如,查看某台Linux计算机的文件/etc/passwd(文件较长,只列出了前15行):
$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/bin/sh
bin:x:2:2:bin:/bin:/bin/sh
sys:x:3:3:sys:/dev:/bin/sh
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/bin/sh
man:x:6:12:man:/var/cache/man:/bin/sh
lp:x:7:7:lp:/var/spooUlpd:/bin/sh
mail:x:8:8:mail:/var/mail:/bin/sh
news:x:9:9:news:/var/spool/news:/bin/sh
uucp:x:10:10:uucp:/var/spool/uucp:/bin/sh
proxy:x:13:13:proxy:/bin:/bin/sh
www—data:x:33:33:www—data:/var/www:/bin/sh
backup:x:34:34:backup:/var/backups:/bin/sh
list:x:38:38:Mailing List Manager:/var/list:/bin/sh
cat命令是“一股脑”地显示文件的全部内容,文件较长时,用cat命令查看文件有些不方便。遇到长文件,最好使用more命令,它将长文件分页显示,每显示一页,more命令就会等待用户的进一步指令。在用more分页显示文件时,用户常用的指令有:按回车键,显示下一行;按空格键,显示下一页;按<B>键,返回到上一页;按<Q>键,退出,不再查看余下的内容。
要想分页显示长文件,还可以用less命令,less命令的使用与more命令比较相似。
……
前言/序言
实用Linux Shell编程 下载 mobi epub pdf txt 电子书 格式