zoukankan      html  css  js  c++  java
  • Linux基础-配置网络、集群内主机名设定、ssh登入、bash命令、通配符(元字符)

    作业一:临时配置网络(ip,网关,dns)+永久配置 

    设置临时网络配置:

    配置IP

    ifcongfig ens33 192.168.16.177/24 (ifconfig 网卡 ip地址    /24代表它子网掩码)

    配置网关

     

    route add default gw 192.168.16.177 netmask 255.255.255.0  添加默认网关

    配置 DNS

    vim /etc/resolv.conf            (DNS配置文件位置)

    设置永久网络配置:

    cd /etc/sysconfig/network-scripts/    见下图

    vim ifcfg-ens33   见下图

     

    作业二:为集群内的机器设定主机名,利用/etc/hosts文件来解析自己的集群中所有的主机名,相应的,集群的配置应该改成使用主机名的方式

    机器wys   IP:192.168.16.176

    vim /etc/hosts 

     ping wys01

    机器wys通过ping  wys01机器名可以解析出它的ip地址并与它连接

    机器wys01   IP:192.168.16.177

    vim /etc/hosts

    ping wys

    机器wys01通过ping  wys机器名可以解析出它的ip地址并与它连接

    hostname  查看本机主机名

    hostnamectl set-hostname (加上要修改成的主机名)   修改主机名

    作业三:ssh登录,scp上传、下载,ssh秘钥登录,修改ssh server端的端口为8888然后进行登录和scp测试

    wysIP: 192.168.16.176             wys01IP:192.168.16.177

    ssh登入,在wys机器上可以登入wys01机器,反过来在机器wys01上也可以登入机器,但是需要wys机器的密码(因为是root用户)

     scp上传

    [root@wys ~]# scp /etc/hosts 192.168.16.177:/tmp/    将wys机器的/etc/hosts目录上传到192.168.16.177(wys01)机器的/tmp目录中,这里的ip地址可以换成wys01

    在机器wys01上查看/tmp能找到刚才上传的文件hosts文件

    scp下载

    在机器wys上查看当前目录下能找到刚才从wys01/tmp目录下载的hosts文件

     秘钥登入

    ssh-keygen  制作秘钥

    查看制作的秘钥

    ssh-copy-id -i 192.168.16.177      将秘钥发送给192.168.16.77(wys01)

     在wys01查看/root/.ssh/目录,wys01收到秘钥会发送到这个目录

    在wys01查看/root/.ssh/authorized_keys详细信息,这个文件是客户端收到秘钥后生成的一个文件

     最后再测试:客户端通过ssh方式连接服务端(可以直接进入,不再要输入密码了)

    修改ssh server端口为8888

     vim /etc/ssh/sshd_config     打开ssh的配置文件   找到端口并修改为8888

    systemctl restart sshd       然后重启sshd     

     ssh 192.168.16.177 -p 8888

    scp -P 8888 /etc/hosts 192.168.16.177:/tmp 

    作业四:整理bash命令类型,验证寻找一个命令的优先级

    命令的优先级

    别名

          alias

    内部命令

          bash,compound commands,function

    外部命令

          /usr/local/sbin
          /usr/local/bin
          /sbin
          /bin
          /usr/sbin
          /usr/bin
          /root/bin

    alias:别名的定义方法 alias la='ls -al' 取消别名 unalias la

    Compound Commands:例如 for if while等

    function:函数

    build_in:BASH自带的命令,功能简单,内部命令的帮助在builtin(1)里

    hash:为了减少$PATH的搜索,上一次搜索的内容能够被下一次执行重用bash对从$PATH中搜索得出的外部命令建立一个hash表,用于缓存

    $PATH:就是一个小程序存在于/bin/ /sbin/ /usr/bin 等地方

    error: command not found :报错

    定义一个函数名为cd,说明了function的优先级大于build_in的优先级

     继续使用刚才的函数,给cd命令一个别名,说明了alias的优先级大于function的优先级


    作业五:通配符实验(元字符)

    bash中的特殊字符,键盘上能敲出来的特殊字符都有其特殊意义,特别强调:元字符是被shell解释的!

    ~ 家目录,当前用的是谁就是谁的家目录

    `` 命令替换 取命令的执行结果 

    $()同上,但它弥补了``的嵌套缺陷

    ! 取非

    ! 历史命令调用

    ! 匹配最近一次历史命令

    ! ls 带空格 将命令的返回值取反

    @ 无特殊含义

    # 注释

    % 杀后台进程 jobs号; 取模

    ^ 取非 和 ! 雷同

    ^ 替换

    & 后台执行;&& 逻辑与

    * 匹配任意长度字符串;计算乘法

    () 在子进程中执行

    - 减号;区间;cd -;

    _ 无特殊含义

    + 加号 ;

    = 赋值

    | 管道; || 逻辑或

    转义;

    {} 命令列表 #括号内的开头和结尾必须是空格
    # { ls; cd /; }

    [] 字符通配,匹配括号内之一; 

    : 空命令 真值

    ; 可以接多个命令:ls;pwd;echo 123;无论对错,会一直执行到最后一条命令

    " " 软引 ''硬引 

    < 输入重定向

    > 输出重定向

    >> 追加

    << here document

    >& 合并2和1输出

    , 枚举分隔符

    . source ; 当前目录

    / 目录分隔符

    ? 单个字符

    回车 命令执行

    * 通配符:任意字符

    ? 通配符:任一字符

    [abc] 列表项之一

    [^abc] 对列表取非 也可以使用范围 [a-z] 代表aAbBcC...,[0-9]代表012345。。。

    {} 循环列表

    控制变量名的范围 echo ${AB}C

    硬引用与软引用

    转意

     实验举例:

    [root@wys test]# touch {1..3}{a..d}.txt
    [root@wys test]# ls
    1a.txt 1b.txt 1c.txt 1d.txt 2a.txt 2b.txt 2c.txt 2d.txt 3a.txt 3b.txt 3c.txt 3d.txt

  • 相关阅读:
    《国富论》
    DataGridView
    《ASP.NET Core 3框架揭秘》
    看见
    英语常用词汇
    《未选择的路》
    Redis实战(20)Redis 如何从海量数据中查询出某一个 Key?
    .NET 程序集Assembly使用
    ExtJs基础知识总结:自定义弹窗和ComboBox自动联想加载(四)
    ExtJs基础知识总结:Dom、IFrame和TreePanel、TabPanel(三)
  • 原文地址:https://www.cnblogs.com/wangyongsong/p/6594449.html
Copyright © 2011-2022 走看看