整理的6个Linux运维脚本

整理的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 ]; thenecho "当前用户是超级管理员(root)"
elseecho "当前用户不是超级管理员"
fi

输出结果:

在这里插入图片描述

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

#!/bin/bash# 指定目录
directory="/path/to/directory"# 检查文件是否存在
if [ -e "$directory/filename" ]; thenecho "文件存在"
elseecho "文件不存在"
fi——————————
或者使用:
#!/bin/bashif [ -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.hqwc.cn/news/321566.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

实现线上盲盒购物体验:盲盒商城小程序开发攻略

随着智能手机的普及,移动互联网已经成为人们生活中不可或缺的一部分。在众多的移动应用中,微信小程序以其便捷、简洁的特点备受用户青睐。而在众多的小程序中,盲盒电商小程序正成为下一个爆发点。 盲盒电商是指通过盲盒的形式进行商品销售的一…

设计模式 七大原则

1.单一职责原则 单一职责原则(SRP:Single responsibility principle)又称单一功能原则 核心:解耦和增强内聚性(高内聚,低耦合)。 描述: 类被修改的几率很大,因此应该专注…

【TC3xx芯片】TC3xx芯片的GTM模块详解

目录 前言 正文 1.GTM模块功能概述 1.1 GTM具体功能 1.2 GTM架构 2. GTM模块输入时钟 2.1.fGTM的值怎么计算 3. CMU 3.1 CMU功能 3.2 CMU时钟的计算 3..2.1 CLS0_CLK怎么计算 3.2.1 GTM Global Clock时钟计算 3.2.2 分频时钟的计算 4. CCM 4.1 CCM功能 4.2 CCM…

Mysql的四大引擎,账号管理,数据库的建立

数据库存储引擎查看 Support字段说明 default的为默认引擎 YES表示可以使用 NO表示不能使用 命令 SHOW ENGINES 四大引擎 MEMORY 使用场景:由于易失性,可以用于存储在分析中产生的中间表 特点 所有的数据都保存在内存中,一旦服务器重启&…

Spark内核解析-内存管理7(六)

1、Spark内存管理 Spark 作为一个基于内存的分布式计算引擎,其内存管理模块在整个系统中扮演着非常重要的角色。理解 Spark 内存管理的基本原理,有助于更好地开发 Spark 应用程序和进行性能调优。本文中阐述的原理基于 Spark 2.1 版本。 在执行 Spark 的…

ArrayList集合综合练习

文章目录 题目1训练目标训练提示训练步骤参考答案 题目2训练目标训练提示参考方案训练步骤参考答案 题目3训练目标训练提示参考方案训练步骤参考答案 题目4(综合)训练目标训练提示参考方案训练步骤参考答案 题目1 现有如下字符串元素:[“aaa…

Mysql的基本用法(上)非常详细、快速上手

上篇结束了java基础,本篇主要对Mysql中的一些常用的方法进行了总结,主要对查询方法进行了讲解,包括重要的多表查询用到的内连接和外连接等,以下代码可以直接复制到可视化软件中,方便阅读以及练习; SELECT *…

Microsoft Word去除页面多余的换行符

大家写论文的时候或者排版的时候可能遇到换行符多出来了导致页面的不美观。像下面这张图一样,虽然latex不会出现这种问题。 处理方式 点击插入然后点击分页 结果展示

普通用户用哪款电脑杀毒软件最好?

前言 各位小伙伴接触到电脑的时候,都一定有听过“电脑一定要安装杀毒软件”这句话。 毕竟在电脑诞生之初到今天,电脑木马和病毒依旧存在。 中了木马或病毒的电脑会出现什么现象?具体得看中了什么样的病毒。 但轻则资料泄漏、电脑瘫痪&…

React Admin 前端脚手架之ant-design-pro

文章目录 一、React Admin 前端脚手架选型二、React Admin 前端脚手架之ant-design-pro三、ant-design-pro使用步骤四、常用总结(持续更新)EditableProTable组件 常用组件EditableProTable组件 编辑某行后,保存时候触发发送请求EditableProTa…

图片上传下载

数据模型: imageUrl: , <el-form-item label"楼盘图片:" prop"pic" class"uploadImg" v-model"emp.pic"> <el-upload class"avatar-uploader" …

Nginx 的SSL证书配置

目录 1.申请域名&#xff0c;证书下载 2.准备站点源代码 3.修改nginx 对应网站的配置文件 4.修改 host 文件 http协议访问的网站默认会显示不安全&#xff0c;因为数据默认是明文传输的 https是httpssl&#xff0c;ssl是加密协议&#xff0c;通过证书来进行加密的&#xff…