Linux运维面试题(三)之shell编程类

news2024/11/26 20:30:04

Linux运维面试题(三)之shell编程类

  • 文本截取
    • 有一个b.txt文本,要求将所有域名截取出来,并统计重复域名出现的次数
    • 统计当前服务器正在连接的IP地址,并按连接次数排序(cut不能以空格做分隔符)
  • 随机字符串
  • 网站检测

文本截取

有一个b.txt文本,要求将所有域名截取出来,并统计重复域名出现的次数

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

  • 默认从小到大

统计当前服务器正在连接的IP地址,并按连接次数排序(cut不能以空格做分隔符)

在这里插入图片描述

  • netstat -an查询所有连接,监听,连接已经建立
  • awk截取,除非“空格”作为分隔符。
    在这里插入图片描述
  • “:”作为分隔符,截取第一列。

随机字符串

  • 在这里插入图片描述
    随机字符串生成:
  • 在这里插入图片描述
  • /dev/random 依赖系统中断生成随机字符串,可以保证数据的随机性但生成数据慢,会占用系统进程资源。
    /dev/urandom 快,但随机性不足,常用。(含二进制乱码)
  • 在这里插入图片描述
  • 例如:echo “aa…+1 b2c/*$dd 3 ls 4” | tr -dc ‘0-9\n’
    1 2 3 4
#!/bin/bash
if [ ! -d /atguigu ]    #判断测试目录是否建立
then
       mkdir /atguigu
fi
cd /atguigu           #进入测试目录
for (( i=1 ; i<=10; i++ ))   #循环10次,每次循环建立6位随机数文件
do
filename=$(tr -dc 'A-Za-z0-9' < /dev/urandom | head -c 6)
touch "$filename"_gg.txt
done

(2)生成随机数字:

  • 在这里插入图片描述

网站检测

  • ping 消耗资源最少,但不准确,只能检查双方网络是通的。
  • 但有可能80端口死机或者apache死机。
  • (1)批量检查多个网站是否可以正常访问,要求使用shell数组实现,检测策略尽量模拟用户真实访问模式
  • http://www.baidu.com
  • netstat只能查询本机,而不能查询对方。而nmap 主动探测扫描端口,连接端口,返回数据。
    在这里插入图片描述
  • 数组声明: array_n=(1 2 3) 调用echo ${array_n[*]}
    在这里插入图片描述
  • curl: 字符网页访问工具。开源的用于数据传输的命令行工具。可以用于http访问,上传下载、用户认证、代理访问等。
    格式: curl [选项] url或IP地址
  • 选项:
    -o 将命令输出保存在指定文件,不返回网页内容
    -s Silent模式。不输出任务内容
    -w 按指定格式输出内容,如:-w %{http_code}:输出http状态码
    –connect-timeout:连接超时时间
  • 在这里插入图片描述

    code= ( c u r l − o / d e v / n u l l − s − − c o n n e c t − t i m e o u t 5 − w ′ (curl -o /dev/null -s --connect-timeout 5 -w '%{http_code}' (curlo/dev/nullsconnecttimeout5wi | grep -E “200|300”)
    if [“ c o d e " ! = " " ] t h e n e c h o " code" != ""] then echo " code"!=""]thenecho"i is ok”>> /root/ok.log
    else
    sleep 10
    code= ( c u r l − o / d e v / n u l l − s − − c o n n e c t − t i m e o u t 5 − w ′ (curl -o /dev/null -s --connect-timeout 5 -w '%{http_code}' (curlo/dev/nullsconnecttimeout5wi | grep -E “200|300”)

    在这里插入图片描述
    在这里插入图片描述
  • 尝试连接时间不超过五秒,grep -E扩展正则/egrep
  • 只要code变量不为空,网页可以访问。
  • 防止有网络延迟。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vis相关的期刊会议

中国计算机学会推荐国际学术会议和期刊目录 文档&#xff0c; 下载 link&#xff1a;CCF推荐国际学术刊物目录-中国计算机学会 一.可视化方向文章 1.IEEE VIS&#xff0c;是由 IEEE Visualization and Graphics Technical Committee(VGTC) 主办的数据可视化领域的顶级会议&a…

VMware桥接模式无法识别英特尔AX200无线网卡解决办法

1.先到英特尔网站下载最新驱动&#xff0c;更新网卡驱动适用于 Intel 无线网络卡的 Windows 10 和 Windows 11* Wi-Fi 驱动程序 2.到控制面板查看无线网卡属性是否有下图组件 没有的话&#xff0c;依次操作 安装---服务---添加---从磁盘安装----浏览--进入VMware安装目录&…

Linux系统的目录结构

目录 一、Linux系统使用注意 1、Linux严格区分大小写 2、Linux文件"扩展名" 3、Linux中所有内容以文件形式保存 4、Linux中存储设备都必须在挂载之后才能使用 二、目录结构 1、Linux分区与Windows分区 2、Linux系统文件架构 3、Linux系统的文件目录用途 一、…

Docker【安装与基本使用】

【1】Docker的安装 注意&#xff1a;如果之前安装过docker其他版本&#xff0c;请删除干净。 docker-01 10.0.0.51 2G docker-02 10.0.0.52 2G docker-01 [rootdocker-01 ~]# cp -rp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime cp: overwrite ‘/etc/localtime’? …

(中等)LeetCode146 LRU 缓存 Java

本题有两种实现操作&#xff0c;需要使用到一个哈希表和一个双向链表。在Java语言中&#xff0c;有一种结合了哈希表和双向链表的数据结构&#xff0c;LinkedHashMap import java.util.LinkedHashMap; import java.util.Map;class LRUCache extends LinkedHashMap<Integer,…

网络运维能转型到系统运维吗?

很多网工处于刚起步的初级阶段&#xff0c;各大公司有此专职&#xff0c;但重视或重要程度不高&#xff0c;可替代性强&#xff1b;小公司更多是由其它岗位来兼顾做这一块工作&#xff0c;没有专职&#xff0c;也不可能做得深入。 现在开始学习入门会有一些困难&#xff0c;不…

【深度学习】日常笔记13

前向传播&#xff08;forward propagation或forward pass&#xff09;指的是&#xff1a;按顺序&#xff08;从输⼊层到输出层&#xff09;计算和存储神经⽹络中每层的结果。 绘制计算图有助于我们可视化计算中操作符和变量的依赖关系。下图是与上述简单⽹络相对应的计算图&…

【C语言】深入了解分支和循环语句

&#x1f341; 博客主页:江池俊的博客 &#x1f341;收录专栏&#xff1a;C语言——探索高效编程的基石 &#x1f341; 如果觉得博主的文章还不错的话&#xff0c;请点赞&#x1f44d;收藏&#x1f31f; 三连支持一下博主&#x1f49e; &#x1f4ab;“每一天都是一个全新的机会…

【优选算法题练习】day7

文章目录 一、35. 搜索插入位置1.题目简介2.解题思路3.代码4.运行结果 二、69. x 的平方根1.题目简介2.解题思路3.代码4.运行结果 三、852. 山脉数组的峰顶索引1.题目简介2.解题思路3.代码4.运行结果 总结 一、35. 搜索插入位置 1.题目简介 35. 搜索插入位置 给定一个排序数组…

浅谈自动化测试工具 Appium

目录 前言&#xff1a; 一、简单介绍 &#xff08;一&#xff09;测试对象 &#xff08;二&#xff09;支持平台及语言 &#xff08;三&#xff09;工作原理 &#xff08;四&#xff09;安装工具 二、环境搭建 &#xff08;一&#xff09;安装 Android SDK &#xff0…

08 - 线性表的类型定义 - 循环双向链表

双向链表可以分为普通双向链表(前面我们已经学习过了)与循环双向链表。 循环双向链表的定义 循环双向链表就是在双向链表的基础之上,头结点的Prev指向尾结点,尾结点的Next指针则指向头结点,从而形成闭环结构。 内存中的结构 双向链表与循环双向链表的区别 双向链表 …

Vue项目中你是如何解决跨域的呢?

一、跨域是什么 跨域本质是浏览器基于同源策略的一种安全手段 同源策略&#xff08;Sameoriginpolicy&#xff09;&#xff0c;是一种约定&#xff0c;它是浏览器最核心也最基本的安全功能 所谓同源&#xff08;即指在同一个域&#xff09;具有以下三个相同点 协议相同&…

微信小程序开发入门指南

微信小程序商城是一种方便快捷的电商平台&#xff0c;让商家能够在微信平台上展示和销售自己的商品。本文将详细介绍如何使用乔拓云平台创建自己的小程序商城。即使是对编程没有任何基础的小白用户&#xff0c;也可以轻松创建自己的微信小程序商城。 第一步&#xff0c;登录乔拓…

上门服务小程序|上门家政小程序开发

随着现代生活节奏的加快和人们对便利性的追求&#xff0c;上门家政服务逐渐成为了许多家庭的首选。然而&#xff0c;传统的家政服务存在着信息不透明、服务质量不稳定等问题&#xff0c;给用户带来了困扰。为了解决这些问题&#xff0c;上门家政小程序应运而生。上门家政小程序…

拓数派荣获 “2023 年杭州市企业高新技术研究开发中心” 认定

近日&#xff0c;拓数派上榜由杭州市科学技术局公布的 “2023 年杭州市企业高新技术研究开发中心名单”&#xff0c;通过专业的技术研发、成果转化和高新技术产业化成绩&#xff0c;获得 “杭州市拓数派数据计算企业高新技术研究开发中心” 认定。 图为&#xff1a;“杭州市拓数…

spring boot 多模块项目非启动模块的bean无法注入(问题记录)

之前有说我搭了一个多模块项目&#xff0c;往微服务升级&#xff0c;注入的依赖在zuodou-bean模块中&#xff0c;入jwt拦截&#xff0c; Knife4j ,分页插件等等&#xff0c;但是启动类在system中&#xff0c;看网上说在启动类上加SpringBootApplication注解默认扫描范围为自己…

【HTML】:超文本标记语言的基础入门元素

目录 1️⃣前言2️⃣概述&#x1f331;什么是HTML&#xff1f;&#x1f331;初步认识HTML 3️⃣了解概念✨基本结构✔️元素&#x1f50b; 标签&#x1f4a1;属性 4️⃣基本内容学习标签特殊字符属性图像标签的属性超链接标签的属性 5️⃣锚点链接6️⃣表格表格标签表格标签的属…

(ceph)资源池poll管理

资源池 Pool 管理 前面的文章中我们已经完成了 Ceph 集群的部署&#xff08;ceph部署: 传送门&#xff09;&#xff0c;但是我们如何向 Ceph 中存储数据呢&#xff1f;首先我们需要在 Ceph 中定义一个 Pool 资源池。Pool 是 Ceph 中存储 Object 对象抽象概念。我们可以将其理解…

oracle 如何连同空表一起导出成dmp的方法

1、oracle导出dmp文件的时候&#xff0c;经常会出现一些空表&#xff0c;没有一并被导出的情况。 执行sql select alter table ||table_name|| allocate extent; from user_tables where num_rows0 or num_rows is null; 新建一个sql窗口&#xff0c;把查询结果的sql&#…

MySQL-DQL-案例

案例 案例1 根据需求完成员工管理的条件分页查询 具体代码 -- 案例1&#xff1a;按需求完成员工管理的条件分页查询 - 根据输入条件&#xff0c;查询第一页数据&#xff0c;每页展示10条记录 -- 输入条件&#xff1a; -- 姓名&#xff1a;张 -- 性别&#xff1a;男 -- 入职时间…