第七周作业

1、Ubuntu系统网络配置总结(包括主机名、网卡名称、网卡配置)
设置主机名
查看主机名:hostname
主机名文件:/etc/hostname
修改主机名:
hostnamectl set-hostname ubuntu1804.magedu.org
#该命令是直接修改/etc/hostname文件,立即生效,$hostname变量需要退出,重新进 入才能生效

修改网卡名称为传统模式:
第一步 :修改/etc/default/grub文件方法

手动修改/etc/default/grub

    vim /etc/default/grub 
    GRUB_CMDLINE_LINUX="net.ifnames=0" 

命令修改/etc/default/grub

    sed -i.bak '/^GRUB_CMDLINE_LINUX=/s#"$#net.ifnames=0"#' /etc/default/grub 
    sed -Ei.bak 's/^(GRUB_CMDLINE_LINUX=.*)"$/\1net.ifnames=0"/' /etc/default/grub

第二步:生效新的grub.cfg文件

grub-mkconfig -o /boot/grub/grub.cfg 

#可以直接修改该文件,/etc/default/grub文件是该文件模板,最终目的是修改该文件

[root@ubuntu1804:~# update-grub 
[root@ubuntu1804:~# grep net.ifnames /boot/grub/grub.cfg    

#查看文件中被修改的部分,可以直接修改这些地方,也可以达到修改网卡名称为传统模式

网卡配置

root@ubuntu1804:~#vim /etc/netplan/01-netcfg.yaml 
network: 
version: 2 
renderer: networkd 
ethernets: 
  eth0: 
    addresses: [192.168.8.10/24,10.0.0.10/8]  #或者用下面两行,两种格式不能混用 
     - 192.168.8.10/24 
     - 10.0.0.10/8 
    gateway4: 192.168.8.1                        #网关
    nameservers:                                 #dns                       
        search: [baidu.com]                      #域名,域后缀
        addresses: [180.76.76.76, 8.8.8.8,1.1.1.1] 
root@ubuntu1804:~#netplan apply

2、编写脚本实现登陆远程主机。(使用expect和shell脚本两种形式)。
expect

[root@centos7-test script]#cat expect1
#!/usr/bin/expect
#非交互式登录远程主机
set ip  [lindex $argv 0]
set user [lindex $argv 1]
set password [lindex $argv 2]
spawn ssh $user@$ip
expect {
    "yes/no" { send "yes\n";exp_continue }
    "password" { send "$password\n" }
}
interact
[root@centos7-test script]#./expect1 10.0.0.17 root Centos
spawn ssh [email protected]
[email protected]'s password: 
Last login: Sun Jul 25 09:58:10 2021 from 10.0.0.201

shell

[root@centos7-test script]#cat expect.sh 
#!/bin/bash
#
#**********************************************************************************************
#Author:         mahui
#Date:          2021-07-25
#FileName:      expect.sh
#Copyright (C):2021 All rights reserved
#*********************************************************************************************
ip=$1
user=$2
password=$3
expect <

3、生成10个随机数保存于数组中,并找出其最大值和最小值

[root@centos7-test script]#cat max-min.sh 
#!/bin/bash
#
#**********************************************************************************************
#Author:         mahui
#Date:          2021-07-25
#FileName:      max-min.sh
#Copyright (C):2021 All rights reserved
#*********************************************************************************************

declare -i min max
declare -a nums
for ((i=0;i<10;i++));do
    nums[$i]=$RANDOM
    [ $i -eq 0 ] && min=${nums[0]} && max=${nums[0]} && continue
    [ ${nums[$i]} -gt $max ] && max=${nums[$i]}
    [ ${nums[$i]} -lt $min ] && min=${nums[$i]}
done
echo "ALL number are ${nums[*]}"
echo Max is $max
echo Min is $min

4、输入若干个数值存入数组中,采用冒泡算法进行升序或降序排序

[root@centos7-test script]#cat array.sh 
#!/bin/bash
#
#**********************************************************************************************
#Author:         mahui
#Date:          2021-07-25
#FileName:      array.sh
#Copyright (C):2021 All rights reserved
#*********************************************************************************************
declare -a nums
read -p "请输入生成随机数个数:" number
for (( i=0;i<$number;i++ ));do
    nums[$i]=$RANDOM
done
echo "before sort:${nums[*]}"
declare -i n=$number
for (( i=0;i ${nums[$next]} ));then
          tmp=${nums[$next]}
      nums[$next]=${nums[$j]}
      nums[$j]=$tmp
    fi
    done
done
echo "after sort:${nums[*]}"
echo "the Min integer is ${nums[0]},the max integer is ${nums[$(( n-1 ))]}"

5、显示统计占用系统内存最多的进程,并排序。

[root@centos7-test script]#ps aux --sort -rss |head -5

6、编写脚本,使用for和while分别实现192.168.0.0/24网段内,地址是否能够ping通,若ping通则输出"success!",若ping不通则输出"fail!"
for循环

#!/bin/bash
#
NetId=192.168.0.
for HostId in {1..254};do
{
    if /bin/ping -c 1 -W 1 $NetId$HostId > /dev/null;then
        echo "$NetId$HostId lived,Ping Test Successed"
    else
        echo "$NetId$HostId not lived,Ping Test Failed"
    fi

} &
donewait

while循环

#!/bin/bash
#
NetId=192.168.0.
for HostId in {1..254};do
{
    if /bin/ping -c 1 -W 1 $NetId$HostId > /dev/null;then
        echo "$NetId$HostId lived,Ping Test Successed"
    else
        echo "$NetId$HostId not lived,Ping Test Failed"
    fi

} &
donewait

你可能感兴趣的:(第七周作业)