博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
整理sed实战修改多行配置技巧
阅读量:7207 次
发布时间:2019-06-29

本文共 2061 字,大约阅读时间需要 6 分钟。

整理sed实战修改多行配置技巧,以下部分内容转自老男孩老师博客!

 

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

1
sed 
-i 
'2 ioldboy\noldgirl' 
sshd_config

2、企业实战例子:快速更改SSH配置(一键完成增加若干参数)
 
  2.1 在文件sshd_config 中的第13行前增加或插入内容:

1
[root@oldboy 
ssh
]
# sed -i '13 iPort 52113\nPermitRootLogin no\nPermitEmptyPasswords no\nUseDNS no\nGSSAPIAuthentication no'  sshd_config

查看:

1
2
3
4
5
6
[root@oldboy 
ssh
]
# sed -n '13,17p' sshd_config 
Port 52113
PermitRootLogin no
PermitEmptyPasswords no
UseDNS no
GSSAPIAuthentication no

   2.2 在文件ifcfg-eth0中的最后一行之后增加或插入内容:

    [root@c6-6moban ~]# cat -n /etc/sysconfig/network-scripts/ifcfg-eth0

        1 DEVICE=eth0

        2 HWADDR=00:0C:29:E1:47:FC

        3 TYPE=Ethernet

        4 UUID=89886144-a7a8-4c97-8045-808f5c671464

        5 ONBOOT=yes

        6 NM_CONTROLLED=yes

        7 BOOTPROTO=static

   [root@c6-6moban ~]#sed -i '$a IPADDR=192.168.0.166\nNETMASK=255.255.255.0\nGATEWAY=192.168.0.1\nDNS1=202.100.64.68\nDNS2=61.178.0.93' /etc/sysconfig/network-scripts/ifcfg-eth0

  [root@c6-6moban ~]# cat -n /etc/sysconfig/network-scripts/ifcfg-eth0

          1 DEVICE=eth0

          2 HWADDR=00:0C:29:E1:47:FC

          3 TYPE=Ethernet

          4 UUID=89886144-a7a8-4c97-8045-808f5c671464

          5 ONBOOT=yes

          6 NM_CONTROLLED=yes

          7 BOOTPROTO=static

          8 IPADDR=192.168.0.166

          9 NETMASK=255.255.255.0

         10 GATEWAY=192.168.0.1

         11 DNS1=202.100.64.68

         12 DNS2=61.178.0.93

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

1
2
3
4
5
6
7
8
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

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

1
sed 
-i 
'2735s/admin_tenant_name=service/admin_tenant_name=admin/' 
nova.conf

 

本文转自 linuxzkq 51CTO博客,原文链接:http://blog.51cto.com/linuxzkq/1634843

转载地址:http://ixlum.baihongyu.com/

你可能感兴趣的文章
mysql 随机数字 & 置顶排序
查看>>
javaweb配置连接mysql数据库
查看>>
Android — — —动态添加碎片
查看>>
欧拉函数
查看>>
如何使用系统软件截图
查看>>
【转】 Oracle 中的一些重要V$ 动态性能视图,系统视图和表
查看>>
模板模式 c#
查看>>
由于js词法性质和全局变量被更改,循环绑定的click事件执行时变量和定义时 不一致的bug,各种解决方案。...
查看>>
图片处理--边缘高亮
查看>>
解析Disruptor:解密内存障
查看>>
管道-过滤器模式学习总结
查看>>
投放数据获取(三):搜狗
查看>>
springboot之使用redistemplate优雅地操作redis
查看>>
《斯坦福大学:编程范式》第5节1:void*类型的使用:一个兼容所有类型的线性搜索...
查看>>
环境配置之 Debug 和 Release - iOS
查看>>
Java精选笔记_Java入门
查看>>
The Cow-Signal
查看>>
centOS7 初始环境配置
查看>>
HTML5 Canvas绘制跟随鼠标移动的球
查看>>
leetcode1048
查看>>