访问手机版  

Linux常用命令|Linux培训学习|考试认证|工资待遇与招聘,认准超级网工!

招聘|合作 登陆|注册

网络工程师培训

当前位置:网络工程师 > 技术课程 > linux > 热点关注 > linux常用命令

《Linux命令行与shell脚本编程大全 第3版》PDF

时间:2018-09-11

第一部分 Linux 命令行

第1章 初识Linux she

1.1 什么是Linux2

1.1.1深入探究Linux 内核3

1.1.2GNU 工具6

1.1.3Linux 桌面环境8

1.2 Linux 发行版12

1.2.1核心Linux 发行版13

1.2.2特定用途的Linux 发行版13

1.2.3Linux LiveCD14

1.3 小结15

第2章 走进shell

2.1 进入命令行16

2.1.1控制台终端17

2.1.2图形化终端17

2.2 通过Linux 控制台终端访问CLI18

2.3 通过图形化终端仿真访问CLI20

2.4 使用GNOME Terminal 仿真器21

2.4.1访问GNOME Terminal21

2.4.2菜单栏22

2.5 使用Konsole Terminal 仿真器25

2.5.1访问Konsole Terminal25

2.5.2菜单栏26

2.6 使用xterm 终端仿真器29

2.6.1访问xterm30

2.6.2命令行参数30

2.7 小结32

第3章 基本的bash shell 命令

3.1 启动shell33

3.2 shell 提示符34

3.3 bash 手册34

3.4 浏览文件系统37

3.4.1Linux 文件系统37

3.4.2遍历目录40

3.5 文件和目录列表42

3.5.1基本列表功能42

3.5.2显示长列表44

3.5.3过滤输出列表45

3.6 处理文件46

3.6.1创建文件47

3.6.2复制文件47

3.6.3制表键自动补全50

3.6.4链接文件50

3.6.5重命名文件52

3.6.6删除文件54

3.7 处理目录55

3.7.1创建目录55

3.7.2删除目录55

3.8 查看文件内容58

3.8.1查看文件类型58

3.8.2查看整个文件59

3.8.3查看部分文件61

3.9 小结63

第4章 更多的bash shell 命令

4.1 监测程序64

4.1.1探查进程64

4.1.2实时监测进程70

4.1.3结束进程72

4.2 监测磁盘空间73

4.2.1挂载存储媒体73

4.2.2使用df 命令76

4.2.3使用du 命令77

4.3 处理数据文件78

4.3.1排序数据78

4.3.2搜索数据81

4.3.3压缩数据83

4.3.4归档数据84

4.4 小结85

第5章 理解shell

5.1 shell 的类型86

5.2 shell 的父子关系88

5.2.1进程列表91

5.2.2别出心裁的子shell 用法93

5.3 理解shell 的内建命令96

5.3.1外部命令96

5.3.2内建命令97

5.4 小结101

第6章 使用Linux 环境变量

6.1 什么是环境变量103

6.1.1全局环境变量104

6.1.2局部环境变量105

6.2 设置用户定义变量106

6.2.1设置局部用户定义变量106

6.2.2设置全局环境变量107

6.3 删除环境变量109

6.4 默认的shell 环境变量110

6.5 设置PATH 环境变量113

6.6 定位系统环境变量114

6.6.1登录shell115

6.6.2交互式shell 进程119

6.6.3非交互式shell120

6.6.4环境变量持久化121

6.7 数组变量121

6.8 小结122

第7章 理解Linux 文件权限

7.1 Linux 的安全性124

7.1.1/etc/passwd 文件124

7.1.2/etc/shadow 文件126

7.1.3添加新用户127

7.1.4删除用户129

7.1.5修改用户130

7.2 使用Linux 组132

7.2.1/etc/group 文件133

7.2.2创建新组133

7.2.3修改组134

7.3 理解文件权限135

7.3.1使用文件权限符135

7.3.2默认文件权限136

7.4 改变安全性设置138

7.4.1改变权限138

7.4.2改变所属关系139

7.5 共享文件140

7.6 小结142

第8章 管理文件系统

8.1 探索Linux 文件系统143

8.1.1基本的Linux 文件系统143

8.1.2日志文件系统145

8.1.3写时复制文件系统147

8.2 操作文件系统147

8.2.1创建分区147

8.2.2创建文件系统151

8.2.3文件系统的检查与修复153

8.3 逻辑卷管理154

8.3.1逻辑卷管理布局154

8.3.2Linux 中的LVM155

8.3.3使用Linux LVM156

8.4 小结162

第9章 安装软件程序

9.1 包管理基础163

9.2 基于Debian 的系统164

9.2.1用aptitude 管理软件包164

9.2.2用aptitude 安装软件包166

9.2.3用aptitude 更新软件168

9.2.4用aptitude 卸载软件169

9.2.5aptitude 仓库169

9.3 基于Red Hat 的系统171

9.3.1列出已安装包171

9.3.2用yum 安装软件173

9.3.3用yum 更新软件174

9.3.4用yum 卸载软件174

9.3.5处理损坏的包依赖关系175

9.3.6yum 软件仓库176

9.4 从源码安装177

9.5 小结180

10.1.1检查vim 软件包181

10.1.2vim 基础183

10.1.4复制和粘贴185

10.1.5查找和替换186

10.3.1检查emacs 软件包189

10.3.2在控制台中使用emacs190

10.3.3在GUI 环境中使用emacs195

10.5.1启动gedit203

10.5.2基本的gedit 功能203

10.5.3设定偏好设置204

10.6 小结206

第二部分shell 脚本编程基础

第11章 构建基本脚本

11.1 使用多个命令210

11.2 创建shell 脚本文件211

11.3 显示消息212

11.4 使用变量214

11.4.1环境变量214

11.4.2用户变量215

11.4.3命令替换216

11.5 重定向输入和输出218

11.5.1输出重定向218

11.5.2输入重定向219

11.6 管道220

11.7 执行数学运算222

11.7.1expr 命令223

11.7.2使用方括号224

11.7.3浮点解决方案225

11.8 退出脚本228

11.8.1查看退出状态码228

11.8.2exit 命令229

11.9 小结231

第12章 使用结构化命令

12.1 使用if-then 语句232

12.2 if-then-else 语句235

12.3 嵌套if235

12.4 test 命令238

12.4.1数值比较240

12.4.2字符串比较242

12.4.3文件比较246

12.5 复合条件测试254

12.6 if-then 的高级特性255

12.6.1使用双括号255

12.6.2使用双方括号256

12.7 case 命令257

12.8 小结258

第13章 更多的结构化命令

13.1 for 命令260

13.1.1读取列表中的值261

13.1.2读取列表中的复杂值262

13.1.3从变量读取列表263

13.1.4从命令读取值264

13.1.5更改字段分隔符265

13.1.6用通配符读取目录266

13.2 C 语言风格的for 命令268

13.2.1C 语言的for 命令268

13.2.2使用多个变量269

13.3 while 命令270

13.3.1while 的基本格式270

13.3.2使用多个测试命令271

13.4 until 命令272

13.5 嵌套循环274

13.6 循环处理文件数据276

13.7 控制循环277

13.7.1break 命令277

13.7.2continue 命令280

13.8 处理循环的输出282

13.9 实例283

13.9.1查找可执行文件284

13.9.2创建多个用户账户285

13.10 小结286

第14章 处理用户输入

14.1 命令行参数287

14.1.1读取参数287

14.1.2读取脚本名289

14.1.3测试参数291

14.2 特殊参数变量292

14.2.1参数统计292

14.2.2抓取所有的数据294

14.3 移动变量295

14.4 处理选项296

14.4.1查找选项297

14.4.2使用getopt 命令300

14.4.3使用更高级的getopts302

14.5 将选项标准化305

14.6 获得用户输入306

14.6.1基本的读取306

14.6.2超时307

14.6.3隐藏方式读取308

14.6.4从文件中读取309

14.7 小结309

第15章 呈现数据

15.1 理解输入和输出311

15.1.1标准文件描述符311

15.1.2重定向错误313

15.2 在脚本中重定向输出315

15.2.1临时重定向315

15.2.2永久重定向316

15.3 在脚本中重定向输入317

15.4 创建自己的重定向317

15.4.1创建输出文件描述符318

15.4.2重定向文件描述符318

15.4.3创建输入文件描述符319

15.4.4创建读写文件描述符320

15.4.5关闭文件描述符321

15.5 列出打开的文件描述符322

15.6 阻止命令输出323

15.7 创建临时文件324

15.7.1创建本地临时文件324

15.7.2在/tmp 目录创建临时文件325

15.7.3创建临时目录326

15.8 记录消息327

15.9 实例328

15.10 小结330

第16章 控制脚本

16.1 处理信号331

16.1.1重温Linux 信号331

16.1.2生成信号332

16.1.3捕获信号334

16.1.4捕获脚本退出335

16.1.5修改或移除捕获335

16.2 以后台模式运行脚本338

16.2.1后台运行脚本338

16.2.2运行多个后台作业340

16.3 在非控制台下运行脚本341

16.4 作业控制342

16.4.1查看作业342

16.4.2重启停止的作业344

16.5 调整谦让度345

16.5.1nice 命令345

16.5.2renice 命令346

16.6 定时运行作业346

16.6.1用at 命令来计划执行作业347

16.6.2安排需要定期执行的脚本349

16.6.3使用新shell 启动脚本352

16.7 小结353

第三部分高级shell 脚本编程

第17章 创建函数

17.1 基本的脚本函数356

17.1.1创建函数357

17.1.2使用函数357

17.2 返回值359

17.2.1默认退出状态码359

17.2.2使用return 命令360

17.2.3使用函数输出361

17.3 在函数中使用变量362

17.3.1向函数传递参数362

17.3.2在函数中处理变量364

17.4 数组变量和函数366

17.4.1向函数传数组参数366

17.4.2从函数返回数组368

17.5 函数递归369

17.6 创建库370

17.7 在命令行上使用函数371

17.7.1在命令行上创建函数372

17.7.2在.bashrc 文件中定义函数372

17.8 实例374

17.8.1下载及安装374

17.8.2构建库374

17.8.3shtool 库函数376

17.8.4使用库376

17.9 小结377

第18章 图形化桌面环境中的脚本编程

18.1 创建文本菜单378

18.1.1创建菜单布局379

18.1.2创建菜单函数380

18.1.3添加菜单逻辑380

18.1.4整合shell 脚本菜单381

18.1.5使用select 命令382

18.2 制作窗口384

18.2.1dialog 包384

18.2.2dialog 选项389

18.2.3在脚本中使用dialog 命令391

18.3 使用图形393

18.3.1KDE 环境393

18.3.2GNOME 环境396

18.4 小结400

第19章 初识sed 和gawk

19.1 文本处理401

19.1.2gawk 程序404

19.2.1更多的替换选项410

19.2.2使用地址411

19.2.3删除行414

19.2.4插入和附加文本415

19.2.5修改行417

19.2.6转换命令418

19.2.7回顾打印419

19.2.8使用sed 处理文件421

19.3 小结423

第20章 正则表达式

20.1 什么是正则表达式424

20.1.1定义424

20.1.2正则表达式的类型425

20.2 定义BRE 模式426

20.2.1纯文本426

20.2.2特殊字符427

20.2.3锚字符428

20.2.4点号字符430

20.2.5字符组430

20.2.6排除型字符组432

20.2.7区间433

20.2.8特殊的字符组434

20.2.9星号434

20.3 扩展正则表达式436

20.3.1问号436

20.3.2加号437

20.3.3使用花括号437

20.3.4管道符号438

20.3.5表达式分组439

20.4 正则表达式实战439

20.4.1目录文件计数440

20.4.2验证电话号码441

20.4.3解析邮件地址443

20.5 小结444

第21章 sed 进阶

21.1 多行命令445

21.1.1next 命令446

21.1.2多行删除命令449

21.1.3多行打印命令449

21.2 保持空间450

21.3 排除命令451

21.4 改变流454

21.4.1分支454

21.4.2测试455

21.5 模式替代456

21.5.1&符号457

21.5.2替代单独的单词457

21.6 在脚本中使用sed458

21.6.1使用包装脚本458

21.6.2重定向sed 的输出459

21.7 创建sed 实用工具460

21.7.1加倍行间距460

21.7.2对可能含有空白行的文件加倍行间距460

21.7.3给文件中的行编号461

21.7.4打印末尾行462

21.7.5删除行463

21.7.6删除HTML 标签466

21.8 小结467

第22章 gawk 进阶

22.1 使用变量469

22.1.1内建变量469

22.1.2自定义变量474

22.2 处理数组476

22.2.1定义数组变量476

22.2.2遍历数组变量477

22.2.3删除数组变量478

22.3 使用模式478

22.3.1正则表达式478

22.3.2匹配操作符479

22.3.3数学表达式480

22.4 结构化命令480

22.4.1if 语句480

22.4.2while 语句482

22.4.3do-while 语句483

22.4.4for 语句484

22.5 格式化打印484

22.6 内建函数487

22.6.1数学函数487

22.6.2字符串函数488

22.6.3时间函数490

22.7 自定义函数490

22.7.1定义函数490

22.7.2使用自定义函数491

22.7.3创建函数库491

22.8 实例492

22.9 小结493

第23章 使用其他shell

23.1 什么是dash shell495

23.2 dash shell 的特性496

23.2.1dash 命令行参数496

23.2.2dash 环境变量497

23.2.3dash 内建命令499

23.3 dash 脚本编程500

23.3.1创建dash 脚本500

23.3.2不能使用的功能500

23.4 zsh shell502

23.5 zsh shell 的组成503

23.5.1shell 选项503

23.5.2内建命令504

23.6 zsh 脚本编程508

23.6.1数学运算508

23.6.2结构化命令509

23.6.3函数510

23.7 小结510

第四部分创建实用的脚本

第24章 编写简单的脚本实用工具

24.1 归档514

24.2 管理用户账户523

24.2.1需要的功能523

24.2.2创建脚本530

24.2.3运行脚本535

24.3 监测磁盘空间537

24.3.1需要的功能537

24.3.2创建脚本540

24.3.3运行脚本541

24.4 小结542

第25章 创建与数据库、Web及电子邮件相关的脚本

25.1 MySQL 数据库543

25.1.1使用MySQL543

25.1.2在脚本中使用数据库552

25.2 使用Web555

25.2.1安装Lynx556

25.2.2lynx 命令行557

25.2.3Lynx 配置文件558

25.2.4从Lynx 中获取数据559

25.3 使用电子邮件561

25.4 小结564

第26章 一些小有意思的脚本

26.1 发送消息565

26.1.1功能分析565

26.1.2创建脚本568

26.2 获取格言573

26.2.1功能分析574

26.2.2创建脚本577

26.3 编造借口583

26.3.1功能分析583

26.3.2创建脚本586

26.4 小结587

附录Abash 命令快速指南589

附录Bsed 和gawk 快速指南597

 上一个教程:Linux常用命令(二)