企业场景运维案例:利用sed实战修改多行配置技巧

老男孩老师有关sed实战技巧分享,来自课堂教学内容实战
1、在指定行前插入两行内容,分别为oldboy和oldgirl。
提示:被修改的文件内容必须要大于等于2行

sed -i ‘2 ioldboy\noldgirl‘ sshd_config

2、企业实战例子:快速更改SSH配置(一键完成增加若干参数)
增加:

[[email protected] ssh]# sed -i ‘13 iPort 52113\nPermitRootLogin no\nPermitEmptyPasswords no\nUseDNS no\nGSSAPIAuthentication no‘  sshd_config

查看:

[[email protected] ssh]# sed -n ‘13,17p‘ sshd_config 
Port 52113
PermitRootLogin no
PermitEmptyPasswords no
UseDNS no
GSSAPIAuthentication no

3、如果是快速修改参数可以用如下方法(企业实战例子)

echo "#--------sshConfig修改ssh默认登录端口,禁止root登录----------------------------#"
\cp /etc/ssh/sshd_config /etc/ssh/sshd_config.$(date +"%F"-$RANDOM)
sed -i ‘s%#Port 22%Port 52113%‘ /etc/ssh/sshd_config
sed -i ‘s%#PermitRootLogin yes%PermitRootLogin no%‘ /etc/ssh/sshd_config
sed -i ‘s%#PermitEmptyPasswords no%PermitEmptyPasswords no%‘ /etc/ssh/sshd_config
sed -i ‘s%#UseDNS yes%UseDNS no%‘ /etc/ssh/sshd_config
sed -i ‘s%GSSAPIAuthentication yes%GSSAPIAuthentication no%‘ /etc/ssh/sshd_config
egrep "UseDNS|52113|RootLogin|EmptyPass|GSSAPIAuthentication" /etc/ssh/sshd_config

提示:如果是指定行修改还可以是:

sed -i ‘2735s/admin_tenant_name=service/admin_tenant_name=admin/‘ nova.conf
时间: 2024-08-29 20:21:36

企业场景运维案例:利用sed实战修改多行配置技巧的相关文章

整理sed实战修改多行配置技巧

整理sed实战修改多行配置技巧,以下部分内容转自老男孩老师博客! http://oldboy.blog.51cto.com/2561410/1610998 老男孩老师有关sed实战技巧分享,来自课堂教学内容实战1.在指定行前插入两行内容,分别为oldboy和oldgirl.提示:被修改的文件内容必须要大于等于2行 1 sed -i '2 ioldboy\noldgirl' sshd_config 2.企业实战例子:快速更改SSH配置(一键完成增加若干参数)   2.1 在文件sshd_confi

《跟老男孩学Linux运维之shell编程实战》-第四章 变量的数值计算

本文讲解shell编程中变量的数值计算. 1.常见的算术运算符: 提示: 此处对于我自己来说++.--比较难理解,之前一看到脚本中有这些符号,就看不懂了,所以在此举例说明一下: [[email protected] ~]# a=10                  ==>定义变量a[[email protected] ~]# echo $((a++)) ==>如果a在运算符++或--的前面,那么输出整个表达式时,会输出a的值, 此前定义的变量a为10,所以此处的值为10.10[[email 

企业Linux运维几百个重点面试题汇总(持续更新)

目录: 第一部分:合格linux运维十五个必会原理知识(老男孩教育出品) http://user.qzone.qq.com/49000448/blog/1426386594 第二部分:合格linux运维必会MySQL 实战面试题近百个(老男孩教育出品)http://user.qzone.qq.com/49000448/blog/1427333863 第三部分:企业优秀运维人员20道必会iptables面试题 数十个(老男孩教育出品)http://oldboy.blog.51cto.com/256

《跟老男孩学Linux运维之shell编程实战》-第三章 shell变量知识进阶

本文讲解shell变量知识进阶. 以下为知识点的总结,关于练习,本文不不涉及,还需要各位小伙伴自己练习! 1.shell中的特殊位置参数变量,请见下表: 在企业场景下,"$?"的用法: (1)判断命令.脚本或函数等程序是否执行成功: (2)若在脚本中调用执行"exit 数字",则会返回这个数字给"$?"变量: (3)如果是在函数里,则通过"return  数字",把这个数字以函数返回值的形式传给"$?".

《跟老男孩学Linux运维之shell编程实战》-第二章 shell变量的核心基础

这篇文章主要讲解 shell变量的核心基础. 1.变量是什么? 变量是什么?可能有好多人不明白,简单地说,变量就是用一个固定的字符串(也可能是字符.数字等的组合)代替更多.更复杂的内容,该内容里可能还会包含变量.路径.字符串等其他的内容. 变量的赋值方式为:先写变量名称,紧接着是"="这个字符,最后是值,中间无任何空格(变量的内容一般要加双引号,以防止出错,特别是当值里的内容之间有空格时). 如何打印变量?通过echo命令加上$变量名 打印变量的值: 例如:定义变量和打印变量: [[e

《跟老男孩学Linux运维之shell编程实战》-第五章 shell脚本的条件测试

本文的知识点是关于shell脚本的条件测试的相关内容. 通常在shell脚本中我们需要做各式各样的条件判断,比如,测试一个文件是否存在.是否为文件或目录.是否 具有执行权限等等,所以在shell脚本中,条件判断还是至关重要的.接下来我们进入正题:shell脚本的条件测试. 1.在bash编程中,条件测试常用的语法形式如下表: 提示: 语法1中的test命令和语法2中的[]是等价的.语法3中的[[]]双中括号为扩展的test命令. 语法4中的(())常用于计算. 在双中括号[[]]中可以使用通配符

手游公司运维之利用Rundeck自动化运维工具和Shell脚本构建测试环境代码发布平台和生产环境代码发布平台

在做手游运维工作之前,我接触的代码发布都是常规的软件发布,有固定的发布周期.之前工作的那个外企有严格的发布周期,一年中的所有发布计划都是由Release Manager来控制,每次发布之前都需要做一些准备工作,如填写发布表单,上传发布需要的资源文件,联系发布过程中的相关人员,如开发和测试.最后在公司内部开发的发布平台上按照指定的时间点击鼠标对一个集群内的几台主机或全部主机进行代码发布.这个发布平台还是基于rsync服务实现的.虽然每个星期都有各种服务的发布,但是整个发布流程是可以控制的,并且发布

《跟老男孩学Linux运维之shell编程实战》-第一章 shell脚本初步入门

本文是在学习<跟老男孩学Linux运维之shell编程实战>这本书时记录的知识点.看了这本书,我受益匪浅,当然这仅是我个人观点.下面我们言归正传,开始了解一下shell脚本吧! shell本身是一个命令解释器,它的作用是解释执行用户输入的命令及程序等. shell脚本语言的种类:sh.ksh.bash.csh.tcsh,Linux中主流的shell是bash,所以本文及后续shell脚本以bash为主. 那我们如何查看Linux系统中默认的shell? [[email protected] ~

互联网模式的企业如何运维IT系统(二)

从上面例子可以看出互联网企业的运维特点: 1.IT运维与IT运营不可分,是以创意或服务为导向,以运营为基础的运维: 2.需要团队或复合型人才: 3.强调资源有限原则下的优化与维护: 4.强调准备与预案: 5.强调快速诊断与解决问题: 6.分清层级,强调必要时候的重点保障. 互联网企业多数不像传统企业那样IT需求.软件开发.IT运维可以是三波人,互联网企业更像集团化作战,希望是一个完整的方式,从创意策划.到开发.运营和运维一条龙服务,当然也可以有第三方服务,但统一指挥,他的运维工作还是在"科学化.