整理的6个Linux运维脚本

news2025/1/18 2:08:32

整理的6个Linux运维脚本

    • 1、统计/etc/passwd 中能登录的用户,并将对应在/etc/shadow 中第二列密码提取
    • 2、查看当前连接到本机的远程IP地址
    • 3、检测本机当前用户是否为超级管理员(root)
    • 4、检查指定目录下是否存在对应文件
    • 5、查找 Linux 系统中的僵尸进程
    • 6、获取本机 MAC 地址

1、统计/etc/passwd 中能登录的用户,并将对应在/etc/shadow 中第二列密码提取

###统计当前 Linux 系统中可以登录的账户有多少个
grep "bash$" /etc/passwd | wc -l
或者
awk -F: '/bash$/{print $1}' /etc/passwd
——————————
###将对应在/etc/shadow 中第二列密码提出处理
user=$(awk -F: '/bash$/{print $1}' /etc/passwd)
for i in $user
do
awk -F: -v x=$i '$1==x{print $1,$2}' /etc/shadow
done

输出结果:

在这里插入图片描述

2、查看当前连接到本机的远程IP地址

netstat -tn | awk '{print $5}' | cut -d: -f1 | sort | uniq

这个命令的含义是:
netstat -tn:显示所有TCP连接的详细信息。
awk '{print $5}':提取输出中的第五列,即远程IP地址和端口号。
cut -d: -f1:使用冒号作为分隔符,只提取IP地址部分。
sort:对IP地址进行排序。
uniq:去除重复的IP地址。
——————————

netstat -atn  |  awk  '{print $5}'  | awk  '{print $1}' | sort -nr  |  uniq -c

这个命令的含义是:
netstat -atn:显示当前系统的所有网络连接,包括TCP和UDP协议的连接。
awk ‘{print $5}’:使用awk命令提取netstat命令输出的结果中的第5列,该列显示了与当前系统建立连接的远程主机的IP地址和端口号。
awk ‘{print $1}’:使用awk命令进一步提取第5列中的IP地址部分,去除端口号。
sort -nr:对提取出的IP地址进行排序,-n参数表示按照数字大小排序,-r参数表示降序排序。
uniq -c:统计并去除重复的IP地址,并计算每个IP地址的出现次数。

输出结果:

在这里插入图片描述

3、检测本机当前用户是否为超级管理员(root)

#!/bin/bash

# 检查当前用户是否为root用户
if [ $(id -u) -eq 0 ]; then
    echo "当前用户是超级管理员(root)"
else
    echo "当前用户不是超级管理员"
fi

输出结果:

在这里插入图片描述

4、检查指定目录下是否存在对应文件

#!/bin/bash

# 指定目录
directory="/path/to/directory"

# 检查文件是否存在
if [ -e "$directory/filename" ]; then
    echo "文件存在"
else
    echo "文件不存在"
fi

——————————
或者使用:
#!/bin/bash
 
if [ -f /path/to/directory/filename ]
then 
echo "File exists"
fi

输出结果:

在这里插入图片描述

5、查找 Linux 系统中的僵尸进程

#!/bin/bash
#awk 判断 ps 命令输出的第 8 列为 Z 是,显示该进程的 PID 和进程命令
ps aux | awk ‘{if($8 ==Z){print $2,$11}}’

该命令的作用是:

通过ps aux命令获取系统中所有进程的详细信息,并将输出结果通过管道传递给awk命令进行处理。
在awk命令中,通过if条件判断进程的状态是否为”Z”(僵尸进程),如果是,则打印出进程的ID和进程名。

输出结果:

在这里插入图片描述

6、获取本机 MAC 地址

ip a s |awk 'BEGIN{print "本机 MAC 地址信息如下:"}/^[0-9]/{print $2;getline;if($0~/link\/ether/){print 
$2}}' |grep -v lo:

该命令用于查看本机的MAC地址信息。具体解释如下:

ip a s:显示网络接口的配置信息。
awk 'BEGIN{print "本机 MAC 地址信息如下:"}:在输出之前,打印出提示信息。
/^[0-9]/{print $2;getline;if($0~/link\/ether/){print $2}}':对每一行进行匹配和处理。
/^[0-9]/:匹配以数字开头的行,即网络接口的行。
{print $2}:打印出第二列,即网络接口的名称。
getline:读取下一行。
if($0~/link\/ether/):如果当前行包含”link/ether”,则执行以下语句。
{print $2}:打印出第二列,即MAC地址。
grep -v lo::过滤掉包含”lo:”的行,即排除本地回环接口的信息。

输出结果:

在这里插入图片描述

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

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

相关文章

基于数据库和NER构建知识图谱流程记录

文章目录 环境准备拓扑设计构建流程设计文件流设计交互解析算法实现数据库交互NER解析相似度计算 基于数据库的文件生成从数据库中读取字段将字段后处理后保存为文件 基于文件的知识图谱构建bug修改与算法优化图数据库连接问题批量构建知识图谱问题批量删除边问题空值处理问题去…

Java重修第二天—学习”方法“

通过学习本篇文章可以掌握如下知识 1、方法的定义 2、方法在计算机中的执行流程。 3、方法使用时常见问题 4、Java中方法的参数传递机制 5、方法重载 1 方法是什么 方法是一种语法结构,它可以把一段代码实现的某种功能封装起来,以便重复利用。 方…

Selenium-java 定位元素时切换iFrame时的方法

具体方法如下图所示,如果iFrame中嵌套多层iFrame需要逐层定位到需要的那一层iFrame,完成操作后,执行该代码:driver.switchTo() .defaultContent() ; 是返回最顶部的frame

vue封装基础input组件(添加防抖功能)

先看一下效果&#xff1a; // 调用页面 <template><div><!-- v-model&#xff1a;伪双向绑定 --><my-input v-model"inputVal" label"姓名" type"textarea" /></div> </template><script> import…

太阳能组件紫外预处理试验箱

太阳能组件紫外预处理试验箱波长范围&#xff1a;280-400nm用于太阳能光伏组件的温湿度及相类似紫外预处理环境的试验&#xff0c;主要用于太阳能组件材料评估诸如聚合物和保护层等材料抗紫外辐照能力&#xff0c;在预处理试验过程中能够快速、真实地再现阳光、雨、露等环境及对…

【MATLAB】CEEMD_LSTM神经网络时序预测算法

有意向获取代码&#xff0c;请转文末观看代码获取方式~也可转原文链接获取~ 1 基本定义 CEEMD-LSTM神经网络时序预测算法是一种结合了完全扩展经验模态分解&#xff08;CEEMD&#xff09;和长短期记忆神经网络&#xff08;LSTM&#xff09;的时间序列预测方法。 CEEMD是一种改…

【Turtle库】皮卡丘

引言 这段Python代码利用了Turtle图形库来绘制一个卡通角色&#xff0c;看起来像皮卡丘。以下是代码的概述&#xff1a; 导入模块&#xff1a; 代码导入了必要的模块&#xff1a;turtle、random&#xff0c;并将turtle重命名为t以便简洁。 函数定义&#xff1a; infoPrt()函数打…

安全cdn有哪些优势

1. 免备案&#xff1a;在中国大陆地区&#xff0c;进行网站建设需要先进行备案手续&#xff0c;而安全cdn可以避免这一繁琐的步骤&#xff0c;节省时间和精力。 2. 精品线路&#xff1a;安全cdn使用的是覆盖范围更广、速度更快的香港CN2 GIA优化线路。 3. 高速稳定&#xff1a…

局部与整体的关联特性,如图所示

局部与整体的关联特性是指事物的局部部分与整体之间存在一定的关联关系。它强调整体是由局部构成&#xff0c;局部又反向影响整体。具体包括以下几个方面的特性&#xff1a; 互依性&#xff1a;局部与整体相互依赖&#xff0c;一个的变动会影响另一个的变动。局部的变化会对整体…

OSPF基本概念与配置(完整版)

目录 路由分类 OSPF概述 一、OSPF的工作过程 二、报文类型 三、OSPF区域 四、OSPF单区域实验案例 拓扑 需求 配置步骤 配置命令 五、OSPF邻居表解析 六、OSPF路由角色 七、OSPF多区域实验案例 拓扑 需求 配置步骤 配置命令 八、邻居建立失败的原因(已广播型网络…

自制java工具实现 ctrl+c+c 翻译鼠标选中文本

前言 本功能的实现基于这篇笔记 http://t.csdnimg.cn/1I8ln&#xff0c;本文阅读过程中有疑惑都可以查看此笔记 实现思路&#xff1a;检测到按压ctrl c c 后&#xff0c;获取当前剪切板文字&#xff0c;调用百度翻译api。 实现结果&#xff1a; 完整代码在最后 实现过程 1 监控…

TS:类型断言

类型断言好比其他语言中的类型转换&#xff0c;但是不是真正的类型转换方式&#xff0c;之所以不被称为类型转换&#xff0c;是因为转换通常意味着某种运行时的支持。但是&#xff0c;类型断言纯粹是一个编译时语法&#xff0c;同时&#xff0c;它也是一种为编译器提供关于如何…

vivado license申请

AMD: Product Licensing

如何使用CapSolver解决Web爬虫中遇到的CAPTCHA问题

Web爬取是一种强大的技术&#xff0c;用于从网站中提取数据&#xff0c;但经常会遇到一个常见障碍&#xff0c;即CAPTCHA。CAPTCHA是“Completely Automated Public Turing test to tell Computers and Humans Apart”的缩写&#xff0c;旨在防止自动机器人访问网站。然而&…

商品小程序(6.商品详情)

目录 一、获取商品详情数据二、渲染商品详情页的UI结构1、渲染轮播图区域2、实现轮播图预览效果3、渲染商品信息区域4、渲染商品详情信息5、解决商品价格闪烁的问题 三、渲染详情页底部的商品导航区域1、渲染商品导航区域的UI结构2、点击跳转到购物车页面 本章主要完成商品详情…

推荐一款加速器,也可加速github

地址https://github.com/BeyondDimension/SteamTools

【ZYNQ入门】第五篇、AXI HP口读写数据原理

目录 第一部分、AXI总线的相关知识 1、ZYNQ架构 2、AXI 总线和 AXI 接口以及 AXI 协议 3、AXI 总线与 ZYNQ 的关系 4、AXI 总线介绍 5、AXI 接口介绍 6、AXI 协议介绍 7、AXI高效传输的原因 8、常见总线汇总 9、HP接口写时序配置 10、HP DDR的地址分配 11、缓存一…

监控各大电商平台商品价格,库存信息,数据分析,京东SKU详情

要接入API接口以采集电商平台上的商品数据&#xff0c;可以按照以下步骤进行&#xff1a; 1、找到可用的API接口&#xff1a;首先&#xff0c;需要找到支持查询商品信息的API接口。这些信息通常可以在电商平台的官方文档或开发者门户网站上找到。 2、注册并获取API密钥&#x…

2023春季李宏毅机器学习笔记 06 :Diffusion Model 原理剖析

资料 课程主页&#xff1a;https://speech.ee.ntu.edu.tw/~hylee/ml/2023-spring.phpGithub&#xff1a;https://github.com/Fafa-DL/Lhy_Machine_LearningB站课程&#xff1a;https://space.bilibili.com/253734135/channel/collectiondetail?sid2014800 一、想法概念 Q1&…

解读IPD产品需求管理流程

在IPD体系下&#xff0c;产品投资组合管理的例行活动首先表现在对客户需求的快速响应上。这包括需求的收集、分析与决策、研发实现等端到端等业务流。需求管理本质上是一条“从客户中来到客户中去”的业务流。为了高效地协同各个部门&#xff0c;更好地管理客户需求被满足的全过…