shell从入门到精通pdf

所需积分/C币:35 2017-11-28 15:18:53 1.89MB PDF
收藏 收藏
举报

关于本文档 文档名称 Shell 从入门到精通 腾讯课堂直播 http://opsdev.ke.qq.com 博客 http://lizhenliang.blog.51cto.com GitHub https://github.com/lizhenliang/Shell-Python-Document QQ 技术群 323779636(Shell/Python 运维开发群) 说明 本文档均为个人经验总结,转发请保留出处,抵制不道德行为。 文档会不定期修改或新增知识点,请关注群状态。 最后更新时间 2017-04-24
目录 第一章 Shell基础知识 1.1 Shell简介 1.2 Shell基木分两大类 1.3第一个She11脚本 1.4 Shell变量… 1.5变量引用 12 6双引号和单引号 :·:::.::::::::a::::::: 1.7注释 144 第二章 Shell字符串处理之${}..,,,114 2.1获取字符串长度 14 2.2字符串切片… ……14 2.3替换字符串…1 2.4字符串截取 2.5变量状态赋值……… 16 2.6字符串颜色 16 第三章 Shell表达式与运算符, 17 3.1条件表达式 17 3.2整数比较符…18 3.3字符串比较符 18 3.4文件测试… a.::::::::: a..8..:a::::::: .::::::::::a::·.::a:::::::: 19 3.5布尔运算符… L9 3.6逻辑判断符. 自自,自音。着·音着自 20 3.7整数运算. .::.:::::: 20 3.8其他运算工具(1ct/cxpr/bc) 21 3.9 Shell括号用途总结…… 22 第四章She11流程控制.. 4.1if语句 23 4.2for语句 25 4.3 while语句… ∴26 4.4 break和 continue语句 .28 4.5case语句 音·音。,着着 29 4.6 select语句 30 第五章She1l函数与数组 ..............32 5.1函数 ...::::.:.::::::: 32 5.2数组 33 第六章Shel1正则表达式 35 第七章 Shell文本处理三剑客.. ●····●·鲁鲁··,哥····●。垂····b鲁香·香哥看·· ,,,38 7.⊥grep ·t 7.2 sed 42 7.2.1匹配打印(p) 7.2.2匹配删除(d) 45 7.2.3替换(s//) 46 7.2.4多重编辑(-e) .49 7.2.5添加新内容(a、i和c) 50 7.2.6读取文件并追加到匹配行后(r)… 51 7.2.7将匹配行写到文件(w) 52 7.2.8读取下一行(n和N)… 52 7.2.9打印和删除模式空间第一行(P和D) ::::::.aa.a...:::::::.::a:a:.:::::::::..: 55 7.2.10保持空间操作(h与H、g与G和x) 7.2.11标签(:、b和t) a:.::::::::: 57 7.2.12忽略大小写匹配(I). 58 7.2.13获取总行数(#) 58 8.3 awk 58 8.3.1选项 自自D非:非非着 59 8.3.2模式 60 8.3.3内置变量. .65 8.3.4操作符. a.::::::::::a:. ID:::::.:::: 80000800.aa.::::::::::: 800088000:::::::: 8008000 aaa::::.::::::a.:a 69 8.3.5流程控制 73 8.3.6数组 ::::::::.:.::..:::::::::::a.·:.a·B.:::::::::a.a:a. 76 8.3.7内置函数 8.3.8I/0语句 84 8.3.9 printf语句. 87 8.3.10自定义函数 ∴88 8.3.11需求案例 88 第八章She11标准输入、翰出和错误 幽画 94 8.1标准输入、输出和错误 94 8.2重定向符号 94 8.3重定向输出… :::::aaaa:a::::::::a· 94 8.4重定向输入 95 8.5重定向标准输出和标准错误∴…. 86重定向到空设备 .96 8.7read命令. 96 第九章She11信号发送与捕捉 9.1 Linux信号类型 98 9.2kill命令 100 9.3trap命令. 100 第十章 Shell编程时常用的系统文件 ,,,,,102 10.1 Linux系统日录结构 .102 10.2环境变量文件.… 102 10.3系统配置文件. 103 10.4/dev日录… 104 10.5/proc日录 104 10.5.1/proC.… :::::::a.:..:::::::::::a:a 104 10.5.2/proc/net .105 10.5.3/proc/sys 1,· 105 第十一章She11常用命令与工具. ,,108 11.11s… ·翻着4 108 11 108 11.3 printf 109 11. 4 cat 110 11.5tac. ..· 110 11.6rev..,…111 11. 111 11.8 cp ::::::::··:.:a.:::::::::::aa·:a.a_:aB::::::::::aa·:a.::: 111 1.9 mkdir 112 11.10mv. ∴112 L⊥.⊥1 rename. ..112 11.12 dirnamc 112 11.13 basename… 113 11.14du ,自音,D 11.15cut 11.16tr .114 11. 17 stat 着·非·着·日D 115 11.18 11.19shuf, 116 11.20sort. 116 11.21unig… 着着·,自 ::::::::·:::.:::::::..:·::.·a 117 11. 22 tee ·t 11.23j0in. 118 1.24 paste… 119 11.25hcad. 120 11.26 tail 120 11.27find. .120 11.28 xargs 121 29 nI 122 11. 30 date 122 11.31wget. 124 11.32cur1 126 1⊥.33scp. .127 1.34 rsync.......... :.:::::::::a 1,· 127 11. 35 nohup ,,, 12 28 11.36 iconv ·翻着4·音看 128 11.37 uname 1129 11. 38 sshpass 129 11.39tar, 130 11. 40 logger 130 11.41 netstat… ::....:a.a::.:::::::: 130 11.42ss 131 11.431so且.……… 132 133 11.45top. ∴134 L⊥.46free 134 11.47df 135 11. 48 vmstat 135 11.49 iostat 135 11.50sar.… 136 11.51 dstat .136 11.52ip. I80080008D:::::: I800000::::::::::aaaa:::::.::::a 137 11.53n 138 11.54 time 139 11.55 eval …139 1.56 ssh ::::::::.::::.::::.: ··自者日。日着 140 11. 57 iptables. ·1 41 第十二章 Shell脚本编写实战 ,,,144 12.1获取随机字符串或数字 144 12.2定义一个颜色输出字符串函数. 145 12.3批量创建用广 145 12.4检查软件包是否安装 .146 12.5检查服务状态 146 12.6检查主机存活状态 .146 12.7监控CPU、内存和硬盘利用率…….. ∴148 12.8批量主机磁盘利用率监控…… 149 12.9检查网站可用性 149 12.10检查 MYSQL主从同步状态 .151 12.11所蔽访问频繁的IP ∴151 12.2判断输入是否为IP .152 12.13判断输入是否为数字. 154 12.14找出包含关键字的文件 1154 12.15监控目录,将新创建的文件名追加到日志中 1154 12.16多个网卡选择 154 12.17查看网卡实时流量 155 12.18 My SQL数据库备份 ,着自自·自垂着看·,·自着自,.·音自·自带 156 12.19 nginx启动脚本 157 12.20选择SSH连接主机…. a:::::::::a.aa:aaaa:::::::aaa .II.I...I...... 158 12.2lFTP下载文件. 159 12.22输入五个100数之内的字符,统计和、最小和最大 159 12.23将结果分别赋值给变量 ..160 12.24批量修改文件…… 161 12.25统计当前目录中以.htm1结尾的文件总大小 161 12.26扫描主机端口状态 a::::::::::: 161 12.27 Expect实现SSH免交互执行命令 162 12.28批量修改服务器用户密码 163 12.29打印乘法口诀… 164 12.30 getopts工具完善脚本命令行参数 164 第一章She1l基础知识 1.1She11简介 Shel1是一个C语言编写的脚本语言,它是用户与 Linux的桥梁,用户输入命令交给 Shell处理, Shell将相应的操作传递给内核( Kernel),内核把处理的结果输岀给用户。 下面是流程示意图 用户 命令 解析命令 并传递给内核 She‖ 执行动作 Kerne Shell既然是工作在 Linux内核之上,那我们也有必要了解下 Linux相关知识 Linux是·套免费试用和自由传播的类Unix操作系统,是一个基于 POSIX和UNⅠX的多用户、多任 务、支持多线程和多CP的操作系统。 1983年9月27日, Richard stallman(理查德马修-斯托曼)发起GNU计划,它的目标是创建 套完仝自由的操作系统。为保证GWU软件可以自由的使用、复制、修改和发布,所有的GNU软件都 有一份在禁止其他人添加任何限制的情况下授权所有权利给仁何人的协议条款,GNU通用公共许可 证( GnU General plubic License,GPL),说白了就是不能做商业用途。 GNU是" gnu is Not unix"的递归缩写。UNIX是一种广泛使用的商业操作系统的名称。 1985年, Richard stallman又创立了自由软件基金会( Free software foundation,FSF)来为 GNU计划提供技术、法律以及财政支持。 1990年,G№U计划开发主要项目有 Emacs(文本编辑器)、GCC( GNU Compiler Collection,GNU编 译器集合)、Bash等,GCC是一套GNU开发的编程语言编译器。还有开发一些UNIX系统的程序库和 工具。 1991年, Linuxs torvalds(林纳斯-托瓦兹)开发出了与UNIX兼容的 Linux操作系统内核并在 GPL条款下发布。 1992年, Linux与其他GUN软件结合,完全自由的GUN/ Linux操作系统正式诞生,简称 Linux 1995年⊥月, Bob young创办ACC公司,以 GNU/Linux为核心,开发出了 Redhat linux商业版 Linux基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。与Unix思想十分 相近。 1.2She11基本分两大类 1.2.1图形界面 Shell( GuI Shel1) GuⅠ为Uni或者类Uniκ操作系统构造一个功能完善、操作简单以及界面友好的桌面环境。主流桌 面环境有KDF, gnome等 1.2.2命令行界面Shel1( clI She1l) CLI是在用户提示符下键入可执行指令的界面,用户通过键盘输入指令,完成一系列操作。 在 Linux系统上主流的CLI实现是Bash,是许多 Linux发行版默认的 Shell。还有许多Unix上 Shel1,例如tcsh、csh、ash、bsh、ksh等。 1.3第一个 Shell脚本 本教程主要讲解在大多 Linux发行版下默认 Bash shel1。 Linux系统是 Redhat下的Cent0S操作系 统,完全免费。与其商业版RHEL( Red Hal Enterprise linux)出白同样的源代码,不同的是 Cent0S并不包含封闭源代码软件和售后支持。 用vi打开test.sh,编写: t vi test. sh #!/bin/bash echo" Hello world! 第一行指定解释器,第二行打印 Hello world! 写好后,开始执行,执行Shel脚木有三种方法: 方法1:直接用bash解释器执行 t bash test. sh Hello world 当前终端会新生成一个子bash去执行脚本。 方法2:添加可执行权限 +1 test. sh rw-r--r--. l rootroot 32 Aug 1801: 07 test. sh f chuo +x Lest. sh #./ test. sh bash:./test. sh: Permission denied t chmod +x test. sh 牛,/test.sh#./在当前目录 Hello world 这种方式默认根据脚本第一行指定的解释器处理,如果没写以当前默认 Shell解释器执行 方法3: source命令执行,以当前默认 Shell解释器执行 source test. sh Hello world 1.4She11变量 1.4.1系统变量 在命令行提示符直接执行enw、set查看系统或环境变量。enⅴ显示用户环境变量,set显示She11 预先定义好的变量以及用户变量。可以通过 export导出成用户变量。 些写She1l脚本时常用的系统交量 SHELL 默认She1l SHOME 当前用户家目录 SIFS 内部字段分隔符 SLANG 默认语言 SPATH 默认可执行程序路径 SPWD 当前目录 当前用户ID 当前用户 $ SHISTSIZE历史命令大小,可通过 HISTTIMEFORMAT变量设置命令执行时间 RANDOM 随机生成一个0至32767的整数 HOSTNAME主机名 1.4.2普通变量与临时环境变量 普通变量定义:VAR= value 临时环境变量定义: export var= value 变量引用:$VAR 下面看下他们之问区别: Shell进程的环境变量作用域是Shel进程,当 export导入到系统变量时,则作用域是 Shell进程 及其Shel1子进程

...展开详情
试读 127P shell从入门到精通pdf
立即下载 低至0.43元/次 身份认证VIP会员低至7折
抢沙发
一个资源只可评论一次,评论内容不能少于5个字
上传资源赚积分or赚钱
最新推荐
shell从入门到精通pdf 35积分/C币 立即下载
1/127
shell从入门到精通pdf第1页
shell从入门到精通pdf第2页
shell从入门到精通pdf第3页
shell从入门到精通pdf第4页
shell从入门到精通pdf第5页
shell从入门到精通pdf第6页
shell从入门到精通pdf第7页
shell从入门到精通pdf第8页
shell从入门到精通pdf第9页
shell从入门到精通pdf第10页
shell从入门到精通pdf第11页
shell从入门到精通pdf第12页
shell从入门到精通pdf第13页
shell从入门到精通pdf第14页
shell从入门到精通pdf第15页
shell从入门到精通pdf第16页
shell从入门到精通pdf第17页
shell从入门到精通pdf第18页
shell从入门到精通pdf第19页
shell从入门到精通pdf第20页

试读结束, 可继续阅读

35积分/C币 立即下载 >