在多台服务器环境下,更改所有的ip地址,网关,一台一台的登录修改显得复杂繁琐。
 
知识点:
参考#https://www.cnblogs.com/youngerger/p/9104144.html
参考#https://blog.csdn.net/guyan1101/article/details/72766666
参考#https://www.cnblogs.com/liwei0526vip/p/5644163.html[3]
 
1.ssh   linux下的远程连接的基本命令,同时可以完成远程操作(通过ssh远程在对应IP的机器上执行):
    ssh -p $port $user@$ip 'cmd'
 
    -p $port : 指定远程服务器上的端口     默认为22
    $user: ssh连接用户名 
    $ip:ssh连接的ip地址 
    cmd:远程服务器需要执行的操作,可以是单个命令,多个命令(使用分号;把不同的命令隔起来,并用引号“”括起来,以防执行第一个命令后其他命令在本地执行),或者一个脚本(使用绝对路径)
              -t:通过 -t 参数显式的告诉 ssh,我们需要一个 TTY 远程 shell 进行交互!
#默认情况下,当你执行不带命令的 ssh 连接时,会为你分配一个 TTY。因为此时你应该是想要运行一个 shell 会话。
#但是当你通过 ssh 在远程主机上执行命令时,并不会为这个远程会话分配 TTY。此时 ssh 会立即退出远程主机,所以需要交互的命令也随之结束。
#添加 -t 参数后,ssh 会保持登录状态,直到你退出需要交互的命令。

 
2.sed 即为stream editor,是一个流编辑器,也叫行编辑器
    sed 's/要被取代的字串/新的字串/g' 文件,sed并不会直接改变文件内容,只是显示修改后的缓冲区内容。
sed工作原理[3]

    sed会一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,成为"模式空间",接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。
    sed 的『 -i 』选项可以直接修改文件内容
 

  用ssh与sed -i配合将ifcfg-bond0文件中的10.135.4网段替换为10.135.6网段:

1.ssh root@主机 "sed -i ‘s/10.135.4./10.135.6./’ /etc/sysconfig/network-script/ifcfg-bond0"

2.ssh root@主机 "sed -i ‘s/10.135.4./10.135.6./g’ /etc/sysconfig/network-script/ifcfg-bond0"

(1与2的区别见后文)

结果:将bond0改为10.135.6的网段,包括ip地址及网关

###

tty命令可以显示当前终端(终端机连接标准输入设备的文件名称,所有外围设备都有其名称与代号,这些名称代号以特殊文件的类型存放于/dev目录下)

alt+F2

crt:

###

s/xx/xx/与s/xx/xx/g

g全面替换:使用后缀 /g 标记会替换每一行中的所有匹配

mnt.txt作为原文件:内容如下

[root@Goktech-server mnt]# cat mnt.txt
yyyyyyyyyyyyyyyy
22222222222222222
11111111111111
555555555555555
aaaaaaa2222222aaaaaaaaaaaa
wwwwwwwwwwwwww
vvvvvvvvvvvvvvvvv
111155555 bbbbbbbbbbbbbbb
11111111111111
555555555555555

 使用d来删除第二行222222...在终端显示,但原文件没有变化

同理:

少一个g,替换1111,可以看见一行只有一处会执行

使用g,能匹配的,在一行内都会执行

同理,原文件不会改变

通过一台服务器ssh多台主机远程修改网卡ip的更多相关文章

  1. 多台服务器-SSH免密登录设置

    在4台服务器-SSH免密登录设置,如以下4台服务器 master1 node001 node002 node003 我想在master1对4台服务器进行拉取或者分发任务或者是集群服务器的批量操作,但是 ...

  2. 【Linux】两台服务器ssh免密登录

    背景: 有些场景可能用到两台服务器ssh免密登录.比如服务器自动化部署 开始准备:  服务器A  linux   ip: 192.168.1.1 服务器B  linux  ip: 192.168.1. ...

  3. Oracle LISTENER 主机名修改为IP地址后LISTENER无法监听到实例 oracle监听错误与hosts文件配置

    为什么listener.ora文件里面HOST后面到底应该输入IP地址还是主机名.我的经验告诉我,这边最好使用主机名.很多的时候,一个机器绑定的不只一个IP地址,如HOST后面是IP地址,那么ORAC ...

  4. 一台服务器部署多台tomcat

    如题,多个项目部署在一台服务器.减少容错性,觉得分开部署,这样一个tomcat挂了不会影响另一个项目.看配置和应用大小决定数量,一般四五个没问题,也有单台服务器部署8个tomcat稳定运行的. 下面记 ...

  5. ssh配置互信不成功,两台服务器有一台需要输入密码

    在客户现场,某国产平台,配置机器互信时发现,A可以免密访问B,而B不能免密访问A,且B不能免密访问B,进行了下面的几个处理后搞定. 1)确定目录权限:/root/ 755/root/.ssh 700/ ...

  6. linux 从一台服务器向另台服务器复制文件

    使用scp命令: sudo scp -P 2222 username@192.168.0.200:/home/db/db_data.sql.gz /home/db/db_data.sql.gz scp ...

  7. 在多台服务器上简单实现Redis的数据主从复制(3)(转载)

    转载地址:http://www.cnblogs.com/liping13599168/archive/2011/04/14/2016226.html Redis的主从复制功能非常强大,一个master ...

  8. 在多台服务器上简单实现Redis的数据主从复制

          Redis的主从复制功能非常强大,一个master可以拥有多个slave,而一个slave又可以拥有多个slave,如此下去,形成了强大的多级服务器集群架构.下面我演示下怎样在多台服务器上 ...

  9. 多台Linux服务器SSH相互访问无需密码--转

    一.环境配置 1.系统:CentOS release 5.6   IP:192.168.4.200   主机名:JW01 2.系统:CentOS release 5.9   IP:192.168.4. ...

随机推荐

  1. 20155227 《Java程序设计》实验四 Android开发基础设计实验报告

    20155227 <Java程序设计>实验四 Android开发基础设计实验报告 任务一 Android Stuidio的安装测试: 参考<Java和Android开发学习指南(第二 ...

  2. apt-get 0%

    错误如下:      www.2cto.com   使用apt-get命令安装软件时出现“0%[正在等待报头]“的提示且无法继续安装,一般出现此问题是因为安装过程中Ctrl+C强行中断或其它原因导致上 ...

  3. 1130: [POI2008]POD Subdivision of Kingdom

    1130: [POI2008]POD Subdivision of Kingdom https://lydsy.com/JudgeOnline/problem.php?id=1130 分析: 有效状态 ...

  4. SaltStack入门篇(四)之深入理解SaltStack远程执行

    1.目标 2.执行模块 3.返回 salt ‘*’ cmd.run ‘uptime’ 命令 目标 执行模块 执行模块参数 1.SlatStack远程执行–目标 执行目标:https://docs.sa ...

  5. ELKStack入门篇(四)之Filebeat

    Filebeat是轻量级单用途的日志收集工具,用于在没有安装java的服务器上专门收集日志,可以将日志转发到logstash.elasticsearch或redis等场景中进行下一步处理. 官方文档: ...

  6. XDS100V3连接Pandaboard ES OMAP4460开发板

    1. 硬件连接如下 2. 使用CCS创建工程,不过好像没有ARM9的内核吧?为啥会出现? 3. 创建目标配置文件 4. 不过确实有ARM9的内核,两个A9内核,一个DSP C64X内核,两个M3的内核 ...

  7. [bzoj1500][luogu2042][cogs339][codevs1758]维修数列(维护数列)

    先给自己立一个flag 我希望上午能写完 再立一个flag 我希望下午能写完. 再立一个flag 我希望晚上能写完... 我终于A了... 6700+ms...(6728) 我成功地立了3个flag. ...

  8. python编码和小数据池

    python_day_6 一. 回顾上周所有内容一. python基础 Python是一门解释型. 弱类型语言 print("内容", "内容", end=&q ...

  9. 如何快速解决MySQL 1032 主从错误

    3分钟解决MySQL 1032主从错误 Part1:写在最前1032错误----现在生产库中好多数据,在从库误删了,生产库更新后找不到了,现在主从不同步了,再跳过错误也没用,因为没这条,再更新还会报错 ...

  10. MySQL数据库--连接

    MySQL数据库的概念: MySQL数据库,包括客户端和服务端.客户端就是操作数据库的终端(命令行.navicat),服务端就是安装有MySQL软件的主机(本机或者服务器),MySQL数据库的端口一般 ...