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