zoukankan      html  css  js  c++  java
  • 通过一台服务器ssh多台主机远程修改网卡ip

    在多台服务器环境下,更改所有的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网段:

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

    b.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:

    安装centos7,进入图形界面会弹出创建用户,跳过:ctrl+alt+F2~F6/ks添加skipx

    可以打开6个终端,需要回到图形界面ctrl+alt+F7

    centos7运行system-config-kickstart时在Package Selection模块中出现如下错误:Packageselection is disabled due to problems downloading package information

    因为centos7中的kickstart需要使用自己的包仓库,这时我们只需要在/etc/yum.repo.d/目录下编辑一个名叫development的仓库就可以。

    Centos7:centos7之前要设置开机默认不启动图形界面是通过vi /etc/inittab,但7的runlevels被targets所取代,即CentOS7采用加载target的方式来替代之前的启动级别。其中有两个重要的target:multi-user.target与graphical.target。它们分别表示运行级别中的3与5级别。
    通过systemctl get-default可获得默认启动的target
    通过systemctl set-default设置默认启动的target
    修改为多用户状态只需执行:
    systemctl set-default multi-user.target
    修改为图形界面执行:
    systemctl set-default graphical.target

    ###

    3.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,能匹配的,在一行内都会执行

    同理,原文件不会改变

  • 相关阅读:
    Tomcat version 6.0 only supports J2EE 1.2 ......
    Javascript高级编程
    Javascript基础编程の变量、对象、数据类型及函数
    Javascript基础编程の面向对象编程
    Java网络编程のTCP/IP
    Java网络编程のOSI
    redis整理の持久化机制
    redis整理の主从复制
    redis整理の安全认证
    redis整理の配置
  • 原文地址:https://www.cnblogs.com/lianyg/p/9447952.html
Copyright © 2011-2022 走看看