zoukankan      html  css  js  c++  java
  • linux网络配置、ssh、scp及命令优先级作业

    作业一:临时配置网络+永久配置

    临时配置网络

    1.首先用ifconfig查看当前网络的一些配置:

    2.可以看出本机网卡的一些配置:

    ens33  #网卡名
    
    192.168.16.116  #ip地址
    
    255.255.255.0   #子网掩码
    

    3.配置IP地址为192.168.16.222 并查看:

    ifconfig ens33 192.168.16.222/24 netmask 255.255.255.0
    

    4.配置网关为192.168.16.255 并查看:

    route add default ge 192.168.16.254 netmask 255.255.255.0
    

    永久配置。

    1.打开配置文件:

    路径:/etc/sysconfig/network-scripts
    
    该路径下找到以ifcfg-网卡名命名的文件,打开。
    

    2.更改配置文件:

    DEVICE=ens33  #网卡名称
    HWADDR=''    #网卡mac地址
    TYPE=static   #静态IP
    IPADDR=192.168.16.123   #IP地址
    NETMASK=255.255.255.0   #子网掩码
    GATEWAY=192.168.16.254  #网关地址
    DNS1=192.168.16.254  #DNS服务器地址	
    

    3.重启网络服务.

    systemctl restart network
    

    4.查看现在的网络配置。

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

    1.修改主机名。

    主机1:hostnamectl set-hostname web1
    IP:192.168.16.128
    主机2:hostnamectl set-hostname web2
    IP:192.168.16.222
    主机3:hostnamectl set-hostname web3
    IP:192.168.16.223
    

    2.更改主机中的hosts文件。

    全部都更改:hosts:
    
    192.168.16.128	web1
    192.168.16.222	web2
    192.168.16.223	web3
    

    3.测试用主机名是否可以互相PING通。

    web1 ping web2 和 web3
    

    web2 ping web1 和 web3
    

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

    1.上一题中我们已经建立好了相应的主机名,现在来测试ssh登录和远程上传和下载。

    主机1(web1):
    
    ssh web2
    
    ssh web3
    

    scp /test/1.txt web2:/scp
    
    scp /test/1.txt web3:/scp
    

    用同样的方法测试另外两台。

    2.直接ssh连接,每次都需要输入密码,下面咱们建立密钥登录。

    创建密钥,拿主机1做实验:
    ssh-keygen
    创建后,会在/root/.ssh/下产生相应的文件。
    

    将密钥发送给另外两台主机。
    
    ssh-copy-id web2
    
    ssh-copy-id web3
    

    web1测试连接web2和web3
    

    3.更改ssh server的端口号为8888,测试登录和scp登录。

    我们还是用主机1先做实验。
    
    ssh server的配置文件在:/etc/ssh/sshd_cpnfig下。
    

    更改端口号为8888。
    

    在web2测试连接和远程上传下载。
    
    ssh web1 -p 8888
    
    scp -P 8888 /test/1.txt web1:/test
    

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

    1、别名   由alias指定
    2、复合命令 
    3、函数	  由function指定
    4、内置命令  builtin命令
    5、脚本或可执行函数  $path
    

    验证别名、内部命令和脚本可执行命令优先级

    别名、内置函数和脚本函数的比较

    #alias cd = 'll' #新建一个别名叫cd,但实际指向/bin/ls的别名
    
    #cp /bin/hostname /usr/local/sbin/cd #在PATH第一个目录里放入一个cd命令,实际代表的是hostname命令
    
    #cd    #执行CD命令,首先找到的是别名cd
    
    #unalias cd  #删除别名cd ,再执行的是系统内置命令
    
    #cd /test   #内置命令,进入目录test
    
    #/usr/local/sbin/cd   #脚本函数,实际上执行的是内置命令:hostname
    

    优先顺序总结:

    1、别名
    2、内置命令
    3、脚本函数
    

    别名、复合命令和函数的比较。

    #alias for='ll'   #定义一个别名
    
    #function for(){ echo 'my name is yue!'; }#定义一个函数
    
    #for    #这里使用的是别名。
    
    # for((i=1;i<3;i++));do echo $i;done #执行的是复合函数
    
    #function cd(){ echo 'my name is yue!' }#定义一个函数
    
    #cd   #执行的是函数的cd
    

    优先顺序总结:

    1、别名。
    2、复合命令。
    3、函数。
    4、内置命令
    

    命令优先顺序总结:

    1.别名
    
    2.复合命令
    
    3.函数
    
    4.内置命令
    
    5.脚本命令
    

    作业六:通配符实验

    ~    cd ~  #跳转到家目录
    !   取反 , 运行历史命令。
    #    注释
    $    $?表示上一条命令是否执行成功。0成功 非0不成功,将变量的值取出来
    %    取余。
    ^    取反
    &    命令 & 后台运行。  &&与运算  pwd && cd  如果pwd执行成功则执行cd,如果pwd失败,则不执行cd
    *    乘法 。ls *代表所有。
    -    减号,连接符
    _    字符连接符
    +    加法运算
    =    赋值, == 判断
    |    管道符号,||逻辑或  pwd || cd  pwd执行成功,则cd不执行,pwd失败则执行cd。
    {}  {10}000 给10加三个0, touch {1..4}.txt  新建1-4.txt
    ?    $? 显示上一条命令是否成功,只匹配一个任意字符
    >    大于号, 覆盖语句,>> 追加语句
    <    小于号
        转义符  $x  输出$x
    []   取出括号中的一个值。
    ;    分割命令
    :   表示真。
    /    路径拼接符
    ""   软引用
    ''   硬引用,引号中的是什么就输出什么
  • 相关阅读:
    Java5 多线程实践
    ExtJS2.0实用简明教程 Border区域布局
    MySQL安装图解
    ExtJS2.0实用简明教程 组件的使用
    ExtJS2.0实用简明教程 ExtJS版的Hello
    Linux操作系统中如何安装Tomcat
    线程池的介绍及简单实现
    ExtJS2.0实用简明教程 获得ExtJS
    汽车常识全面介绍 动力系统
    MySQL 图形化管理工具介绍
  • 原文地址:https://www.cnblogs.com/G-YUE/p/6596306.html
Copyright © 2011-2022 走看看