关于shell的面试题小练习(三道)

目录

第一题:(关于内存)

第一步:需了解使用的大纲命令

第二步过滤取得具体所需的值

第三步:具体执行步骤及命令

1)安装邮件软件

2)编辑脚本

方法一:脚本编辑1

方法二:脚本编辑2

第二题(关于web服务)

第一步:需了解使用的大纲命令

第二步:编辑脚本

第三题:(if条件匹配)


第一题:(关于内存)

        判断当前磁盘剩余空间是否有20G,如果小于20G,则将报警邮件发送给管理员,每天检查一次磁盘剩余空间。

第一步:需了解使用的大纲命令

判断内存使用的命令free  -m

判断硬盘使用情况的命令 df -h 

第二步过滤取得具体所需的值

[root@server a2]# df -h |grep -w / | tr -s " " |cut -d " " -f4
11G       # 含有单位处理较复杂,因此我们直接使用“df”命令(该命令默认使用单位为字节)

        [root@server a2]# df -h |grep -w / | tr -s " " |cut -d " " -f4 | cut -d "G" -f1
        11           # 针对上命令使用的取巧方法

[root@server a2]# df |grep -w / | tr -s " " |cut -d " " -f4
11091768                # 需化单位%1024单位为 K 。在除以%1024单位为兆。再除以%1024单位为G

第三步:具体执行步骤及命令

1)安装邮件软件

[root@server a2]# yum install s-nail -y
#需强制保存

set from=3192238232@qq.com
set smtp=smtp.qq.com
set smtp-auth-user=3192238232@qq.com
set smtp-auth-password=doc....ubqbibi
set smtp-auth=login
2)编辑脚本
方法一:脚本编辑1

[root@server a2]# vim disk1.sh

#!/bin/bash
disk=$(df -m | grep -w "/" |tr -s " " | cut -d " " -f4)

str1="warning disk space less than 20G"

if [ "$disk" -lt 20000 ];then
        echo "$str1" | mail -s "$str1" 3192238232@qq.com
fi

        20G=20000兆

# 编写周期性计划        

[root@server a2]# vim /etc/crontab 

0 0 * * * root /bin/bash /root/a2/disk1.sh
方法二:脚本编辑2
#!/bin/bash
disk=$(df -h | grep -w "/" |tr -s " " | cut -d " " -f4 | cut -d "G" -f1)

str1="warning disk space less than 20G"

if [ "$disk" -lt 20 ];then
        echo "$str1" | mail -s "$str1" 3192238232@qq.com
fi

其余步骤不变!!

第二题(关于web服务)

        判断web服务是否运行 (1、查看进程的方式判断该程序是否运行,2、通过查看端口的方式判断该程序是否运行),如果没有运行,则启动该服务并配置防火墙规则。

第一步:需了解使用的大纲命令

[root@server a2]# ps -ef | grep httpd |grep -v "grep" |wc -l 
5        

第二步:编辑脚本

[root@server a2]# vim web1.sh

#!/bin/bash
ps=$(ps -ef |grep "httpd" | grep -v "grep" | wc -l)

if [ $ps -gt 0 ];then
        echo "httpd 正在运行!"
else
        echo "httpd 没有正常运行"
        yum install httpd -y &> /dev/null
        systemctl start httpd
        systemctl start firewalld
        firewall-cmd --permanent --zone=public --add-service=http > /dev/null
        firewall-cmd --permanent --zone=public --add-port=80/tcp > /dev/null
        firewall-cmd --reload > /dev/null
        echo "httpd已经开始运行,防火墙策略已配置!!"

fi

[root@server a2]# bash web1.sh 
httpd正在运行!

端口过滤:

[root@server a2]# netstat -lntup |grep 80 | wc -l 
[root@server a2]# ss -lntup |grep 80  |wc -l 

第三题:(if条件匹配)

3、使用curl命令访问第二题的web服务,看能否正常访问,如果能正常访问,则返回web serveris running;如果不能正常访问,返回12状态码。

#!/bin/bash
curl -s 192.168.17.128 > /dev/null

if (($?==o))
then
        echo "web 正常运行!"
else
        echo "web 没有正常运行!"
        exit 12
fi

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/244089.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

玩转 K8s 权限控制:RBAC + kubeconfig 搞定 kubectl 权限管理那些事

1. 先抛需求 当一个 K8s 集群需要被多个租户共享时,就涉及到了权限问题,比如你是管理员,这时候你会面临着“给每个用户分配一个 Namespace”类似的需求。 更进一步,可能你需要限制特定用户只能够对集群进行特定的操作,…

Dialogue Transformers:如何解决医学大模型【偏离主诉和没抓住核心】,建立抗干扰的能力,使得发现用户问题会一追到底?

Dialogue Transformers:实现抗干扰能力的对话模型 抗干扰能力基于 Transformer 的实现技术优化目标 抗干扰能力 前置知识:从【注意力机制】开始,到【Transformer】的零基础【大模型】系列 Dialogue Transformers 论文地址:https:/…

如何用CHAT写复习教案?

近日天气恶劣,好多地方的学校都停课了,改为线上学习,那作为老师,如何安排好线上的教学方案呢?下面小编分享下朋友用CHATGPT写的这份复习教案。 问CHAT:一年级语文上册复习计划教案 CHAT回复:教…

网络安全事件分级指南

文章目录 一、特别重大网络安全事件符合下列情形之一的,为特别重大网络安全事件:通常情况下,满足下列条件之一的,可判别为特别重大网络安全事件: 二、重大网络安全事件符合下列情形之一且未达到特别重大网络安全事件的…

HarmonyOS--基础组件Text

Text组件 可以包含Span子组件。 接口 Text(content? : string | Resource) string: Text(我是ttttt) Resource: Text($r(app.string.aaaaaa)) 先找限定词目录,找不到内容 找base目录 属性 除支持通用属性外,还支持以下属性: 名称 参数…

工厂设备数据采集如何更高效?

​随着工业4.0时代的到来,工厂设备数据采集变得越来越重要。然而,在实际的生产环境中,工厂设备数据采集面临着诸多痛点和难点。本文将分析这些痛点和难点,并介绍如何解决这些问题,提高工厂设备数据采集的效率。 一、工…

Linux 线程池源码剖析

1 了解线程池 1-1线程池的概述 由一个任务队列和一组处理队列的线程组成。一旦工作进程需要处理某个可能“阻塞”的操作,不用自己操作,将其作为一个任务放到线程池的队列,接着会被某个空闲线程提取处理。 1-2线程池的组件 任务 待处理的工作,通常由标识、上下文和处理…

xilinx 产品系列分类

1. 按照产品代数,分为6代,7代,ultrascale,ultrascale,Versal。6代是较早的器件,现在基本是7代及之后的产品,最新的一代是Versal,网上很多说法提到7系列也即是7代,在第二章…

以柔克刚:软体机器人的柔性革命与无限可能

原创 | 文 BFT机器人 戳“精彩内容”不容错过 你知道什么是软体机器人吗?真的是表面所理解的那样,这个“机器人是软的?”。当然不是啦!那下面小编将带你具体解读一下软体机器人的来源与发展。 软体机器人是一类由软体驱动材料构成…

seata的安装及基本使用

seata的安装及基本使用 安装注意事项1. 启动时需要带上seata所在服务器的地址和端口(默认是8091)2. seata的服务端配置文件application.yml中在配置nacos的namespace时,需要注意的是:对应的值是nacos中namespace的id, 而不是名称&…

3分钟打造私人微信ChatGPT助手:新手友好指南!

接上文: https://mp.weixin.qq.com/s/RCqX0rx7TEu1gIwHEBBWKQ 本文适用于小白用户,技术大佬勿入! 前言 这里教大家如何快速的拥有一个属于自己的微信GPT助手 我个人其实不是这么部署的,但是为了方便小白用户,探索了一个…

【AI底层逻辑】——“数学华尔兹”之一元线性回归

一元线性回归模型想必大家都耳熟能详,这里不再赘述。但在使用python中机器学习包时一定见过类似模型评价参数的输出,这一章我们就讲一讲回归分析里一些模型评价概念! 一、方差分析ANOVA 方差分析是一种用于确定线性回归模型中不同变量对目标…

Java版工程行业管理系统源码-专业的工程管理软件-提供一站式服务

鸿鹄工程项目管理系统 Spring CloudSpring BootMybatisVueElementUI前后端分离构建工程项目管理系统 项目背景 随着公司的快速发展,企业人员和经营规模不断壮大。为了提高工程管理效率、减轻劳动强度、提高信息处理速度和准确性,公司对内部工程管理的提…

数字孪生轻量化引擎——AMRT3D引擎

随着全球经济亟待复苏,作为科技发展主要需求技术之一,数字孪生已经成为全球多个国家重点布局行业。例如,美国工业互联网盟将数字孪生作为工业互联网落地的核心和关键,德国工业4.0参考架构将数字孪生作为重要内容。 数字孪生已经形…

【问题解决】将页面下载为PDF文件(前端实现)

在前端开发过程中,将html页面下载为pdf文件的思路:使用html2canvas和jsPDF两个库,大致流程就是首先使用html2canvas库将组件内容转换为图像,然后使用jsPDF库将图像生成为PDF文件。 安装html2canvas库 npm install html2canvas安…

联邦学习算法介绍-FedAvg详细案例-Python代码获取

联邦学习算法介绍-FedAvg详细案例-Python代码获取 一、联邦学习系统框架二、联邦平均算法(FedAvg)三、联邦随梯度下降算法 (FedSGD)四、差分隐私随联邦梯度下降算法 (DP-FedSGD)五、差分隐私联邦平均算法 (DP-FedAVG)六…

word图片点击放大,word图片双击放大

网上自己搜了半天,都是顾左右而言他,直接实践一下。 干货就是:调整word视图为阅读模式,双机图片 就能放大查看,然后还会有一个 放大镜供点击放大到整个屏幕。 其实挺好理解的,word跟wps不同,w…

二十六、模型、视图、代理

二十六、模型、视图、代理 模型(Model) InterView框架中所有模型都基于抽象基类QAbstractItemModel类,此类由QAbstractListModel、QAbstractTableModel和QAbstractProxyModel类继承。 视图(View) InterView框架中的…

为什么需要分库分表,如何实现?

本文我们主要讲解“为什么需要分库分表,如何实现”。 在前文中讲到了读写分离,读写分离优化了互联网读多写少场景下的性能问题,考虑一个业务场景,如果读库的数据规模非常大,除了增加多个从库之外,还有其他…

爬虫 scrapy ——scrapy shell调试及下载当当网数据(十一)

目录 一、scrapy shell 1.什么是scrapy shell? 2.安装 ipython 3.使用scrapy shell 二、当当网案例 1.在items.py中定义数据结构 2.在dang.py中解析数据 3.使用pipeline保存 4.多条管道的使用 5.多页下载 参考 一、scrapy shell 1.什么是scrapy shell&am…