热搜关键词: 激光雷达开关电源verilog锂电池图像处理

pdf

Linux命令行与shell脚本编程大全(第4版)

  • 1星
  • 2023-11-29
  • 10.63MB
  • 需要1积分
  • 56次下载
标签: linux

linux

这是一本关于Linux命令行与shell脚本编程的全面性教程,主要包括四大部分  :Linux命令行、shell脚本编程基础、高级shell脚本编程,以及创建和管理实用的脚本。本书这一版针对Linux系统的新特性进行了全面更新,不仅涵盖了详尽的动手教程和现实世界中的实用信息,还提供了与所学内容相关的参考信息和背景资料。通过本书的学习,你能轻松写出自己的shell脚本。

本书适合Linux系统管理员及相关开发人员阅读。

第  一部分  Linux命令行

第  1  章  初识Linux  shell  2

1.1  Linux初探  2

1.1.1  深入探究Linux内核  3

1.1.2  GNU实用工具  7

1.1.3  Linux桌面环境  9

1.2  Linux发行版  13

1.2.1  核心Linux发行版  14

1.2.2  特定用途的Linux发行版  14

1.3  小结  15

第  2  章  走进shell  16

2.1  进入命令行  16

2.1.1  控制台终端  16

2.1.2  图形化终端  17

2.2  通过Linux控制台终端访问CLI  18

2.3  通过图形化终端仿真器访问CLI  20

2.4  使用GNOME  Terminal终端仿真器  21

2.4.1  访问GNOME  Terminal  21

2.4.2  菜单栏  25

2.5  使用Konsole终端仿真器  27

2.5.1  访问Konsole终端仿真器  27

2.5.2  菜单栏  29

2.6  使用xterm终端仿真器  32

2.6.1  访问xterm  33

2.6.2  命令行选项  33

2.7  小结  34

第  3  章  bash  shell基础命令  36

3.1  启动shell  36

3.2  使用shell提示符  37

3.3  与bash手册交互  37

3.4  浏览文件系统  41

3.4.1  Linux文件系统  41

3.4.2  遍历目录  44

3.5  列出文件和目录  46

3.5.1  显示基本列表  46

3.5.2  显示长列表  48

3.5.3  过滤输出列表  49

3.6  处理文件  51

3.6.1  创建文件  51

3.6.2  复制文件  51

3.6.3  使用命令行补全  53

3.6.4  链接文件  54

3.6.5  文件重命名  55

3.6.6  删除文件  57

3.7  管理目录  57

3.7.1  创建目录  57

3.7.2  删除目录  58

3.8  查看文件内容  60

3.8.1  查看文件类型  60

3.8.2  查看整个文件  61

3.8.3  查看部分文件  63

3.9  小结  64

第  4  章  更多的bash  shell命令  66

4.1  监测程序  66

4.1.1  探查进程  66

4.1.2  实时监测进程  72

4.1.3  结束进程  74

4.2  监测磁盘空间  75

4.2.1  挂载存储设备  75

4.2.2  使用df命令  78

4.2.3  使用du命令  79

4.3  处理数据文件  80

4.3.1  数据排序  80

4.3.2  数据搜索  83

4.3.3  数据压缩  85

4.3.4  数据归档  86

4.4  小结  87

第  5  章  理解shell  88

5.1  shell的类型  88

5.2  shell的父子关系  91

5.2.1  查看进程列表  95

5.2.2  别出心裁的子shell用法  96

5.3  理解外部命令和内建命令  99

5.3.1  外部命令  100

5.3.2  内建命令  101

5.4  小结  106

第  6  章  Linux环境变量  107

6.1  什么是环境变量  107

6.1.1  全局环境变量  108

6.1.2  局部环境变量  109

6.2  设置用户自定义变量  110

6.2.1  设置局部用户自定义变量  110

6.2.2  设置全局环境变量  111

6.3  删除环境变量  113

6.4  默认的shell环境变量  113

6.5  设置PATH环境变量  117

6.6  定位系统环境变量  118

6.6.1  登录shell  119

6.6.2  交互式shell进程  123

6.6.3  非交互式shell  124

6.6.4  环境变量持久化  124

6.7  数组变量  125

6.8  小结  126

第  7  章  理解Linux文件权限  127

7.1  Linux的安全性  127

7.1.1  etc  passwd文件  127

7.1.2  etc  shadow文件  129

7.1.3  添加新用户  129

7.1.4  删除用户  132

7.1.5  修改用户  132

7.2  使用Linux组  135

7.2.1  etc  group文件  135

7.2.2  创建新组  136

7.2.3  修改组  137

7.3  理解文件权限  137

7.3.1  使用文件权限符号  137

7.3.2  默认文件权限  139

7.4  更改安全设置  140

7.4.1  修改权限  140

7.4.2  改变所属关系  141

7.5  共享文件  142

7.6  访问控制列表  144

7.7  小结  145

第  8  章  管理文件系统  147

8.1  探索Linux文件系统  147

8.1.1  Linux文件系统的演进  147

8.1.2  日志文件系统  148

8.1.3  卷管理文件系统  150

8.2  使用文件系统  151

8.2.1  创建分区  151

8.2.2  创建文件系统  155

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

8.3  逻辑卷管理  158

8.3.1  LVM布局  159

8.3.2  Linux中的LVM  159

8.3.3  使用Linux  LVM  162

8.4  小结  163

第  9  章  安装软件  164

9.1  软件包管理基础  164

9.2  基于Debian的系统  165

9.2.1  使用apt管理软件包  165

9.2.2  使用apt安装软件包  167

9.2.3  使用apt升级软件  169

9.2.4  使用apt卸载软件包  170

9.2.5  apt仓库  171

9.3  基于Red  Hat的系统  173

9.3.1  列出已安装的软件包  173

9.3.2  使用dnf安装软件  174

9.3.3  使用dnf升级软件  175

9.3.4  使用dnf卸载软件  176

9.3.5  处理损坏的依赖关系  176

9.3.6  RPM仓库  176

9.4  使用容器管理软件  177

9.4.1  使用snap容器  177

9.4.2  使用flatpak容器  179

9.5  从源代码安装  180

9.6  小结  183

第  10  章  文本编辑器  185

10.1  vim编辑器  185

10.1.1  检查vim软件包  185

10.1.2  vim基础  187

10.1.3  编辑数据  189

10.1.4  复制和粘贴  189

10.1.5  查找和替换  190

10.2  nano编辑器  191

10.3  Emacs编辑器  193

10.3.1  检查Emacs软件包  193

10.3.2  在控制台中使用Emacs  194

10.3.3  在GUI中使用Emacs  199

10.4  KDE系编辑器  200

10.4.1  KWrite编辑器  200

10.4.2  Kate编辑器  204

10.5  GNOME编辑器  208

10.5.1  启动gedit  208

10.5.2  gedit的基本功能  209

10.5.3  管理插件  211

10.6  小结  213

第二部分  shell脚本编程基础

第  11  章  构建基础脚本  216

11.1  使用多个命令  216

11.2  创建shell脚本文件  217

11.3  显示消息  218

11.4  使用变量  220

11.4.1  环境变量  220

11.4.2  用户自定义变量  221

11.4.3  命令替换  222

11.5  重定向输入和输出  224

11.5.1  输出重定向  224

11.5.2  输入重定向  225

11.6  管道  226

11.7  执行数学运算  228

11.7.1  expr命令  228

11.7.2  使用方括号  230

11.7.3  浮点数解决方案  231

11.8  退出脚本  234

11.8.1  查看退出状态码  234

11.8.2  exit命令  235

11.9  实战演练  237

11.10  小结  238

第  12  章  结构化命令  239

12.1  使用if-then语句  239

12.2  if-then-else语句  242

12.3  嵌套if语句  243

12.4  test命令  246

12.4.1  数值比较  248

12.4.2  字符串比较  249

12.4.3  文件比较  253

12.5  复合条件测试  262

12.6  if-then的高级特性  263

12.6.1  使用单括号  264

12.6.2  使用双括号  265

12.6.3  使用双方括号  266

12.7  case命令  267

12.8  实战演练  268

12.9  小结  273

第  13  章  更多的结构化命令  274

13.1  for命令  274

13.1.1  读取列表中的值  275

13.1.2  读取列表中的复杂值  276

13.1.3  从变量中读取值列表  277

13.1.4  从命令中读取值列表  278

13.1.5  更改字段分隔符  279

13.1.6  使用通配符读取目录  280

13.2  C语言风格的for命令  282

13.2.1  C语言中的for命令  282

13.2.2  使用多个变量  283

13.3  while命令  284

13.3.1  while的基本格式  284

13.3.2  使用多个测试命令  285

13.4  until命令  286

13.5  嵌套循环  287

13.6  循环处理文件数据  290

13.7  循环控制  291

13.7.1  break命令  291

13.7.2  continue命令  294

13.8  处理循环的输出  296

13.9  实战演练  297

13.9.1  查找可执行文件  297

13.9.2  创建多个用户账户  299

13.10  小结  300

第  14  章  处理用户输入  301

14.1  传递参数  301

14.1.1  读取参数  301

14.1.2  读取脚本名  303

14.1.3  参数测试  305

14.2  特殊参数变量  305

14.2.1  参数统计  305

14.2.2  获取所有的数据  307

14.3  移动参数  309

14.4  处理选项  310

14.4.1  查找选项  311

14.4.2  使用getopt命令  314

14.4.3  使用getopts命令  317

14.5  选项标准化  319

14.6  获取用户输入  320

14.6.1  基本的读取  320

14.6.2  超时  322

14.6.3  无显示读取  323

14.6.4  从文件中读取  323

14.7  实战演练  324

14.8  小结  328

第  15  章  呈现数据  329

15.1  理解输入和输出  329

15.1.1  标准文件描述符  329

15.1.2  重定向错误  332

15.2  在脚本中重定向输出  333

15.2.1  临时重定向  333

15.2.2  永久重定向  334

15.3  在脚本中重定向输入  335

15.4  创建自己的重定向  336

15.4.1  创建输出文件描述符  336

15.4.2  重定向文件描述符  337

15.4.3  创建输入文件描述符  337

15.4.4  创建读  写文件描述符  338

15.4.5  关闭文件描述符  339

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

15.6  抑制命令输出  341

15.7  使用临时文件  342

15.7.1  创建本地临时文件  342

15.7.2  在  tmp目录中创建临时文件  344

15.7.3  创建临时目录  344

15.8  记录消息  345

15.9  实战演练  346

15.10  小结  348

第  16  章  脚本控制  349

16.1  处理信号  349

16.1.1  重温Linux信号  349

16.1.2  产生信号  350

16.1.3  捕获信号  352

16.1.4  捕获脚本退出  353

16.1.5  修改或移除信号捕获  354

16.2  以后台模式运行脚本  356

16.2.1  后台运行脚本  356

16.2.2  运行多个后台作业  358

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

16.4  作业控制  360

16.4.1  查看作业  360

16.4.2  重启已停止的作业  362

16.5  调整谦让度  363

16.5.1  nice命令  363

16.5.2  renice命令  364

16.6  定时运行作业  364

16.6.1  使用at命令调度作业  364

16.6.2  调度需要定期运行的脚本  368

16.7  使用新shell启动脚本  371

16.8  实战演练  372

16.9  小结  378

第三部分  高级shell脚本编程

第  17  章  创建函数  380

17.1  脚本函数基础  380

17.1.1  创建函数  381

17.1.2  使用函数  381

17.2  函数返回值  383

17.2.1  默认的退出状态码  383

17.2.2  使用return命令  384

17.2.3  使用函数输出  385

17.3  在函数中使用变量  386

17.3.1  向函数传递参数  386

17.3.2  在函数中处理变量  388

17.4  数组变量和函数  390

17.4.1  向函数传递数组  390

17.4.2  从函数返回数组  392

17.5  函数递归  392

17.6  创建库  393

17.7  在命令行中使用函数  395

17.7.1  在命令行中创建函数  395

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

17.8  实战演练  398

17.8.1  下载及安装  398

17.8.2  构建库  398

17.8.3  shtool库函数  399

17.8.4  使用库  400

17.9  小结  401

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

18.1  创建文本菜单  402

18.1.1  创建菜单布局  403

18.1.2  创建菜单函数  404

18.1.3  添加菜单逻辑  404

18.1.4  整合shell脚本菜单  405

18.1.5  使用select命令  406

18.2  创建文本窗口部件  407

18.2.1  dialog软件包  408

18.2.2  dialog选项  413

18.2.3  在脚本中使用dialog命令  415

18.3  图形化窗口部件  417

18.3.1  KDE环境  417

18.3.2  GNOME环境  420

18.4  实战演练  424

18.5  小结  427

第  19  章  初识sed和gawk  428

19.1  文本处理  428

19.1.1  sed编辑器  428

19.1.2  gawk编辑器  431

19.2  sed编辑器基础命令  437

19.2.1  更多的替换选项  437

19.2.2  使用地址  438

19.2.3  删除行  441

19.2.4  插入和附加文本  443

19.2.5  修改行  445

19.2.6  转换命令  446

19.2.7  再探打印  447

19.2.8  使用sed处理文件  449

19.3  实战演练  451

19.4  小结  456

第  20  章  正则表达式  457

20.1  正则表达式基础  457

20.1.1  定义  457

20.1.2  正则表达式的类型  458

20.2  定义BRE模式  459

20.2.1  普通文本  459

20.2.2  特殊字符  460

20.2.3  锚点字符  461

20.2.4  点号字符  463

20.2.5  字符组  464

20.2.6  排除型字符组  466

20.2.7  区间  466

20.2.8  特殊的字符组  467

20.2.9  星号  468

20.3  扩展正则表达式  469

20.3.1  问号  469

20.3.2  加号  470

20.3.3  花括号  470

20.3.4  竖线符号  472

20.3.5  表达式分组  472

20.4  实战演练  473

20.4.1  目录文件计数  473

20.4.2  验证电话号码  474

20.4.3  解析email地址  476

20.5  小结  477

第  21  章  sed进阶  478

21.1  多行命令  478

21.1.1  next命令  479

21.1.2  多行删除命令  482

21.1.3  多行打印命令  482

21.2  保留空间  483

21.3  排除命令  485

21.4  改变执行流程  487

21.4.1  分支  487

21.4.2  测试  489

21.5  模式替换  490

21.5.1  &符号  491

21.5.2  替换单独的单词  491

21.6  在脚本中使用sed  492

21.6.1  使用包装器  492

21.6.2  重定向sed的输出  493

21.7  创建sed实用工具  494

21.7.1  加倍行间距  494

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

21.7.3  给文件中的行编号  495

21.7.4  打印末尾行  496

21.7.5  删除行  498

21.7.6  删除HTML标签  500

21.8  实战演练  502

21.9  小结  506

第  22  章  gawk进阶  508

22.1  使用变量  508

22.1.1  内建变量  508

22.1.2  自定义变量  514

22.2  处理数组  515

22.2.1  定义数组变量  515

22.2.2  遍历数组变量  516

22.2.3  删除数组变量  517

22.3  使用模式  517

22.3.1  正则表达式  517

22.3.2  匹配操作符  518

22.3.3  数学表达式  519

22.4  结构化命令  519

22.4.1  if语句  519

22.4.2  while语句  521

22.4.3  do-while语句  522

22.4.4  for语句  523

22.5  格式化打印  523

22.6  内建函数  526

22.6.1  数学函数  526

22.6.2  字符串函数  527

22.6.3  时间函数  529

22.7  自定义函数  529

22.7.1  定义函数  529

22.7.2  使用自定义函数  530

22.7.3  创建函数库  530

22.8  实战演练  531

22.9  小结  532

第  23  章  使用其他shell  534

23.1  什么是dash  shell  534

23.2  dash  shell的特性  535

23.2.1  dash命令行选项  535

23.2.2  dash环境变量  536

23.2.3  dash内建命令  538

23.3  dash脚本编程  539

23.3.1  创建dash脚本  539

23.3.2  不能使用的特性  539

23.4  zsh  shell  541

23.5  zsh  shell的组成  542

23.5.1  shell选项  542

23.5.2  内建命令  543

23.6  zsh脚本编程  546

23.6.1  数学运算  547

23.6.2  结构化命令  548

23.6.3  函数  549

23.7  实战演练  549

23.8  小结  550

第四部分  创建和管理实用的脚本

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

24.1  备份  552

24.1.1  日常备份  552

24.1.2  创建按小时归档的脚本  559

24.2  删除账户  562

24.2.1  功能需求  562

24.2.2  创建脚本  570

24.2.3  运行脚本  575

24.3  系统监控  577

24.3.1  获得默认的shell审计功能  577

24.3.2  权限审计功能  581

24.3.3  创建脚本  582

24.3.4  运行脚本  585

24.4  小结  586

第  25  章  井井有条  588

25.1  理解版本控制  588

25.1.1  工作目录  589

25.1.2  暂存区  590

25.1.3  本地仓库  590

25.1.4  远程仓库  590

25.1.5  分支  590

25.1.6  克隆  591

25.1.7  使用Git作为VCS  591

25.2  设置Git环境  591

25.3  使用Git提交文件  595

25.4  小结  601

附录  A  bash命令快速指南  602

附录  B  sed和gawk快速指南  612

展开预览

猜您喜欢

推荐帖子 最新更新时间:2024-10-14 10:34

电磁功能复合材料在雷达天线罩的应用
作者:彭华新,教授、浙江大学;秦发祥,研究员、浙江大学   电磁功能复合材料按应用领域和功能特性可以分为电磁屏蔽、电磁感应和超复合材料三大类。电磁屏蔽功能复合材料是指通过对复合材料的结构参数的设计,如层数、功能相体积分数等,对电磁波以大部分吸收或反射的形式实现屏蔽和电磁防护的效果,例如军事用雷达天线罩等。同样,利用含量较少功能相对外场灵敏的响应可以实现其复合材料在弱
btty038 RF/无线
数字电路和数字系统:实验与课程设计实训教程
《数字电路和数字系统实验与课程设计实训教程》根据国家教育部高等学校电子信息科学与电气信息类基础课程教学指导分委员会提出的“数字电路与逻辑设计”课程教学基本要求,以及可编程逻辑器件(PLD)的实际应用而编写。全书共分为3章,第1章为数字逻辑基础实验,包含20项中小规模数字电路分析与设计的基础实验内容;第2章为数字电路与系统课程设计,介绍了专用集成电路设计和在系统编程技术,第3章主要介绍高密度可编程器
arui1999 下载中心专版
请求大家帮忙看看,我写AVR 片内EEPROM程序,为何不能写整形数据到EEPROM中?
/*********片内EEProm_Byte写函数**************/ void Write_EEP_Byte(unsigned int uiEEP_Add ,unsigned char ucEEP_Byte) {   while(EECR & (1<<EEWE))     //等待写完成   EEAR=uiEEP_Add;             //地址送入   EEDR
hbxfluo 51单片机
【Nucleo心得】+让您学习STM32 Nucleo 更精彩!
【Nucleo心得】+让您学习STM32 Nucleo 更精彩! STM32 Nucleo板载ST-LINK调试器,同时该调试器扩展扩展虚拟串口,下面通过硬件,软件学习下如何把它利用起来! 1、硬件 找到板子背面SB62,SB63,短路这 2处。     左下角,   焊好后,右上角 硬件说明:USART2-PA2=ST-LINK-RX,USART2-PA3 =ST-LINK-TX
蓝雨夜 stm32/stm8
FAQ:平台固件的安全弹性 |Microchip 安全解决方案系列研讨会 第8场
直播主题:平台固件的安全弹性 |Microchip 安全解决方案系列研讨会 第8场   内容简介:您的系统是通过SPI闪存引导的?在引导过程中和固件升级期间,您是如何保护您的系统免遭不测的?您的系统如何检测受损的闪存文件并从中恢复?本场研讨会探讨了有关平台固件安全弹性的NIST 800-193指南。   直播讲师:徐波(Barry Xu)   FAQ详情:
EEWORLD社区 嵌入式系统
【零知ESP8266】教程:OLED天气时钟
本文演示通过OLED显示时钟和天气情况,主要利用的是openweathermap的免费天气API。 1、硬件准备 (1)零知ESP8266开发板 (2)OLED SSD1306模块 (3)若干杜邦线 2、电路连接 接线很简单,I2C接口对应连接即可: 接好后实物图如下: 2、软件代码 使用零知开发工具,使用了OLED和WeatherStation相关的
roc2 DIY/开源硬件专区
【R7F0C809】自动灌溉控制器产品展示
自动灌溉设计软硬原理图1 功能介绍本设计是一种阳台蔬菜种植自动灌溉控制器,通过检测土壤含水量的变化,自动控制电动机打开或关闭水阀,使水渗入土中,以种植可供食用的蔬菜。所述的自动灌溉控制器以R7F0C809低功耗微处理器为核心,通过模拟端口检测土壤的电阻率来判断土壤的含水量,当土壤干燥缺水时,土壤电阻率逐渐增大,达到设定的数值后,微处理器通过输出端口驱动电动机转动,控制水阀打开,给种植土土壤供水。供
fyaocn 瑞萨电子MCU
迅为4412开发板Linux驱动教程——总线_设备_驱动注册流程详解
视频下载地址:驱动注册:http://pan.baidu.com/s/1i34HcDB设备注册:http://pan.baidu.com/s/1kTlGkcR 总线_设备_驱动注册流程详解• 注册流程图 • 设备一般都需要先注册,才能注册驱动– 现在越来越多的热拔插设备,反过来了。先注册驱动,设备来了再注册设备• 本节使用的命令– 查看总线的命令#ls /sys/bus/– 查看设备号的命令
topeet ARM技术

评论

登录/注册

意见反馈

求资源

回顶部

推荐内容

热门活动

热门器件

随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
×