整理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_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


相关文章
|
JavaScript 前端开发
JS浮点数精度问题及高精度小数运算:BigNumber解决方案
JS浮点数精度问题及高精度小数运算:BigNumber解决方案
1391 0
|
存储 网络协议 安全
DNS科普系列: DNS防火墙(DNS Firewall)
DNS防火墙是一种网络安全解决方案,可以防止网络用户和系统链接到已知的恶意网络位置,可以有效的预防威胁发生, 阻止访问受感染的站点,进而防止进一步的威胁。能够主动检测到已被感染的系统,并通过安全报告的形式将此类威胁通知用户。还能够保护用户的网络环境,提高网络安全性。
DNS科普系列: DNS防火墙(DNS Firewall)
|
存储 人工智能 弹性计算
国内首个,阿里云入选Gartner®战略云平台魔力象限挑战者
近日,Gartner发布2024年《战略云平台魔力象限》(Magic Quadrant™ for Strategic Cloud Platform Services)报告,阿里云从利基者象限进入挑战者象限,成为国内首个入选该象限的中国公共云厂商。
|
编解码 开发工具 C#
Windows电脑如何启动RTSP服务实现本地摄像头数据共享
本文介绍如何利用大牛直播SDK中的轻量级RTSP服务,在Windows平台上轻松采集摄像头数据并生成本地RTSP流。通过SDK提供的SmartPublisherDemo工具,用户能简便地选择摄像头、配置分辨率与帧率,并启动RTSP服务。此外,还支持音频采集、多端口服务以及动态水印等功能。生成的RTSP URL可用于其他终端拉流播放,无需额外部署服务器。该服务适配多种应用场景,如安防监控、电子教室等,并兼容Windows 7及以上版本。对于希望集成此功能的开发者,SDK提供了C++及C#接口,并支持多种编译模式。
825 0
Python 游戏开发的基本逻辑
游戏开发是一个复杂而富有挑战性的过程,需要综合运用多种技术和知识。在 Python 游戏开发中,理解基本逻辑是至关重要的。本文将介绍 Python 游戏开发的基本逻辑,并提供一些关键概念和示例,帮助你构建一个简单的游戏。
|
存储 算法 安全
JVM从入门到入土之详解G1垃圾回收器
前言 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/bin392328206/six-finger
708 0
|
存储 分布式计算 Hadoop
Linux/Hbase2.2.2安装教程_单机/伪分布式配置
Linux/Hbase2.2.2安装教程_单机/伪分布式配置
1057 0
Linux/Hbase2.2.2安装教程_单机/伪分布式配置
|
弹性计算 Prometheus 运维
【数据可观测】阿里云的Grafana云监控大盘服务
阿里云发布的grafana托管服务,更是为云上的资产提供了高效的监控数据可观测能力。阿里云grafana弹性、免运维,可以方便的对接云上云下的各种数据源。
2716 1
【数据可观测】阿里云的Grafana云监控大盘服务
|
机器学习/深度学习 资源调度 算法
学习笔记: 机器学习经典算法-线性SVM(LinearSVM)
机器学习经典算法-个人笔记和学习心得分享
423 0
|
开发工具 git
git撤销推送(push)至远端仓库的提交(commit)
git撤销推送(push)至远端仓库的提交(commit)
1908 0