当前位置:首页 > 操作系统 >
《Linux Bash编程与脚本应用实战》电子书封面

Linux Bash编程与脚本应用实战

  • 发布时间:2019年12月01日 18:06:23
  • 作者:马玉军,郝军
  • 大小:77.1 MB
  • 类别:Linux电子书
  • 格式:PDF
  • 版本:高清版
  • 评分:7.8
  • Linux/UNIX系统编程手册(上、下册)Linux/UNIX系统编程手册(上、下册)
  • 剑指Offer:名企面试官精讲典型编程题剑指Offer:名企面试官精讲典型编程题
  • C专家编程C专家编程
  • Java并发编程的艺术Java并发编程的艺术
  • Linux大棚命令百篇(上):文件和文本篇Linux大棚命令百篇(上):文件和文本篇
  • Linux运维最佳实践Linux运维最佳实践
  • 深度学习:主流框架和编程实战深度学习:主流框架和编程实战
  • C高级编程:基于模块化设计思想的C语言开发C高级编程:基于模块化设计思想的C语言开发
  • Linux Bash编程与脚本应用实战 PDF 高清版

      给大家带来的一篇关于Linux相关的电子书资源,介绍了关于Linux、Bash、编程、脚本应用方面的内容,本书是由清华大学出版社出版,格式为PDF,资源大小77.1 MB,马玉军,郝军编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:9.8。

      内容介绍

      Linux Bash编程与脚本应用实战》从实际的应用场景出发,深入浅出地介绍了编写 Shell脚本所包含的各项常用技术,使读者在不知不觉中就能掌握 Shell脚本的编写和使用技巧,是 Shell脚本编程开发初学者的绝佳首选。

      目录

      • 第1章学习Shell的背景知识——Linux系统.1
      • 1.1Linux系统基础1
      • 1.1.1Linux系统的发展.1
      • 1.1.2Linux系统和Windows系统的区别2
      • 1.1.3Linux的启动过程.2
      • 1.2Linux文件系统基础介绍5
      • 1.2.1必须了解的节点inode6
      • 1.2.2Linux系统文件结构.7
      • 1.3学会Linux系统的基本使用.10
      • 1.3.1系统的登录与退出10
      • 1.3.2系统基本选项配置12
      • 1.3.3文本编辑器的使用13
      • 1.4走进Shell.18
      • 1.4.1什么是Shell.19
      • 1.4.2Shell在Linux系统中的作用.19
      • 1.4.3Shell的种类.20
      • 1.5小结.21
      • 第2章迈出Shell脚本编程第一步22
      • 2.1Shell脚本语言概述.22
      • 2.1.1Shell脚本语言的定义.22
      • 2.1.2Shell终端的基本使用.23
      • 2.1.3Shell终端菜单的使用.23
      • 2.2Shell命令格式介绍.24
      • 2.2.1Shell命令格式.24
      • 2.2.2命令行界面介绍25
      • 2.2.3如何获取帮助26
      • 2.3第一个Shell程序:Hello,BashShell!28
      • 2.3.1创建Shell脚本28
      • 2.3.2Shell脚本中的格式介绍.31
      • 2.3.3如何执行Shell程序32
      • 2.4小结.33
      • 第3章Shell常用命令大演练34
      • 3.1Shell命令使用基础.34
      • 3.1.1文件类型34
      • 3.1.2绝对路径和相对路径35
      • 3.1.3文件属性和文件权限36
      • 3.1.4用户和用户组36
      • 3.1.5特殊目录介绍39
      • 3.2用户和用户组管理.40
      • 3.2.1用户管理常用命令40
      • 3.2.2用户组管理常用命令43
      • 3.2.3其他常用命令45
      • 3.3文件和目录操作.48
      • 3.3.1文件操作常用命令48
      • 3.3.2目录操作常用命令52
      • 3.3.3文件权限管理常用命令56
      • 3.3.4查找文件常用命令58
      • 3.4系统管理相关.60
      • 3.4.1网络操作常用命令60
      • 3.4.2系统资源管理常用命令63
      • 3.4.3磁盘信息查看常用命令66
      • 3.5小结.67
      • 第4章Shell脚本中的变量68 [2]
      • 4.1变量的简单使用.68
      • 4.1.1变量的使用68
      • 4.1.2变量的输入和输出70
      • 4.1.3变量的输出命令echo.74
      • 4.2Shell中特殊变量的使用.78
      • 4.2.1位置参数介绍78
      • 4.2.2$@和$*的区别79
      • 4.3环境变量的使用.80
      • 4.3.1Shell中的环境变量.80
      • 4.3.2环境变量的配置文件83
      • 4.3.3全局环境变量和本地环境变量86
      • 4.3.4环境变量的设定87
      • 4.3.5环境变量的取消89
      • 4.4小结.89
      • 第5章Shell脚本中的特殊符号.90
      • 5.1引号的使用.90
      • 5.1.1单引号的使用90
      • 5.1.2双引号的使用91
      • 5.1.3倒引号的使用92
      • 5.2通配符和元字符.93
      • 5.2.1使用通配符93
      • 5.2.2使用元字符96
      • 5.3管道.99
      • 5.4其他特殊字符介绍.100
      • 5.4.1后台运行符100
      • 5.4.2括号101
      • 5.4.3分号103
      • 5.5小结.103
      • 第6章Linux中的文件处理.105
      • 6.1Linux中的文件类型105
      • 6.1.1设备文件106
      • 6.1.2设备文件的挂载和卸载107
      • 6.1.3链接文件111
      • 6.1.4文件描述符113
      • 6.2标准输入、输出与错误.114
      • 6.2.1标准输入114
      • 6.2.2标准输出和标准错误114
      • 6.3重定向.114
      • 6.3.1重定向的定义115
      • 6.3.2输入重定向115
      • 6.3.3输出重定向117
      • 6.4合并标准输出和标准错误119
      • 6.5小结.120
      • 第7章Shell脚本中的分支结构.121
      • 7.1测试命令的使用.121
      • 7.1.1测试命令的基础结构121
      • 7.1.2测试文件类型123
      • 7.1.3测试字符串127
      • 7.1.4测试数值128 [2]
      • 7.1.5复合测试条件129
      • 7.2if分支结构.131
      • 7.2.1if-then结构.131
      • 7.2.2if-then-else结构132
      • 7.2.3嵌套结构134
      • 7.3case多条件分支结构.136
      • 7.3.1case结构基础137
      • 7.3.2在Shell脚本中使用case结构.138
      • 7.3.3select命令的使用139
      • 7.4小结.140
      • 第8章Shell中的循环结构142
      • 8.1for循环.142
      • 8.1.1使用for-in结构.142
      • 8.1.2C式for结构.145
      • 8.2while命令的使用.148
      • 8.2.1使用while结构.148
      • 8.2.2多条件的while结构.149
      • 8.2.3使用until命令149
      • 8.3命令的嵌套.151
      • 8.3.1for命令的嵌套151
      • 8.3.2while命令的嵌套154
      • 8.3.3until命令的嵌套.156
      • 8.4循环控制符.157
      • 8.4.1使用break中断.157
      • 8.4.2使用continue继续159
      • 8.5小结.160
      • 第9章Shell中的函数.162
      • 9.1函数的基本用法.162
      • 9.1.1函数的创建与使用162
      • 9.1.2函数的参数164
      • 9.2函数的返回值.165
      • 9.2.1返回值基础165
      • 9.2.2函数的默认返回值166
      • 9.2.3return命令的使用.167
      • 9.2.4使用函数的返回值168
      • 9.3函数中的全局变量和局部变量169
      • 9.3.1全局变量169
      • 9.3.2局部变量170
      • 9.4数组与函数.171
      • 9.4.1数组作为函数参数171
      • 9.4.2数组作为函数返回值172
      • 9.5脚本函数递归.173
      • 9.6函数的嵌套调用.174
      • 9.7小结.176
      • 第10章Shell脚本编写技巧177
      • 10.1脚本编写规范.177
      • 10.1.1命名规范177
      • 10.1.2注释风格178
      • 10.1.3其他需要注意的规范180
      • 10.2脚本优化.181
      • 10.2.1Shell脚本优化原则.181
      • 10.2.2提供足够的提示信息182
      • 10.3脚本使用技巧.184
      • 10.3.1命令选项说明184
      • 10.3.2算术运算184
      • 10.3.3高级算术运算187
      • 10.4小结.188
      • 第11章正则表达式189
      • 11.1正则表达式基础.189
      • 11.1.1正则表达式的定义189
      • 11.1.2正则表达式的分类190
      • 11.2基本正则表达式的常用符号190
      • 11.2.1使用点字符匹配单字符190
      • 11.2.2使用定位符191
      • 11.2.3使用“*”匹配字符串中的单字符或其重复序列193
      • 11.2.4使用“\”屏蔽一个特殊字符的含义.194
      • 11.3扩展正则表达式的常用符号195
      • 11.3.1使用“[]”匹配一个范围或集合.195
      • 11.3.2使用“\{\}”匹配模式结果出现的次数196
      • 11.3.3问号的使用197
      • 11.4小结.197
      • 第12章Shell中的文本搜索工具——grep家族199
      • 12.1grep的基础使用199
      • 12.1.1grep命令的基本使用方式199
      • 12.1.2grep选项200
      • 12.1.3行数201
      • 12.1.4大小写敏感202
      • 12.1.5显示非匹配行203
      • 12.1.6查询多个文件或多个关键字205
      • 12.2grep和正则表达式206
      • 12.2.1模式范围以及范围组合206
      • 12.2.2定位符的使用207
      • 12.2.3字符匹配208 [2]
      • 12.2.4模式出现几率209
      • 12.2.5匹配特殊字符210
      • 12.3grep命令的扩展使用211
      • 12.3.1类名的使用211
      • 12.3.2egrep命令的使用212
      • 12.3.3fgrep命令的使用213
      • 12.4grep命令使用实例214
      • 12.4.1目录搜索——查找特定目录或文字214
      • 12.4.2使用ps命令检索特定的进程215
      • 12.5小结.216
      • 第13章sed编程217
      • 13.1认识sed217
      • 13.1.1sed工作模式.217
      • 13.1.2sed常用指令.218
      • 13.1.3sed常用选项.219
      • 13.1.4sed地址范围.220
      • 13.2sed编辑器常用命令221
      • 13.2.1替换命令的使用221
      • 13.2.2删除命令的使用223
      • 13.2.3文本的添加和替换224
      • 13.3高级sed编程.225
      • 13.3.1同时处理多行数据225
      • 13.3.2sed编辑器的空间.226
      • 13.3.3sed编辑器的反向.227
      • 13.3.4重定向sed的输出228
      • 13.4小结.229
      • 第14章gawk编程230
      • 14.1gawk概述.230
      • 14.1.1gawk基本介绍230
      • 14.1.2gawk基本使用232
      • 14.2变量的使用.234
      • 14.2.1内置变量的使用234
      • 14.2.2自定义变量的使用236
      • 14.2.3数组的使用237
      • 14.3结构的使用.238
      • 14.3.1条件结构的使用238
      • 14.3.2循环结构的使用241
      • 14.3.3循环结构控制语句243
      • 14.4函数的使用.244
      • 14.4.1算术函数的使用244
      • 14.4.2字符串处理函数的使用246
      • 14.4.3时间函数的使用247
      • 14.5小结.249
      • 第15章脚本控制250
      • 15.1Linux信号控制250
      • 15.1.1Linux信号机制简介.250
      • 15.1.2使用Shell脚本操作信号252
      • 15.2进程的控制.254
      • 15.2.1后台运行符介绍254
      • 15.2.2运行进程的控制255
      • 15.2.3nohup命令的使用.257
      • 15.3脚本运行的优先级.258
      • 15.3.1优先级介绍258
      • 15.3.2使用nice指定优先级.259
      • 15.3.3使用renice重置优先级260
      • 15.4小结.261
      • 第16章脚本运行的优化.262
      • 16.1添加窗口.262
      • 16.1.1dialog软件的安装.262
      • 16.1.2dialog命令的帮助选项.263
      • 16.1.3dialog命令的使用.264
      • 16.2dialog常用窗口的使用.268
      • 16.2.1消息窗口268
      • 16.2.2yesno窗口.269
      • 16.2.3文本框的使用271
      • 16.2.4菜单的使用272
      • 16.3颜色的使用.273
      • 16.4创建菜单.276
      • 16.4.1在Shell脚本中创建菜单277
      • 16.4.2创建子菜单函数278
      • 16.4.3脚本的整合279
      • 16.5小结.280
      • 第17章Shell实战之系统管理281
      • 17.1系统监测.281
      • 17.1.1系统监控基础281
      • 17.1.2Ubuntu自带的系统监控工具.284
      • 17.1.3监控脚本的编写286
      • 17.2计划任务的实现.287
      • 17.2.1at命令的使用287
      • 17.2.2atq命令的使用292
      • 17.2.3cron的使用293
      • 17.3网络管理.295
      • 17.3.1网络配置295
      • 17.3.2服务器的安装299
      • 17.4日志管理.301
      • 17.4.1日志简介302
      • 17.4.2守护进程syslogd.303
      • 17.4.3日志的备份操作305
      • 17.4.4日志的定时操作306
      • 17.5小结.307
      • 第18章Shell实战之数据库操作.308
      • 18.1Linux系统中的数据库308
      • 18.1.1SQLite简介.308
      • 18.1.2SQLite的图形化操作.311
      • 18.1.3MySQL简介314
      • 18.2SQL语句316
      • 18.2.1SQL语言基本介绍.316
      • 18.2.2基本的SQL操作317
      • 18.2.3在Shell脚本中执行SQL语句319
      • 18.3图书管理系统中数据库操作实例320
      • 18.3.1数据库操作基本流程321
      • 18.3.2创建表321
      • 18.3.3增加图书信息322
      • 18.3.4修改图书信息323
      • 18.3.5删除图书信息324
      • 18.4小结.324 [2]

      学习笔记

      如何给ss bash 写一个 WEB 端查看流量的页面

      由于刚毕业的穷大学生,和朋友合租了一台服务器开了多个端口提供 ss 服务,懒得配置 ss-panel,就使用了 ss-bash 来监控不同端口的流量,但每次都要等上服务器才能看到流量使用情况,很麻烦,于是就写了个简单的页面来提供 WEB 访问。 JavaScript 版本 用 crontab 定时把流量记录文件复制到 WEB 目录下,写个 JS 脚本作数据处理。 function successFunction(data) { var allRows = data.split(/\r?\n|\r/); var table = 'table class="table table-hover" '; for (var singleRow = 0; singleRow allRows.length; singleRow++) { if (singleRow === 0) { table += 'thead'; table += 'tr'; } else { table += 'tr'; } var rowCells = allRows[singleRow].split(','); for (var rowCell = 0; rowCell rowCells.length; rowCell++)……

      检查mysql是否成功启动的方法(bat+bash)

      很多朋友更喜欢windows下面的可以参考下面的代码 第一种方法:也比较普遍的方法,包括rsync、serv_u等都可以,通过查找进程中的exe文件,例如mysql就是mysqld.exe @echo off for /f "usebackq" %%i in (`"tasklist|find /c "mysqld.exe""`) do ( set chkstat=%%i ) if %chkstat% == 0 ( net start mysqlecho ================ %date:~0,10%.log echo %date% %time% check mysql service stop %date:~0,10%.log echo restart mysql service! %date:~0,10%.log echo ================ %date:~0,10%.log ) 第二种方法: @echo offfor /f "skip=3 tokens=4" %%i in ('sc query mysql') do set "zt=%%i" gt; $EMAILMESSAGEecho "when we were expected $expected" $EMAILMESSAGE# send an email using /bin/mailmail -s "$SUBJECT" "$EMAIL" $EMAILMESSAGE sudo /etc/init.d/mysql restartfi 方法二……

      python 捕获 shell/bash 脚本的输出结果实例

      #!/usr/bin/python ## get subprocess module import subprocess ## call date command ## p = subprocess.Popen("date", stdout=subprocess.PIPE, shell=True) ## Talk with date command i.e. read data from stdout and stderr. Store this info in tuple ## Interact with process: Send data to stdin. Read data from stdout and stderr, ## until end-of-file is reached.Wait for process to terminate. The optional input ## argument should be a string to be sent to the child process, or None, ## if no data should be sent to the child. ## (output, err) = p.communicate() ## Wait for date to terminate. Get return returncode ## p_status = p.wait() print "Command output : ", output print "Command exit status/return code : ", p_status ## from: http://www.cyberciti.biz/faq/python-run-external-command-and-get-output/ 以上……

      解决bash: mysql: command not found 的方法

      root@DB-02 ~]# mysql -u root -bash: mysql: command not found 原因:这是由于系统默认会查找/usr/bin下的命令,如果这个命令不在这个目录下,当然会找不到命令,我们需要做的就是映射一个链接到/usr/bin目录下,相当于建立一个链接文件。 首先得知道mysql命令或mysqladmin命令的完整路径,比如mysql的路径是:/usr/local/mysql/bin/mysql,我们则可以这样执行命令: # ln -s /usr/local/mysql/bin/mysql /usr/bin 以下是补充: linux下,在mysql正常运行的情况下,输入mysql提示: mysql command not found 遇上-bash: mysql: command not found的情况别着急,这个是因为/usr/local/bin目录下缺失mysql导致,只需要一下方法建立软链接,即可以解决: 把mysql安装目录,比……

      以上就是本次介绍的Linux电子书的全部相关内容,希望我们整理的资源能够帮助到大家,感谢大家对码农之家的支持。

      上一篇:一本书读懂TCP/IP

      下一篇:Android开发实战:从学习到产品

      展开 +

      收起 -

      • 《Linux Bash编程与脚本应用实战》PDF下载

      Linux相关电子书
      Python Linux系统管理与自动化运维
      Python Linux系统管理与自动化运维 高清扫描版

      很多工程师学习Python,学完就忘,忘了再学,循环往复,就是因为实践不充分导致的。本书包含了大量的实战案例,可以很好地作为Python的进阶教材,读者也可以举一反三,编写自己的管理程序

      立即下载
      鸟哥的Linux私房菜:基础学习篇
      鸟哥的Linux私房菜:基础学习篇 第4版

      畅销Linux入门书升级版 鸟哥教你从入门到精通 适用Linux系统应用和开发及运维的人员 涵盖linux内核 命令行 嵌入式 Shell与Shell Scripts技巧精粹 基于CentOS 7.x

      立即下载
      Kali Linux高级渗透测试
      Kali Linux高级渗透测试 影印第2版

      这本书介绍如何使用Kail Linux 对网络、系统、应用执行渗透测试,全面、系统阐释Kali Linuux网络渗透测试工具、方法和实践;从攻击者的角度来审视网络框架,详细介绍攻击者“杀链”采取的具体步骤,包含大量实例

      立即下载
      嵌入式Linux软硬件开发详解
      嵌入式Linux软硬件开发详解 高清版

      本书全面介绍了嵌入式Linux系统开发过程中,从硬件设计到系统移植、软件开发的各方面内容,包含硬件设备的设计原理(囊括了常见硬件,如RAM、Flash、UART、USB、LCD和电源管理等)、Linux操作

      立即下载
      Linux系统移植
      Linux系统移植 影印第2版

      本书通过15个典型案例,全面、系统、深入地剖析Linux系统移植的方法,适合嵌入式Linux系统入门人员、Linux系统开发和移植、系统分析师等相关人员阅读

      立即下载
      树莓派开始,玩转Linux
      树莓派开始,玩转Linux 全格式版

      本书以树莓派基础工具,讲解Linux操作系统。树莓派是近年来流行的微型电脑,能用于各种有趣的硬件开发

      立即下载
      深入理解linux内核
      深入理解linux内核 完整第三版 立即下载
      Linux/UNIX系统编程手册(上、下册)
      Linux/UNIX系统编程手册(上、下册) 全书完整版 立即下载
      读者留言
      32019341

      32019341 提供上传

      资源
      35
      粉丝
      27
      喜欢
      132
      评论
      6

      Copyright 2018-2020 xz577.com 码农之家

      本站所有电子书资源不再提供下载地址,只分享来路

      版权投诉 / 书籍推广 / 赞助:QQ:520161757