Sre网络班阶段测试

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

说明:

  1. 开卷,把代码和命令敲出来,能跑通,贴进来即可

2.不会写的题可以不写,但尽量写一下哪里不懂

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

答案写这里:

 sed -i.bak '/^#/d; /^$/d' /etc/fstab 

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

答案写这里:

root@yu01: var$ find /var/ -size +1M -name "*db"
/var/testdb

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

答案写这里:

#!/bin/bash
if yum list installed | grep nginx > /dev/null 2>&1; then
        yum remove nginx -y
else
         yum install nginx -y
fi

四:请用 rpm 命令列出 nginx 包中所有的配置文件(7分)

答案写这里:

rpm -qc nginx

五: 新增一块20G的硬盘,分三个区,大小分别是3GB,4GB,5GB,将这三个分区做成物理卷,然后创建卷组,在该卷组上创建一个6GB的逻辑卷,挂载至/log/ 目录下,再将该逻辑卷扩容至10GB,请写出实现步骤,文件系统不限(7分)

答案写这里:

lsblk查看硬盘
gdisk /dev/sdb
输入n添加硬盘 编号默认 分区启始默认 结束 +3G Hex code or GUID 默认   按照上面顺序依次添加 
添加完成全部硬盘后输入w保存推出

image-20240704202404675

lsblk查看分区

image-20240704202544942

#创建pv
root@2204:~# pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created.
root@2204:~# pvcreate /dev/sdb2
  Physical volume "/dev/sdb2" successfully created.
root@2204:~# pvcreate /dev/sdb3
  Physical volume "/dev/sdb3" successfully created.
#创建PG
root@2204:~#vgcreate testLG /dev/sdb1 /dev/sdb2 /dev/sdb3
  Volume group "testLG" successfully created
 #创建lV 大小为6G
root@2204:~# lvcreate -L 6g -n lv_test testLG
  Logical volume "lv_test" created.
 #创建文件系统
  root@2204:~# mkfs.xfs /dev/testLG/lv_test 
#挂载至/log/ 目录下
root@2204:~# mount /dev/testLG/lv_test /log
#扩容
root@2204:~# lvextend -L +4g /dev/testLG/lv_test 
  Size of logical volume testLG/lv_test changed from 6.00 GiB (1536 extents) to 10.00 GiB (2560 extents).
  Logical volume testLG/lv_test successfully resized.
#调整文件系统大小
root@2204:~# xfs_growfs /dev/testLG/lv_test 
#查看扩容是否成功
root@2204:~# df -h
/dev/mapper/testLG-lv_test          10G  104M  9.9G   2% /lo

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

```bash

[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

答案写这里:

 一个大小为200G的stat盘分为2个区。
Sda1大小1G挂载点为“/boot”;Sda2大小为199G分为三个LVM:
rl-root是一个主要的逻辑卷挂载点为/,大小为70G.
rl-swap为内存交换分区大小为2G
rl-home大小为127G 挂载点为/home

七: 请配置一块网卡,IP地址是 10.0.0.110,子网掩码是24位,网关是 10.0.0.2,DNS分别是 10.0.0.2 和 114.114.114.114,请写出配置文件内容,另外,写一个脚本,配置成别名,该别名对 root用户永久生效,要求传入网卡设备名可以让修改后的内容重载生效。(8分)

答案写这里:

root@ubuntu-vm2:~# vim /etc/netplan/00-installer-config.yaml 
# This is the network config written by 'subiquity'
network:
  renderer: networkd
  version: 2
  ethernets:
    ens18:
      addresses: [ 10.0.0.110/24]
      gateway4: 10.0.0.2
      nameservers:
        addresses: [10.0.0.2, 144.144.144.144]
root@ubuntu-vm2:~# netplan apply

脚本

#!/bin/bash
adapter_name=$1
echo "
# This is the network config written by 'subiquity'
network:
  renderer: networkd
  version: 2
  ethernets:
    $1:
      addresses: [ 10.0.0.110/24]
      gateway4: 10.0.0.2
      nameservers:
        addresses: [10.0.0.2, 144.144.144.144]
">/etc/netplan/00-installer-config.yaml
netplan apply

root@2204:~# vim /root/set-adapter.sh

以 root用户身份登录系统修改 .bashrc 文件,添加

root@2204:~# vim .bashrc 
alias setAdapter='/root/set-adapter.sh '
#使配置生效
source /root/.bashrc 
#测试
root@2204:~# setAdapter ens33

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

答案写这里:

应用层: 确定进程之间通信的性质,以满足用户需要以及提供网络与用户应用软件之间的接口服务。

表示层: 主要是对接收到的数据进行解释、加密与解密、压缩与解压缩等(也就是把计算机能够识别的东西转换成人能够能识别的东西(如图片、声音等))。

会话层: 会话层不参与具体的传输,它提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制。如服务器验证用户登录便是由会话层完成的。

传输层: 实现不同主机上两个进程之间的通信,包括可靠传输(TCP)和不可靠传输(UDP);

数据链路层: 数据链路层负责封装成帧、透明传输、差错检测;

网络层: 网络层负责路由选择,提供端到端的数据包传输;

物理层: 物理层主要负责传输比特流;

经过路由器将信息传输到目标主机-目标主机收到信息后按照反向解析数据。

九:当执行shell脚本时,可向shell脚本传参,请说明 $0, KaTeX parse error: Expected 'EOF', got '#' at position 1: #̲,@,$* 这几个参数的含义(10分)

答案写这里:

 $0 命令本身,包括路径

$* 传递给脚本的所有参数,全部参数合为一个字符串

$@ 传递给脚本的所有参数,每个参数为独立字符串

$# 传递给脚本的参数的个数

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

答案写这里:

#!/bin/bash
threeSum=0
fourSum=0
for a in {1..100};do
        if [ $((a % 3)) -eq 0 ]; then
                threeSum=$[threeSum+a]
        fi
        if [ $((a % 4)) -eq 0 ]; then
                fourSum=$[fourSum+a]
        fi
done
echo "threeSum=$threeSum"
echo "fourSum=$fourSum"

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

答案写这里:


#!/bin/bash
for i in {1..8}
do
  for j in {1..8}
do
    sum=$[i+j]
    if [  $[sum%2] -eq 0 ];then
    echo -ne "\033[41m  \033[0m"
    else
    echo -ne "\033[43m  \033[0m"
    fi
done
  echo
done

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

答案写这里:

#!/bin/bash
declare -a nums
for i in {1..10}; do
    nums[$i]=$((1 + RANDOM % $((100-1))))
done

echo '生成的10个随机数:'${nums[@]}

for ((i=1;i<10;i++))
do
    for ((j=0;j<10;j++))
    do
        if [[ ${nums[$j]} -gt ${nums[$j+1]} ]];then
        temp=${nums[$j]}
        nums[$j]=${nums[$[$j+1]]}
        nums[$[$j+1]]=$temp
        fi
    done
done

echo '       排序完成:'${nums[@]}
  • 21
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值