02 2022 档案
摘要:1.LINUX部署 stop firewalld disable selinux 2.Nginx部署 yum install -y nginx netstat -anpt | grep 80 查看是否为80端口,答案为否 systemctl start nginx netstat -anpt | g
阅读全文
摘要:1.简介 awk是一种编程语言,用于在linux/unix下对文本和数据进行处理。数据可以来自标准输入、一个或多个文件,其他命令的或命令的输出。它支持用户自定义函数和动态正则表达式等先进功能。 awk的处理文本和数据方式是逐行处理,从第一行到最后一行。寻找匹配的特定模式的行,并在这些行上进行你想要的
阅读全文
摘要:sed实战 删除配置文件中#号注释行 sed -r '/^#/d' /etc/samba/smb.conf 修改文件 sed -r '/^SELINU=/cSELINUX=disabled' /etc/selinux/config sed -r '/#chroot_local_user/s/YES/
阅读全文
摘要:1.前言 sed也叫流编辑,是一种在线的、非交互的编辑器,他一次成立一行内容。处理时,把当前处理的行储存在临时缓冲区中,称为“模式空间”,见着用sed命令处理缓冲区的内容,处理完成后,把缓冲区的内容送往屏幕。 接着处理下一行,这样不断重复,知道文件末尾。文件内容并没有改变,除非你使用重定向存储输出,
阅读全文
摘要:1.grep的分类 grep 默认不会识别正则匹配 egrep 自带正则匹配 fgrep 什么符号都不认 语法 grep 找什么 在哪找1 在哪找2 在哪找3 2.返回值 0是找到了 表示成功 1是没有 表示在所提供的文件无法找到匹配的pattern 2找到但地方不对 3.参数 grep -q 静默
阅读全文
摘要:1.扩展正则表达式元字符 + 匹配1-n个前导字符 *是0-n个 \t tab的意思 ? 匹配0~1个前导字符 .是1个任意字符 a|b 匹配a或b () 组字符 示例1 /^love/ 以love为行首开头 /love$/ 以love为行尾结尾 /l.ve/ l和ve之间至少一个任意字符的 /lo
阅读全文
摘要:1.名词解析 正则表达式RE是一种字符模式,用于查找过程中匹配指定的字符。 在大多数程序里,正则表达式都被置于两个正斜杠之间;例如/l[oO]ve/就是由正斜杠界定的正则表达式。 它将匹配被查找的行中任何位置出现的相同模式。在正则表达式中,元字符串是最重要的概念。 2.工具 被vim、sed、awk
阅读全文
摘要:1.示例3 函数传参,数组传参 让用户每人加5G流量 local j是让j的赋值只在本地里有效 这段代码是把数组num传入array中,再array中的for循环用i把num的值取出,逐个+5,并把得出来的结果送入数组ss中;并给j赋值j++,在本地变量中,j从0开始递增,与结果的值结成相应的元素。
阅读全文
摘要:1.函数 概念: 函数的作用是让需要重复的代码,以函数名的方式直接调用,不需要重复码一遍代码。 函数是一段完成特定功能的代码片段。再shell中定义了函数,就可以使代码模块化,便于复用代码,注意函数必须先定义才可以使用。 重点: 传参 $1,$2 局部变量 local 返回值 return 即$?
阅读全文
摘要:1.数组简介 数组:用一个固定的字符串,代替多个不固定字符串。 变脸:用一个固定的字符串,代替多个不固定字符串。 2.数组类型 普通数组:只能使用整数作为数组索引 关联数组:可以使用字符串作为数组索引 普通数组 echo "${name:3:4}" 意思是name变量中从索引3开始显示4个 这叫变量
阅读全文
摘要:1.expect 前言 观察ssh登录的交互现象,有些程序难以避免的需要交互。如何解决脚本与程序的交互问题。 expert就是专门解决脚本和程序之间的交互问题 语法 spawn expect的内部命令,启动一个shell程序 expect 期望哪些内容 yes/no 就send发送yes。\r表示回
阅读全文
摘要:1.while语句结构 (死循环/逐行处理文件) 语法: while 条件测试 : do 循环体 done 注意: 当条件测试成立(条件测试为真),执行循环体 例子 中断循环 exit 退出整个程序 break 退出当前循环程序 continue 退出此循环,进行下一次循环 exit break c
阅读全文
摘要:1.案例3:使用for实现批量主机root密码的修改 前提1.已经完成密钥登录配置(ssh-keygen) 前提2.定义主机地址列表 前提3.了解远程修改密码的方法 如何不登陆对130进行操作 ssh@192.156.130 "touch /root/testtest.txt" 尝试更改130密码
阅读全文
摘要:1.shell循环for 语法 for 变量名 [in 取值列表] do 循环体 done $(seq 1 10) = `seq 1 10` 作用:用于以指定增量从首数开始打印数字到尾数,即产生从某个数到另外一个数之间的所有整数,并且可以对整数的格式、宽度、分割符号进行控制 2.案例1-ping测试
阅读全文
摘要:1.嵌套 就是if里套if 案例 2.调试脚本 调试脚本的方法: sh -n 02.sh 仅调试脚本中的语法错误 sh -vx 02.sh 以调试的方式,查询整个执行过程 如果使用-vx,可以先注释一部分,让程序简单化 3.注意 · []表示条件测试。注意这里的空格很重要,要住在'['后面和']'前
阅读全文
摘要:1.前言 无论什么编程语言都离不开条件判断(流控)。shell也不例外。 例如,用户输入的密码不够长时提醒用户,密码过短 例如,用户输入了备份的目录,如果有目录继续备份,如果没有目录创建目录 例如,用户输入成绩,如果100-80分评委优秀,如果79-60分评为合格,如果59-0分评为不合格 2.数值
阅读全文
摘要:1. 前言 什么是shell shell是应用程序,是壳,是命令解释器。 shell语言的特点 shell语言是指nuix操作系统的命令语言,同时又是该命令语言的监视程序的简称。 shell本身是一个用c语言编写的程序,它是用户使用unix/linux的桥梁,用户的大部分工作都是通过shell完成的
阅读全文