sre阶段测试

Sre网络班阶段测试(满分100分)

说明:

  1. 开卷,把代码和命令敲出来,能跑通,贴进来即可
    2.不会写的题可以不写,但尽量写一下哪里不懂

一:用sed 命令修改/etc/fstab文件,删除文件中的空行,注释行,并保留文件备份(7分)

答案写这里:mv /etc/fstab /etc/fstab.bak
sed -i ‘/^$/d’ /etc/fstab
sed -i ‘/^#/d’ /etc/fstab

二: 用 find 命令查找出 /var/ 目录中大于1M且以db结尾的文件(7分)

答案写这里:find /var/ -type f -name “*.db” -size +1M

三: 先判断当前主机是否安装了nginx包,如果没安装,则执行命令安装,如果己安装,则执行命令卸载,用短路运算实现(rocky8.6)(7分)

答案写这里:
rpm -q nginx && yum remove -y nginx || yum install -y nginx

四:请用 rpm 命令列出 nginx 包中所有的配置文件(7分)
答案写这里:rpm -qc nginx

五: 新增一块20G的硬盘,分三个区,大小分别是3GB,4GB,5GB,将这三个分区做成物理卷,然后创建卷组,在该卷组上创建一个6GB的逻辑卷,挂载至/log/ 目录下,再将该逻辑卷扩容至10GB,请写出实现步骤,文件系统不限(7分)
答案写这里:
fdisk /dev/sdX
pvcreate /dev/sdX1 /dev/sdX2 /dev/sdX3
vgcreate myvg /dev/sdX1 /dev/sdX2 /dev/sdX3
lvcreate -L 6G -n mylv myvg
mkfs.ext4 /dev/myvg/mylv
mkdir /log
mount /dev/myvg/mylv /log
lvextend -L 10G /dev/myvg/mylv
resize2fs /dev/myvg/mylv

六:根据下列命令执行结果,写出你能读出来的信息(7分)

[mage@rocky86 ~]$ lsblk
NAME              MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                 8:0    0  200G  0 disk
├─sda1              8:1    0    1G  0 part /boot
└─sda2              8:2    0  199G  0 part
  ├─rl-root       253:0    0   70G  0 lvm  /
  ├─rl-swap       253:1    0    2G  0 lvm  [SWAP]
  └─rl-home       253:2    0  127G  0 lvm  /home

答案写这里:

七: 请配置一块网卡,IP地址是 10.0.0.110,子网掩码是24位,网关是 10.0.0.2,DNS分别是 10.0.0.2 和 114.114.114.114,请写出配置文件内容,另外,写一个脚本,配置成别名,该别名对 root用户永久生效,要求传入网卡设备名可以让修改后的内容重载生效。(8分)
答案写这里:
配置内容:
TYPE=Ethernet
BOOTPROTO=static
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=10.0.0.110
NETMASK=255.255.255.0
GATEWAY=10.0.0.2
DNS1=10.0.0.2
DNS2=114.114.114.114
脚本:
#!/bin/bash
echo -e “TYPE=Ethernet\n
BOOTPROTO=static\n
NAME=eth0\n
DEVICE=eth0\n
ONBOOT=yes\n
IPADDR=10.0.0.110\n
NETMASK=255.255.255.0\n
GATEWAY=10.0.0.2\n
DNS1=10.0.0.2\n
DNS2=114.114.114.114” > /etc/sysconfig/network-scripts/ifcfg-eth0
systemctl restart network

八: 请描述一下一个网络请求从一台设备到另一台设备的具体过程(10分)

答案写这里:

  1. 应用层:发送请求
    • 应用程序生成请求数据,例如一个 HTTP 请求。
    • 请求数据被传递给传输层。
  2. 传输层:建立连接
    • 传输层将请求数据分割成较小的数据块(称为报文段)。
    • 传输层使用传输协议(如 TCP 或 UDP)为每个报文段添加必要的控制信息,例如源端口和目标端口号。
    • 报文段被传递到网络层。
  3. 网络层:寻址和路由
    • 网络层为报文段添加源 IP 地址和目标 IP 地址。
    • 路由器根据目标 IP 地址查找最佳路径,并将报文段发送到下一个网络节点。
    • 报文段在网络中被传递到目标设备所在的网络。
  4. 数据链路层:封装成帧
    • 数据链路层将报文段封装成数据帧,每个数据帧包含源和目标 MAC 地址。
    • 数据帧通过物理层的网络媒介(如以太网、Wi-Fi)进行传输。
  5. 物理层:传输数据
    • 数据帧通过物理层的连接介质,如电缆或无线信号,从源设备传输到目标设备。
  6. 物理层:接收数据
    • 目标设备的物理层接收数据帧,并将其传递给数据链路层。
  7. 数据链路层:解封装
    • 数据链路层从数据帧中提取报文段。
  8. 网络层:解析 IP 地址
    • 网络层从报文段中提取 IP 地址。
  9. 传输层:接收数据
    • 目标设备的传输层接收报文段,并根据端口号将数据传递给相应的应用程序。
  10. 应用层:处理请求
    • 接收到的请求数据由目标设备上的应用程序进行处理和响应。

九:当执行shell脚本时,可向shell脚本传参,请说明 $0, KaTeX parse error: Expected 'EOF', got '#' at position 1: #̲,@,$* 这几个参数的含义(10分)
答案写这里:
$0:表示脚本本身的名称,即脚本文件的路径。

$#:表示传递给脚本的参数的数量。

$@:表示一个包含所有传递给脚本的参数的列表。

$*:表示一个将所有传递给脚本的参数视为单个字符串的列表。

十: 写一个脚本,计算出100以内能被3整除的数之和,以及能被4整除的数之后,然后再输出这两个数字(10分)

答案写这里:

#!/bin/bash

sum1=0
sum2=0

for (( i=1; i<=100; i++ )); do
if (( i % 3 == 0 )); then
sum1=$(( sum1 + i ))
fi

if (( i % 4 == 0 )); then
sum2=$(( sum2 + i ))
fi
done

echo “能被3整除的数之和: s u m 1 " e c h o " 能被 4 整除的数之和: sum1" echo "能被4整除的数之和: sum1"echo"能被4整除的数之和:sum2”

十一:写一个脚本,打印输出8行8列的国际象棋棋盘,使用红黄两色(10分)

答案写这里:
#!/bin/bash

定义红色和黄色的 ANSI 转义码

RED=“\033[31m”
YELLOW=“\033[33m”
RESET=“\033[0m”

定义棋盘尺寸

ROWS=8
COLUMNS=8

遍历棋盘的每个格子

for (( row=1; row<=ROWS; row++ )); do
for (( col=1; col<=COLUMNS; col++ )); do
# 计算格子的奇偶性以确定颜色
if (( (row + col) % 2 == 0 )); then
# 偶数格子为红色
echo -e -n “ R E D ██ {RED}██ RED██{RESET}”
else
# 奇数格子为黄色
echo -e -n “ Y E L L O W ██ {YELLOW}██ YELLOW██{RESET}”
fi
done
echo # 换行到下一行
done

十二:写一个脚本,生成10个随机数放到一个数组中,再将该数组中的元素从小大到排序进行输出(10分)

答案写这里:

#!/bin/bash

生成10个随机数并放入数组

for (( i=0; i<10; i++ )); do
random_number= ( ( R A N D O M r a n d o m a r r a y [ (( RANDOM % 100 )) # 生成0到99之间的随机数 random_array[ ((RANDOMrandomarray[i]=$random_number
done

对数组进行排序

sorted_array=( ( p r i n t f ′ (printf '%s\n' " (printf{random_array[@]}" | sort -n))

输出排序后的数组

echo “排序后的数组:”
for number in “ s o r t e d a r r a y [ @ ] " ; d o e c h o " {sorted_array[@]}"; do echo " sortedarray[@]";doecho"number”
done

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值