增加系统硬盘创建分区、shell

测试题

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

[root@localhost ~]#cat /etc/fstab 

#
# /etc/fstab
# Created by anaconda on Sat May 20 07:47:05 2023
#
# Accessible filesystems, by reference, are maintained under '/dev/disk/'.
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info.
#
# After editing this file, run 'systemctl daemon-reload' to update systemd
# units generated from this file.
#
/dev/mapper/cl-root     /                       xfs     defaults        0 0
UUID=34ae46ab-984b-40fa-bb5e-e461741803b1 /boot                   xfs     defaults        0 0
/dev/mapper/cl-home     /home                   xfs     defaults        0 0
/dev/mapper/cl-swap     none                    swap    defaults        0 0
[root@localhost ~]#cp /etc/fstab /etc/fstab.bak
[root@localhost ~]#sed -i '/^ *$/d; /^ *#/d' /etc/fstab.bak 
[root@localhost ~]#cat /etc/fstab.bak 
/dev/mapper/cl-root     /                       xfs     defaults        0 0
UUID=34ae46ab-984b-40fa-bb5e-e461741803b1 /boot                   xfs     defaults        0 0
/dev/mapper/cl-home     /home                   xfs     defaults        0 0
/dev/mapper/cl-swap     none                    swap    defaults        0 0
[root@localhost ~]#


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

[root@localhost ~]#find /var/ -type f -size +1M -name "*.db"
/var/cache/dnf/packages.db

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

rpm -q nginx && echo "Nginx is installed" || (echo "Nginx is not installed, installing..." && dnf install -y nginx) || (echo "Nginx is installed, uninstalling..." && dnf remove -y nginx)

在这里插入图片描述

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

在这里插入图片描述

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

1、虚拟机添加20G硬盘,nvme0n2;

在这里插入图片描述

2、创建分区,分别是nvme0n2p1(3G)、nvme0n2p2(4G)、nvme0n2p3(5G)

在这里插入图片描述
在这里插入图片描述在这里插入图片描述

3、格式化分区

在这里插入图片描述

4、创建物理卷

在这里插入图片描述

5、创建卷组,设置卷组名为“myvg”。创建逻辑卷,在卷组myvg上创建一个6G的逻辑卷设置卷名为“mylv”

在这里插入图片描述

6、格式化逻辑卷并创建挂载点;将逻辑卷挂在到/log目录下;

在这里插入图片描述

7、将逻辑卷扩容至10G;

在这里插入图片描述在这里插入图片描述

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

1、系统中有两个存储设设备;
2、Sda硬盘被分为两个区,sda1为1G,被挂载到/boot目录下,sda2空间为199G;
3、Sda2分区用于创建了逻辑卷组,包含70G的逻辑卷rl-root,挂载在根目录下、2G的逻辑卷rl-swap;127G的逻辑卷rl-home,挂载到/home。

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

在这里插入图片描述

#!/bin/bash

# 获取传入的网卡设备名
interface=$1

# 如果传入的设备名为空,则使用默认值 eth0
if [ -z "$interface" ]; then
    interface="eth0"
fi

# 重新加载网络配置
sudo systemctl restart NetworkManager.service

# 输出提示信息
echo "已为 $interface 配置好 IP、子网掩码、网关和 DNS。"

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

1、当客户端发起HTTP请求访问百度网页;
2、传输层协议(TCP或UDP)收到请求数据后将数据分成多分小的数据包,每个数据包都包含源端口和目的端口。
3、网络层协议收到传输层的数据包后将其添加源IP和目标IP,如果目标设备的IP地址不在本地网络中,源设备需要将数据包发给默认网关;
4、数据链路层协议收到网络层的数据包,会添加源MAC地址和目标MAC地址,源设备需要确定目标设备的MAC地址,如果目标设备不在本地网络中,原设备需要将数据包发给默认网关,此时数据包被封装成帧;
5、物理层将帧转化为比特流,并发送给目标设备;
6、目标设备的物理层接收到比特流并逐层进行解析,物理层将比特流转化为帧,数据链路层解析帧,网络层解析IP地址,传输层解析端口号,最后将数据传给应用层;
7、目标设别的应用程序接收到数据,并进行相应的处理,web服务器接收到HTTP请求;
8、目标设备的应用程序生成响应数据,并按照相反的顺序经过各层封装成数据包、帧和比特流,通过物理介质发送给源设备;

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

$#:表示传递给骄傲本分参数个数,在脚本内部使用$#可以获取传递给脚本的参数个数。
$0:表示脚本本身的名称;在脚本内部使用$0可以获取当前脚本的名称。
$@:表示传递给脚本的所有参数列表,在脚本内部受用可以获取传递给脚本的所有参数,每个参数都是独立的,可以通过$1、$2、$3等来访问具体的参数值;
$*:表示传递给脚本的所有参数列表,但将所有参数看作是一个单词,在脚本内部使用可以获取传递给脚本的所有参数但是他们被视作是一个整体,而不是独立的参数;

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

#!/bin/bash
sum_by_3=0
sum_by_4=0
numbers_by_3=""
numbers_by_4=""

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

    if (( i % 4 == 0 )); then
        sum_by_4=$((sum_by_4 + i))
        numbers_by_4="$numbers_by_4 $i"
    fi
done

echo "能被3整除的数之和为:$sum_by_3"
echo "能被4整除的数之和为:$sum_by_4"
echo "能被3整除的数有:$numbers_by_3"
echo "能被4整除的数有:$numbers_by_4"

在这里插入图片描述

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

在这里插入图片描述

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

#!/bin/bash
arr=()
for ((i=0;i<10;i++))
do
random_num=$((RANDOM % 100))
arr+=($random_num)
done
sorted_arr=($(printf%s\n’ “${arr[@]}” |sort -n))
echo “排序后的数组”
for num in${sorted_arr[@]}do
echo $num
done

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值