-
- 解析/etc/sysconfig/network-scripts/ifcfg-eth0配置格式?
-
答:vim /etc/sysconfig/network-scripts/ifcfg-eth0
-
ip addr= -
prefix= -
gateway= -
DNS1= -
删除UUID -
:wq -
nmcli con -
nmcli con down eth0 -
systemctl restart NetworkManager -
2.使用脚本判断 你主机所在网络内在线的主机IP有哪些? ping通则在线。
-
答:apt install fping
-
vim ip_online.sh -
#!/bin/bash -
# 显示在线主机 -
fping -a -g 10.0.0.0/24 -
![图片]()
-
- 使用while read line和/etc/passwd,计算用户id总和。
-
答:#!/bin/bash
-
sum=0 -
while read line -
do -
uid=$(echo $line | awk -F: '{print $3}') -
sum=$((sum+uid)) -
done < /etc/passwd -
echo "计算机用户id总和:$sum" -
- 总结索引数组和关联数组,字符串处理,高级变量使用及示例。
-
答:shell里面的数组就是列表
-
一维数组是简单的数组,按照顺序将一系列数据排列下来即可,数组本身没有场景含义。
-
数组的表现样式:
-
数组[下标] #下标就是索引,从0开始 -
数组的定义:
-
数组名=(a b c d e f ) -
数组名[下标]=元素 -
关联数组:
-
declare -A声明,自定义 key,键值存储 -
字符串处理:
-
长度:${#变量} -
截取:${变量:起始:长度} -
删除:#删前缀、%删后缀 -
替换:/单个、//全局 -
str="abc123abc" -
# 替换第一个abc -
echo ${str/abc/666} -
# 全局替换 -
echo ${str//abc/666} -
- 求10个随机数的最大值与最小值。
-
答:#!/bin/bash
-
1.定义空数组
-
arr=()
-
2.循环生成10个随机数 $RANDOM
-
for ((i=0;i<10;i++))
-
do
-
num=$RANDOM -
arr+=($num) -
done
-
输出10个随机数
-
echo "生成的10个随机数:${arr[@]}"
-
3.初始化最大、最小值
-
max=$
-
min=$
-
4.遍历比较
-
for n in $
-
do
-
if [ $n -gt $max ];then -
max=$n -
fi -
if [ $n -lt $min ];then -
min=$n -
fi -
done
-
5.输出结果
-
echo "最大值:$max"
-
echo "最小值:$min"
-
- 使用递归调用,完成阶乘算法实现。
-
- 总结主机到主机的包传递过程。
-
答:主机A到主机B,先经历OSI七层模型,由上到下(应用层、表示层、会话层、传输层、网络层、链路层、物理层)层层封装;
-
主机B收到数据包后再根据七层模型由下到上,层层解封装。 -
- 总结IP地址 A, B, C, D 类,并解析IP地址的组成
-
答:结构:20字节、源ip【4字节】、目标ip【4字节】、IP地址由网络位与主机位组成,
-
版本:ipv4【32位】、ipv6【128位】 -
ipv4样式: -
10.0.0.12 255.255.255.0 -
10.0.0.12/24(CIDR模式) -
私网IP分类: -
A【10.0.0.0/8】 -
B【172.16.0.0/16~172.31.0.0/16】 -
C【192.168.0.0/24~192.168.255.0/24】 -
D【224-239】 -
- 201.222.200.111/18计算主机数?子网掩码?说明计算方法。
-
答:网络位:18
-
主机位:32-18=14,2的14次方-2=16382(网络地址、广播地址不可用,需减 2)
-
子网掩码:前 18 位 为网络位,18/8=2余2,
-
换成二进制是11111111 11111111 11000000 000000 -
在换算成十进制:255.255.192.0(也就是最终子网掩码) -
- 当A(10.0.1.1/16)与B(10.0.2.2/24)通信,A如何判断是否在同一个网段?A和B能否通信?
-
答:在同一网段,根据掩码位数计算对方的IP判断,不能通信
-
- 如何将10.0.0.0/8划分32个子网?求每个子网的掩码,主机数。
-
答:计算借位数量(借的是主机位数)
-
公式:2的n次方大于等于子网数,由此得出2的5次方等于32
-
原网络位数是8,所以子网掩码是8+5=13,换算成十进制是255.148.0.0
-
主机数:32-13=19,2的19次方-2=524286

