Linux运维:sed命令修改配置文件IP

最近为客户在服务器装我们的程序,需要将我们程序包中的ip地址换成客户真实的ip,需要批量修改配置文件中的 IP 地址。手动用 vi 或 vim 编辑不仅慢,还容易改错。

比如将 Elasticsearch 的监听地址从 127.0.0.1 修改为 0.0.0.0 以允许远程访问。 使用 sed 命令可以直接在终端完成替换,效率极高。

下面是我用到的命令,记录下来,以后用:

命令如下:

bash 复制代码
sed -i 's/127.0.0.1/0.0.0.0/g' /etc/elasticsearch/elasticsearch.yml

命令拆解:

  • sed:流编辑器,用于过滤和转换文本。
  • -i:直接在原文件上修改(in-place)。
  • s/Pattern/Replacement/ :替换命令格式。
    • 127.0.0.1:要被替换的旧 IP。
    • 0.0.0.0:替换后的新 IP。
  • g :全局替换标志(Global)。如果不加 g,一行中如果出现多次旧 IP,只会替换第一个。

⚠️ 重要建议:修改时自动备份

使用 -i 参数虽然方便,但风险也很高------一旦命令写错,原配置文件就被直接覆盖了,很难找回。

在正式环境操作时,强烈建议在修改的同时生成一个备份文件。

只需在 -i 后面加上备份后缀名(如 .bak):

bash 复制代码
sed -i.bak 's/127.0.0.1/0.0.0.0/g' /etc/elasticsearch/elasticsearch.yml

执行效果:

  1. 系统会先自动把原文件复制一份为 elasticsearch.yml.bak。
  2. 然后在原文件 elasticsearch.yml 上执行 IP 替换操作。
    如果替换后发现配置有问题,直接用备份文件恢复即可:
bash 复制代码
cp /etc/elasticsearch/elasticsearch.yml.bak /etc/elasticsearch/elasticsearch.yml

这种"顺手备份"的习惯,能有效避免误操作导致的尴尬。

相关推荐
忆挽篱笙歌37 分钟前
makefil
linux·运维·服务器
菜_小_白2 小时前
codex
linux·vscode·ai
zhangrelay2 小时前
用ROS2Lyrical实验报告册思路重做蓝桥云课ROS1实验并改进
linux·笔记·学习·ubuntu·机器人
林兴洋2 小时前
linux-mtr命令-ping和traceroute的能力合二为一
linux
OsDepK2 小时前
OSMDE_v1.9.0已加入FTP与shell功能
linux·运维·服务器
硅基手札3 小时前
【Linux内核专栏 11】驱动框架:platform / char / misc / 设备树
linux·运维·服务器
倒头就睡的小比特3 小时前
Linux基础指令初步认识
linux
Starry-sky(jing)3 小时前
watchdog: BUG: soft lockup - CPU#3 stuck for 22s! 怎么排查——从寄存器 dump 到自旋锁争用根因
linux·内核·服务器运维·soft lockup·性能排查
DongQiShanRen3 小时前
裁决台账双向互校(上):名册与实物的第一道对账
java·linux·运维·数据库·人工智能·自然语言处理·数据挖掘
ShineWinsu4 小时前
对于Redis:AOF持久化的解析
linux·数据库·redis·缓存·面试·持久化·aof