Sre网络班阶段测试

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

sed -i.bak '/^#/d;/^$/d' /etc/fstab
sed -ri.bak '/^(#|$)/d' /etc/fstab

[root@lgxtest1 ~]#cat /etc/fstab
/dev/mapper/rl-root     /                       xfs     defaults        0 0
UUID=435a3876-efc3-4865-8164-72b9240531ff /boot                   xfs     defaults        0 0
/dev/mapper/rl-swap     none                    swap    defaults        0 0
192.168.29.100:/data/www	/var/www/html/wp-content/uploads	nfs	 defaults,_netdev	0 0

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

find /var/ -name *.db -size +1M

[root@lgxtest1 ~]#find /var/ -name *.db -size +1M
/var/lib/mlocate/mlocate.db
/var/lib/pgsql/.cache/tracker/meta.db
/var/cache/dnf/packages.db

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

which nginx && yum remove nginx || yum install nginx

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

rpm -qc nginx

[root@lgxtest1 ~]#rpm -qc nginx
/etc/logrotate.d/nginx
/etc/nginx/fastcgi.conf
/etc/nginx/fastcgi.conf.default
/etc/nginx/fastcgi_params
/etc/nginx/fastcgi_params.default
/etc/nginx/koi-utf
/etc/nginx/koi-win
/etc/nginx/mime.types
/etc/nginx/mime.types.default
/etc/nginx/nginx.conf
/etc/nginx/nginx.conf.default
/etc/nginx/scgi_params
/etc/nginx/scgi_params.default
/etc/nginx/uwsgi_params
/etc/nginx/uwsgi_params.default
/etc/nginx/win-utf

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

1.给主机添加一块20G的硬盘,lsblk -f 查看新添加的设备
2.fdisk /dev/nvme0n2 进行分区/dev/nvme0n2p1(3G) /dev/nvme0n2p2 (4G) /dev/nvme0n2p3 (5G)
3.将三个分区创建成物理卷 
    pvcreate /dev/nvme0n2p1 /dev/nvme0n2p2 /dev/nvme0n2p3
[11:30:00 root@lgxtest1 ~]#pvs
  PV             VG      Fmt  Attr PSize   PFree 
  /dev/nvme0n1p2 rl      lvm2 a--  <49.00g     0 
  /dev/nvme0n2p1 testvg0 lvm2 a--   <3.00g  1.99g
  /dev/nvme0n2p2 testvg0 lvm2 a--   <4.00g <4.00g
  /dev/nvme0n2p3 testvg0 lvm2 a--   <5.00g     0
4.将三个分区创建成名为testvg0 的卷组
    vgcreate testvg0 /dev/nvme0n2p1 /dev/nvme0n2p2 /dev/nvme0n2p3
[11:27:33 root@lgxtest1 ~]#vgs
  VG      #PV #LV #SN Attr   VSize   VFree 
  rl        1   2   0 wz--n- <49.00g     0 
  testvg0   3   1   0 wz--n- <11.99g <5.99g
5.在卷组testvg0上创建6G的逻辑卷
    lvcreate -L 6G -n lv-test testvg0
[11:30:13 root@lgxtest1 ~]#lvs
  LV      VG      Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  root    rl      -wi-ao---- 46.96g                                                    
  swap    rl      -wi-ao----  2.03g                                                    
  lv-test testvg0 -wi-a-----  6.00g 
6.将逻辑卷挂载到/log目录下,需要提前创建好目录
    mkdir /log
7.临时挂载
 mount /dev/testvg0/lv-test /log
8.永久挂载
 查看逻辑卷UUID
[11:32:28 root@lgxtest1 ~]#lsblk -f
NAME            FSTYPE LABEL            UUID                                   MOUNTPOINT
nvme0n2                                                                        
├─nvme0n2p1     LVM2_m                  JlG8Gr-TNqI-Oh2e-Z5AU-8t1s-z0gE-3pDqmR 
│ └─testvg0-lv--test
│               ext4                    5cc8aaea-f321-4ab8-9392-0d60d0434ea3   
├─nvme0n2p2     LVM2_m                  8GuqMC-S1Gz-S9LK-tSd6-cvdJ-Q22T-TAEdG2 
└─nvme0n2p3     LVM2_m                  Q0m0Lw-YIly-waqh-eCps-duLi-vU06-t0IsKb 
  └─testvg0-lv--test
                ext4                    5cc8aaea-f321-4ab8-9392-0d60d0434ea3
 
vim /etc/fstab //修改配置文件添加设备挂载点
UUID=5cc8aaea-f321-4ab8-9392-0d60d0434ea3 /log  ext4    defaults        0 0

mount -a  //读取/etc/fstab中配置的挂载信息

df -h 
/dev/mapper/testvg0-lv--test  5.9G   24M  5.6G    1% /log


9.将逻辑卷扩容至10G
  lvextend -r -L +4G /dev/testvg0/lv-test

df -h
/dev/mapper/testvg0-lv--test  9.8G   27M  9.3G    1% /log

六:根据下列命令执行结果,写出你能读出来的信息(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

硬盘sda 200G,有sda1,sda2两个分区
sda1 分区为1G大小,part类型,挂载点 /boot
sda2 分区为199G大小,part类型,有三个逻辑卷(rl-root,rl-swap,rl-home)
rl-root逻辑卷为70G大小,lvm类型,挂载点 /
rl-swap逻辑卷为2G大小,lvm类型,挂载点 [swap]
rl-home逻辑卷为127G大小,lvm类型,挂载点 /home

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

DEVICE=eth0
NAME=eth0
BOOTPROTO=static
IPADDR=10.0.0.110
PREFIX=24
GATEWAY=10.0.0.2
ONBOOT=yes
DNS1=10.0.0.2
DNS2=114.114.114.114

1.创建脚本vim net.sh
#!/bin/bash
eth=$1
ip=$2        //$2-$6参数设置为固定值,执行脚本只需要输入网卡名修改为固定的配置文件内容
prefix=$3
getway=$4
dns1=$5
dns2=$6
file=/etc/sysconfig/network-scripts/ifcfg-$eth

dn2 (){
        grep "DNS2" $file >/dev/null||echo "#DNS2=" >> $file
}

setconf (){
        sed -i "s/^.*IPADDR.*$/IPADDR=$ip/" $file
        sed -i "s/^.*PREFIX.*$/PREFIX=$prefix/" $file
        sed -i "s/^.*GATEWAY.*$/GATEWAY=$getway/" $file
        sed -i "s/^.*DNS1.*$/DNS1=$dns1/" $file
        sed -i "s/^.*DNS2.*$/DNS2=$dns2/" $file
}

up (){
        nmcli connection reload
        nmcli connection up $eth
}

dn2
setconf
up

2.在root家目录修改.bashrc文件
vim .bashrc
    alias net='bash /root/net.sh'

source .bashrc //生效文件

3.运行测试
[root@lgxtest1 ~]#net eth0 192.168.29.225 24 192.168.29.2 192.168.1.1 114.114.114.114
连接已成功激活(D-Bus 活动路径:/org/freedesktop/NetworkManager/ActiveConnection/12)

[root@lgxtest1 ~]#cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
NAME=eth0
BOOTPROTO=static
IPADDR=192.168.29.225
PREFIX=24
GATEWAY=192.168.29.2
ONBOOT=yes
DNS1=192.168.1.1
DNS2=114.114.114.114

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

应用层:应用层发起网络数据请求
传输层:封装应用层请求的进程端口
网络层:将传输层的数据封装在网络层协议数据包IP中
数据链路层:将网络层数据填好MAC地址,数据帧包含源MAC地址和目标MAC地址。

九:当执行shell脚本时,可向shell脚本传参,请说明 $0, $#,$@,$* 这几个参数的含义(10分)

$0 对应执行脚本时的命令包括命令中路径显示
$# 获取对应传入脚本的参数个数,统计的参数不包括 $0。
$@ 显示所有参数的列表,不包括 $0。
$* 显示其值和 $@ 相同。但 "$*" 和 "$@" 有所不同。"$*" 把所有参数合并成一个字符串,而 "$@" 会得到一个字符串参数数组。

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

#!/bin/bash
sum1=0
sum2=0

for ((i=3; i<=100; i++)); do
        num1=$[i%3]
        [ $num1 -eq 0 ] && let sum1+=i

done

for ((j=4; j<=100; j++)); do
         num2=$[j%4]
         [ $num2 -eq 0 ] && let sum2+=j

done

echo "被3整除数之和:$sum1"
echo "被4整除数之和:$sum2"


[root@lgxtest1 ~]#./num.sh 
被3整除数之和:1683
被4整除数之和:1300

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

#!/bin/bash
for ((i=1; i<=8; i++));do
  for ((j=1; j<=8; j++));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 numbers
for ((i=0; i<10; i++));do
        numbers[$i]=$RANDOM
done
echo "原顺序:${numbers[*]}"

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值