图书介绍

Linux命令行与shell编程实战【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

Linux命令行与shell编程实战
  • (美)马克·G.索贝尔,(美)马修·赫姆基著 著
  • 出版社: 北京:清华大学出版社
  • ISBN:9787302510901
  • 出版时间:2018
  • 标注页数:728页
  • 文件大小:280MB
  • 文件页数:756页
  • 主题词:Linux操作系统

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

Linux命令行与shell编程实战PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

第1章 欢迎进入Linux和macOS世界1

1.1 UNIX和GNU-Linux的发展史2

1.1.1 Linux的起源:UNIx2

1.1.2 回顾1983年2

1.1.3 下一场景,1991年3

1.1.4 自由代码3

1.1.5 享受乐趣4

1.2 Linux的优点4

1.2.1 Linux受到硬件公司和开发人员欢迎的原因5

1.2.2 Linux的可移植性6

1.2.3 C编程语言6

1.3 Linux概述6

1.3.1 Linux具有内核编程接口7

1.3.2 Linux支持多用户7

1.3.3 Linux支持多任务7

1.3.4 Linux支持安全的分层文件系统7

1.3.5 shell:命令解释器和编程语言8

1.3.6 大量有用的实用程序9

1.3.7 进程间的通信9

1.3.8 系统管理9

1.4 Linux的其他特性9

1.4.1 GUI:图形用户界面10

1.4.2 (互联的)网络实用程序10

1.4.3 软件开发10

1.5 本章小结11

练习11

第Ⅰ部分 Linux和macOS操作系统15

第2章 入门15

2.1 本书约定16

2.2 从终端或终端模拟器登录17

2.3 在命令行中工作18

2.3.1 识别当前运行的是哪种shell18

2.3.2 校正错误18

2.3.3 重复/编辑命令行20

2.4 su/sudo:慎用root权限20

2.5 如何查找相关文档21

2.5.1 man:显示系统手册页21

2.5.2 apropos:搜索关键字22

2.5.3 info:显示实用程序的相关信息23

2.5.4 --help选项25

2.5.5 bash help命令25

2.5.6 获取帮助25

2.6 有关登录和密码的更多方面27

2.6.1 如何处理登录失败27

2.6.2 远程登录:终端模拟器、ssh和拨号连接28

2.6.3 使用虚拟控制台28

2.6.4 退出28

2.6.5 更改密码28

2.7 本章小结30

练习30

高级练习30

第3章 实用程序33

3.1 特殊字符34

3.2 基本实用程序34

3.2.1 ls:显示文件名35

3.2.2 cat:显示文本文件的内容35

3.2.3 nn:删除文件35

3.2.4 少即多:分屏显示文本文件35

3.2.5 hostname:显示系统名36

3.3 文件操作36

3.3.1 cp:复制文件36

3.3.2 mv:更改文件名37

3.3.3 lpr:打印文件37

3.3.4 grep:查找字符串38

3.3.5 head:显示文件头部38

3.3.6 tail:显示文件尾部39

3.3.7 sort:按顺序显示文件的内容39

3.3.8 uniq:忽略文件中重复的行39

3.3.9 diff:比较两个文件40

3.3.10 file:识别文件的内容40

3.4 |(管道):实现进程间的通信41

3.5 4个有用的实用程序41

3.5.1 echo:显示文本41

3.5.2 date:显示日期和时间42

3.5.3 script:记录shell会话信息42

3.5.4 unix2dos:将Linux文件转换为Windows和MacOS格式42

3.6 压缩和归档文件43

3.6.1 bzip2:压缩文件43

3.6.2 bzcat和bunzip2:解压缩文件44

3.6.3 gzip:压缩文件44

3.6.4 tar:打包和解包文件44

3.7 定位实用程序46

3.7.1 which和whereis:定位实用程序46

3.7.2 locate:搜索文件47

3.8 显示用户和系统信息47

3.8.1 who:列出系统上的用户48

3.8.2 finger:列出系统上的用户48

3.8.3 uptime:显示系统负载和持续运行时间信息49

3.8.4 w:列出系统上的用户49

3.8.5 free:显示内存使用信息50

3.9 与其他用户通信50

3.9.1 write:发送消息50

3.9.2 mesg:拒绝或接收消息51

3.10 电子邮件51

3.11 本章小结52

练习53

高级练习54

第4章 Linux文件系统55

4.1 分层文件系统56

4.2 目录文件和普通文件56

4.2.1 文件名57

4.2.2 工作目录58

4.2.3 主目录58

4.3 路径名59

4.3.1 绝对路径名59

4.3.2 相对路径名60

4.4 目录操作61

4.4.1 mkdir:创建目录61

4.4.2 cd:更改工作目录62

4.4.3 rmdir:删除目录63

4.4.4 使用路径名63

4.4.5 mv/cp:移动/复制文件63

4.4.6 my:移动目录64

4.4.7 重要的标准目录和文件64

4.5 访问权限66

4.5.1 is-l:显示访问权限66

4.5.2 chmod:改变访问权限67

4.5.3 setuid和setgid权限68

4.5.4 目录访问权限69

4.6 ACL:访问控制列表70

4.6.1 启用ACL70

4.6.2 处理访问规则71

4.6.3 设置目录的默认规则73

4.7 链接74

4.7.1 硬链接74

4.7.2 符号链接76

4.7.3 rm:删除链接78

4.7.4 解引用符号链接78

4.8 本章小结81

练习82

高级练习83

第5章 shell85

5.1 命令行86

5.1.1 简单命令86

5.1.2 语法86

5.1.3 处理命令行88

5.1.4 执行命令行90

5.1.5 编辑命令行90

5.2 标准输入和输出90

5.2.1 作为文件的屏幕91

5.2.2 作为标准输入的键盘和作为标准输出的屏幕91

5.2.3 重定向92

5.2.4 管道96

5.2.5 链98

5.3 在后台运行命令99

5.4 生成文件名/扩展路径名100

5.4.1 特殊字符“?”100

5.4.2 特殊字符“*”101

5.4.3 特殊字符“[]”102

5.5 内置命令104

5.6 本章小结104

练习105

高级练习106

第Ⅱ部分 编辑器109

第6章 vim编辑器109

6.1 历史110

6.2 入门:用vim创建和编辑文件110

6.2.1 启动vim110

6.2.2 命令模式和输入模式112

6.2.3 输入文本112

6.2.4 获取帮助113

6.2.5 结束编辑会话115

6.2.6 compatible参数115

6.3 介绍vim的特性115

6.3.1 联机帮助115

6.3.2 术语116

6.3.3 操作模式116

6.3.4 显示116

6.3.5 在输入模式下校正文本117

6.3.6 工作缓冲区117

6.3.7 行长度与文件大小117

6.3.8 窗口117

6.3.9 锁定文件117

6.3.10 非正常结束编辑会话118

6.3.11 崩溃后的文本恢复118

6.4 在命令模式下移动光标119

6.4.1 按字符移动光标120

6.4.2 将光标移到某个特定字符120

6.4.3 按字移动光标120

6.4.4 按行移动光标121

6.4.5 按句子和段落移动光标121

6.4.6 在屏幕内移动光标121

6.4.7 查看工作缓冲区的不同部分122

6.5 输入模式122

6.5.1 插入文本122

6.5.2 追加文本122

6.5.3 为输入文本打开行122

6.5.4 替换文本123

6.5.5 在输入模式下转义特殊字符123

6.6 在命令模式下删除和修改文本123

6.6.1 撤消修改123

6.6.2 删除字符123

6.6.3 删除文本123

6.6.4 修改文本124

6.6.5 替换文本125

6.6.6 修改大小写125

6.7 查找和替换125

6.7.1 查找字符126

6.7.2 查找字符串126

6.7.3 字符串的替换127

6.8 其他命令129

6.8.1 连接命令129

6.8.2 状态命令129

6.8.3 .(句点)129

6.9 复制、移动和删除文本130

6.9.1 通用缓冲区130

6.9.2 命名缓冲区130

6.9.3 编号缓冲区131

6.10 文件的读写131

6.10.1 读文件131

6.10.2 写文件131

6.10.3 识别当前文件132

6.11 参数设置132

6.11.1 在vim中设置参数132

6.11.2 在启动文件中设置参数132

6.11.3 .vimrc启动文件133

6.11.4 参数133

6.12 高级编辑技巧135

6.12.1 使用标记135

6.12.2 编辑其他文件136

6.12.3 宏与快捷键136

6.12.4 在vim中执行shell命令136

6.13 度量单位137

6.13.1 字符138

6.13.2 字138

6.13.3 空白分隔字138

6.13.4 行138

6.13.5 句子139

6.13.6 段落139

6.13.7 屏幕(窗口)139

6.13.8 重复因子139

6.14 本章小结140

练习143

高级练习144

第7章 emacs编辑器145

7.1 历史145

7.1.1 演化146

7.1.2 emacs与vim146

7.2 入门:开始使用emacs147

7.2.1 启动emacs147

7.2.2 退出emacs148

7.2.3 插入文本148

7.2.4 删除字符149

7.2.5 移动光标149

7.2.6 在光标处编辑151

7.2.7 保存和检索缓冲区中的内容151

7.3 基本编辑命令152

7.3.1 按键的表示与使用152

7.3.2 键序列和命令152

7.3.3 META+x:运行不带绑定键的命令153

7.3.4 数值参数153

7.3.5 编辑点与光标153

7.3.6 在缓冲区中滚动153

7.3.7 删除文本154

7.3.8 搜索文本154

7.3.9 通过键盘使用菜单栏155

7.4 联机帮助156

7.5 高级编辑157

7.5.1 撤消修改157

7.5.2 编辑点、标记和区域158

7.5.3 剪切与粘贴:移出已剪切文本159

7.5.4 插入特殊字符160

7.5.5 全局缓冲区命令161

7.5.6 访问和保存文件162

7.5.7 缓冲区164

7.5.8 窗口165

7.5.9 前台shell命令166

7.5.10 后台shell命令166

7.6 主模式:区分语言的编辑167

7.6.1 选择主模式167

7.6.2 自然语言模式167

7.6.3 C模式169

7.6.4 定制缩进171

7.6.5 注释171

7.6.6 专用模式172

7.7 定制emacs172

7.7.1 .emacs启动文件173

7.7.2 重映射键174

7.7.3 .emacs文件示例175

7.8 更多信息175

7.9 本章小结176

练习181

高级练习182

第Ⅲ部分 shell187

第8章 bash187

8.1 背景知识188

8.2 启动文件188

8.2.1 登录shell189

8.2.2 交互式非登录shell189

8.2.3 非交互式shell189

8.2.4 建立启动文件189

8.2.5 “.”(句点)或source:在当前shell中运行启动文件191

8.3 符号命令191

8.4 重定向标准错误191

8.5 编写和执行简单的shell脚本193

8.5.1 chmod:使文件可执行193

8.5.2 “#!”指定shell194

8.5.3 “#”开始一行注释195

8.5.4 执行shell脚本196

8.6 控制操作符:命令分隔和命令分组196

8.6.1 使用分号和换行符分隔命令196

8.6.2 “I”和“&”分隔命令及其他功能197

8.6.3 布尔控制操作符&&和Ⅱ198

8.6.4 ()命令分组198

8.6.5 “”继续命令199

8.7 作业控制199

8.7.1 jobs:列出作业200

8.7.2 fg:将作业移到前台运行200

8.7.3 挂起作业201

8.7.4 bg:将作业移到后台运行201

8.8 操作目录栈201

8.8.1 dirs:显示栈202

8.8.2 pushd:将目录压入栈中202

8.8.3 popd:将目录从栈中弹出202

8.9 参数和变量203

8.9.1 用户创建的变量204

8.9.2 变量属性206

8.9.3 关键字变量207

8.10 特殊字符212

8.11 locale213

8.12 时间215

8.13 进程217

8.13.1 进程结构218

8.13.2 进程标识218

8.13.3 执行命令219

8.14 历史机制219

8.14.1 控制历史机制的变量220

8.14.2 重新执行和编辑命令221

8.14.3 Readline库226

8.15 别名230

8.15.1 别名中的单引号和双引号231

8.15.2 别名示例231

8.16 函数233

8.17 控制bash的功能和选项235

8.17.1 bash命令行选项235

8.17.2 shell的功能235

8.18 处理命令行237

8.18.1 历史扩展237

8.18.2 别名替换238

8.18.3 解析和扫描命令行238

8.18.4 命令行扩展238

8.19 本章小结244

练习245

高级练习246

第9章 tcsh249

9.1 shell脚本250

9.2 进入和退出tcsh250

9.3 bash与tcsh的共性252

9.3.1 命令行扩展(替换)252

9.3.2 作业控制255

9.3.3 文件名替换255

9.3.4 操作目录栈255

9.3.5 命令替换256

9.4 重定向标准错误256

9.5 操作命令行256

9.5.1 字补全257

9.5.2 编辑命令行258

9.5.3 校正拼写259

9.6 变量260

9.6.1 变量替换260

9.6.2 字符串变量260

9.6.3 字符串变量数组261

9.6.4 数值变量261

9.6.5 花括号263

9.6.6 特殊的变量形式263

9.6.7 tcsh变量264

9.7 控制结构268

9.7.1 if268

9.7.2 goto270

9.7.3 中断处理270

9.7.4 if…then…else270

9.7.5 foreach271

9.7.6 while272

9.7.7 break和continue273

9.7.8 switch273

9.8 内置命令274

9.9 本章小结277

练习277

高级练习278

第Ⅳ部分 编程工具281

第10章 bash程序设计281

10.1 控制结构282

10.1.1 if…then282

10.1.2 if…then…else285

10.1.3 if…then…elif286

10.1.4 for…in290

10.1.5 for292

10.1.6 while293

10.1.7 until296

10.1.8 break与continue297

10.1.9 case298

10.1.10 select302

10.1.11 Here文档304

10.2 文件描述符305

10.2.1 打开文件描述符305

10.2.2 复制文件描述符306

10.2.3 文件描述符示例306

10.2.4 确定文件描述符是否与终端关联308

10.3 参数309

10.3.1 位置参数309

10.3.2 特殊参数313

10.4 变量315

10.4.1 shell变量315

10.4.2 环境、环境变量和继承316

10.4.3 扩展空变量和未赋值的变量319

10.4.4 数组变量320

10.4.5 函数中的变量321

10.5 内置命令322

10.5.1 type:显示命令的相关信息322

10.5.2 read:接收用户输入322

10.5.3 exec:执行命令或重定向文件描述符325

10.5.4 trap:捕获信号326

10.5.5 kill:终止进程328

10.5.6 eval:扫描、赋值并执行命令行329

10.5.7 getopts:解析选项329

10.5.8 部分内置命令列表331

10.6 表达式332

10.6.1 算术表达式332

10.6.2 逻辑表达式(条件表达式)333

10.6.3 字符串模式匹配333

10.6.4 运算符334

10.7 隐式命令行延续337

10.8 shell程序337

10.8.1 递归的shell脚本338

10.8.2 shell的quiz脚本340

10.9 本章小结345

练习345

高级练习346

第11章 Perl脚本语言349

11.1 Perl简介350

11.1.1 更多信息350

11.1.2 帮助350

11.1.3 perldoc350

11.1.4 术语352

11.1.5 运行Perl程序352

11.1.6 语法353

11.2 变量355

11.2.1 标量变量356

11.2.2 数组变量357

11.2.3 哈希变量358

11.3 控制结构359

11.3.1 if/unless359

11.3.2 if…else361

11.3.3 if…elsif…else361

11.3.4 foreach/for362

11.3.5 last和next363

11.3.6 while/until364

11.4 处理文件365

11.5 排序367

11.6 子例程368

11.7 正则表达式370

11.8 CPAN模块373

11.9 示例375

11.10 本章小结377

练习377

高级练习378

第12章 Python编程语言379

12.1 简介379

12.1.1 调用Python380

12.1.2 更多信息381

12.1.3 写标准输出与读标准输入381

12.1.4 函数和方法382

12.2 标量变量、列表和字典382

12.2.1 标量变量382

12.2.2 列表383

12.2.3 字典386

12.3 控制结构387

12.3.1 if387

12.3.2 if…else387

12.3.3 if…elif…else388

12.3.4 while388

12.3.5 for389

12.4 读写文件390

12.4.1 文件输入和输出390

12.4.2 异常处理391

12.4.3 pickle模块392

12.5 正则表达式392

12.6 定义函数394

12.7 使用库394

12.7.1 标准库394

12.7.2 非标准库394

12.7.3 SciPy和NumPy库395

12.7.4 命名空间395

12.7.5 导入模块395

12.7.6 导入函数示例396

12.8 Lambda函数397

12.9 列表推导398

12.10 本章小结398

练习399

高级练习399

第13章 MariaDB数据库管理系统401

13.1 注意402

13.1.1 语法和惯例403

13.1.2 更多信息404

13.2 安装MariaDB服务器和客户端404

13.2.1 Fedora/RHEL(Red Hat Enterprise Linux)404

13.2.2 Debian/Ubuntu/Mint404

13.2.3 OpenSUSE405

13.2.4 macOS405

13.3 客户端选项405

13.4 配置MariaDB405

13.4.1 为MariaDB root用户指定密码406

13.4.2 删除匿名用户406

13.4.3 运行安全安装脚本406

13.4.4 ~/.my.cnf:配置MariaDB客户端406

13.4.5 ~/.mysql_history:保存MariaDB历史406

13.5 创建数据库407

13.6 添加用户407

13.7 一些示例408

13.7.1 登录408

13.7.2 创建表408

13.7.3 添加数据409

13.7.4 获取数据410

13.7.5 备份数据库412

13.7.6 修改数据412

13.7.7 创建第二个表413

13.7.8 连接查询413

13.8 本章小结416

练习417

第14章 AWK模式处理语言419

14.1 语法420

14.2 参数420

14.3 选项420

14.4 注意421

14.5 语言基础421

14.5.1 模式421

14.5.2 动作421

14.5.3 注释422

14.5.4 变量422

14.5.5 函数422

14.5.6 算术运算符423

14.5.7 关联数组423

14.5.8 printf423

14.5.9 控制结构424

14.6 示例426

14.7 gawk高级编程438

14.7.1 getline:控制输入438

14.7.2 协进程:双向I/O439

14.7.3 从网络获取输入440

14.8 本章小结441

练习441

高级练习441

第15章 sed编辑器443

15.1 语法443

15.2 参数443

15.3 选项444

15.4 编辑器基础444

15.4.1 地址444

15.4.2 指令445

15.4.3 控制结构445

15.4.4 暂存空间446

15.5 示例446

15.6 本章小结453

练习453

第Ⅴ部分 安全的网络实用程序457

第16章 rsync安全复制实用程序457

16.1 语法458

16.2 参数458

16.3 选项458

16.3.1 注意459

16.3.2 更多信息459

16.4 示例460

16.4.1 使用source-file尾部的斜杠(/)460

16.4.2 删除文件460

16.4.3 在远程系统上复制文件461

16.4.4 镜像目录462

16.4.5 生成备份462

16.4.6 恢复文件464

16.5 本章小结464

练习464

第17章 OpenSSH安全通信实用程序465

17.1 OpenSSH简介466

17.1.1 文件466

17.1.2 更多信息467

17.2 运行OpenSSH客户端ssh、scp和sftp467

17.2.1 指南:使用ssh和scp连接到OpenSSH服务器467

17.2.2 配置OpenSSH客户端467

17.2.3 ssh:登录或者在远程系统上执行命令469

17.2.4 scp:与远程系统互相复制文件471

17.2.5 sftp:安全的FTP客户端472

17.2.6 ~/.ssh/config和/etc/ssh/ssh_config配置文件473

17.3 设置OpenSSH服务器(sshd)474

17.3.1 必要的前提条件474

17.3.2 注意474

17.3.3 指南Ⅱ:启动OpenSSH服务器474

17.3.4 认证密钥:自动登录474

17.3.5 randomart图475

17.3.6 ssh-agent:保存私钥476

17.3.7 命令行选项477

17.3.8 /etc/ssh/sshd_config配置文件477

17.4 疑难解答478

17.5 隧道/端口转发478

17.5.1 转发X11478

17.5.2 端口转发479

17.6 本章小结479

练习480

高级练习480

第Ⅵ部分 命令参考483

第18章 命令参考483

18.1 标准倍数后缀487

18.2 常见选项487

18.3 sample实用程序487

18.4 sample(macOS)488

18.5 aspell488

18.6 at491

18.7 busybox494

18.8 bzip2496

18.9 cal497

18.10 cat498

18.11 cd499

18.12 chgrp501

18.13 chmod502

18.14 chown505

18.15 cmp506

18.16 comm508

18.17 configure509

18.18 cp510

18.19 cpio512

18.20 crontab516

18.21 cut518

18.22 date519

18.23 dd521

18.24 df523

18.25 diff524

18.26 diskutil(仅用于macOS)528

18.27 ditto(仅用于macOS)530

18.28 dmesg531

18.29 dscl(macOS)532

18.30 du534

18.31 echo536

18.32 expand/unexpand537

18.33 expr538

18.34 file540

18.35 find542

18.36 finger545

18.37 fmt547

18.38 fsck548

18.39 ftp551

18.40 gawk555

18.41 gcc555

18.42 GetFileInfo(仅用于macOS)558

18.43 grep559

18.44 gzip562

18.45 head564

18.46 join565

18.47 kill567

18.48 killall568

18.49 launchctl(仅用于macOS)569

18.50 less571

18.51 ln574

18.52 lpr575

18.53 ls577

18.54 make581

18.55 man585

18.56 mc587

18.57 mkdir592

18.58 mkfs593

18.59 mv594

18.60 nice596

18.61 nl597

18.62 nohup598

18.63 od598

18.64 open(仅用于macOS)601

18.65 otool(macOS)603

18.66 paste604

18.67 pax606

18.68 plutil(仅用于macOS)609

18.69 pr610

18.70 printf611

18.71 ps614

18.72 renice616

18.73 rm617

18.74 rmdir618

18.75 rsync619

18.76 scp619

18.77 screen620

18.78 sed623

18.79 SetFile(仅用于macOS)623

18.80 sleep624

18.81 sort625

18.82 split632

18.83 ssh633

18.84 sshfs/curlftpfs633

18.85 stat635

18.86 strings636

18.87 stty637

18.88 sysctl639

18.89 tail640

18.90 tar642

18.91 tee645

18.92 telnet646

18.93 test648

18.94 top650

18.95 touch652

18.96 tr653

18.97 tty655

18.98 tune2fs656

18.99 umask658

18.100 uniq659

18.101 w660

18.102 wc662

18.103 which662

18.104 who664

18.105 xargs665

第Ⅶ部分 附录669

附录A 正则表达式669

附录B 获取帮助677

附录C 更新系统681

附录D macOS注意事项691

附录E 术语表699

热门推荐