linux运维常用命令(持续更新)

目录

一: 查看指定端口是否被监听

二:查看某个端口/服务相关进程

三:在B机器查看是否可以访问A机器某个端口,查看端口是否开放

四:查看端口占用列表

五:查看端口占用情况

六:查看哪些进程监听了2181端口

七:查看已删除却没有释放的进程

八:查看cpu占用前10行情况

九:查看服务器内存占用前十行相关进程

十:查看网络带宽,流量监控

十一:查看TCP请求中各个状态的数据,如timewait

十二:启动docker所有容器

十三:查看当前目录下文件夹的大小,1代表第一层

十四:查询大于100M的文件

十五:查看最近两个小时生成的文件

十六:删除指定目录下大于指定天数的日志。

十七:查看日志文件中并发量,可以知道程序性能如何

十八:查看有多少远程IP在连接本机

十九:统计当前 Linux 系统中可以登录计算机的账户有多少个

二十:定时备份日志目录下所有日志文件

二十一:实时监控本机内存和硬盘剩余空间,剩余内存小于500M、根分区剩余空间小于1000M时,发送报警邮件给root管理员

二十一:根据PID过滤进程所有信息

二十二:根据进程名过滤进程信息

二十三:清除系统缓存、空出更多内存


一: 查看指定端口是否被监听

netstat -nltp |grep 9030

二:查看某个端口/服务相关进程

ps -ef |grep 9030

三:在B机器查看是否可以访问A机器某个端口,查看端口是否开放

telnet A服务器IP A服务器端口

四:查看端口占用列表

netstat -ntulp

五:查看端口占用情况

lsof -i :80

六:查看哪些进程监听了2181端口

netstat -nap |grep 2181 | awk '{print $7}' | sort

七:查看已删除却没有释放的进程

lsof -n / |grep deleted

八:查看cpu占用前10行情况

ps -aux --sort=-pcpu|head -10

九:查看服务器内存占用前十行相关进程

ps -aux | sort -k4nr | head -10ps -eo pmem,pcpu,rss,vsize,args | sort -k 1 -r | less

十:查看网络带宽,流量监控

nethogs和nload流量监控工具_nethogs卡死_很迷眼的博客-CSDN博客

十一:查看TCP请求中各个状态的数据,如timewait

netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}';netstat -nat |wc -l

十二:启动docker所有容器

docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)

十三:查看当前目录下文件夹的大小,1代表第一层

sudo du -h --max-depth=1

十四:查询大于100M的文件

find / -type f -size +100000k -ls

十五:查看最近两个小时生成的文件

find / -iname "*" -amin 120 -type f

十六:删除指定目录下大于指定天数的日志。

例如,要删除/data/bigdata/download 目录下 文件时间在3天之前的日志

cd "/data/bigdata/download/"  && ls -tF |grep '/$'|awk '{if (NR > 3) print $0 }'|xargs rm -rf

运行截图:

十七:查看日志文件中并发量,可以知道程序性能如何

运行原理:查看日志文件并发量可分为两个命令,第一个命令使用awk去逐行的处理文本文件,例如我的日志格式是: 

2023-06-29 14:49:57,243 INFO (Thread-56|102) [ReportHandler.diskReport():381] begin to handle disk report from backend 11002

那么使用awk 按照 ',' 分隔符逐行取出来第一个参数下载到一个新的文件。

第二个命令将新文件按照每行的内容进行统计分组降序。最后得到日志文件中的并发情况。

cat fe.log.20230628-1 |awk -F ',' '{print $1 > "message_time.txt" }'cat message_time.txt | xargs -n1 | sort | uniq -c | sort -rn -k1 | awk '{print $2,$1}' | head -n 10 | tail -n +1

运行截图:

十八:查看有多少远程IP在连接本机

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

十九:统计当前 Linux 系统中可以登录计算机的账户有多少个

#如果去掉 |wc -l  就是输出列表

grep "bash$" /etc/passwd | wc -l

二十:定时备份日志目录下所有日志文件

#可以配合crontab设置定时

tar -czf log-`date +%Y%m%d`.tar.gz /var/log 

二十一:实时监控本机内存和硬盘剩余空间,剩余内存小于500M、根分区剩余空间小于1000M时,发送报警邮件给root管理员

#!/bin/bash# 实时监控本机内存和硬盘剩余空间,剩余内存小于500M、根分区剩余空间小于1000M时,发送报警邮件给root管理员# 提取根分区剩余空间
disk_size=$(df / | awk '/\//{print $4}')# 提取内存剩余空空间
mem_size=$(free | awk '/Mem/{print $4}')
while :
do 
# 注意内存和磁盘提取的空间大小都是以 Kb 为单位
if  [  $disk_size -le 512000 -a $mem_size -le 1024000  ]
thenmail  ‐s  "Warning"  root  <<EOFInsufficient resources,资源不足
EOF
fi
done

二十一:根据PID过滤进程所有信息

#! /bin/bash
# Author:李指导
# Date:2023-06-30
# Function: 根据用户输入的PID,过滤出该PID所有的信息
read -p "请输入要查询的PID: " P
n=`ps -aux| awk '$2~/^'$P'$/{print $11}'|wc -l`
if [ $n -eq 0 ];thenecho "该PID不存在!!"exit
fi
echo "--------------------------------"
echo "进程PID: $P"
echo "进程命令:`ps -aux| awk '$2~/^'$P'$/{print $11}'`"
echo "进程所属用户: `ps -aux| awk '$2~/^'$P'$/{print $1}'`"
echo "CPU占用率:`ps -aux| awk '$2~/^'$P'$/{print $3}'`%"
echo "内存占用率:`ps -aux| awk '$2~/^'$P'$/{print $4}'`%"
echo "进程开始运行的时刻:`ps -aux| awk '$2~/^'$P'$/{print $9}'`"
echo "进程运行的时间:`ps -aux| awk '$2~/^'$P'$/{print $10}'`"
echo "进程状态:`ps -aux| awk '$2~/^'$P'$/{print $8}'`"
echo "进程虚拟内存:`ps -aux| awk '$2~/^'$P'$/{print $5}'`"
echo "进程共享内存:`ps -aux| awk '$2~/^'$P'$/{print $6}'`"
echo "--------------------------------"

二十二:根据进程名过滤进程信息

#! /bin/bash
# Author:李指导
# Date:2023-06-30
# Function: 根据输入的程序的名字过滤出所对应的PID,并显示出详细信息,如果有几个PID,则全部显示
read -p "请输入要查询的进程名:" NAME
N=`ps -aux | grep $NAME | grep -v grep | wc -l`    ##统计进程总数
if [ $N -le 0 ];thenecho "该进程名没有运行!"
fi
i=1
while [ $N -gt 0 ]
doecho "进程PID: `ps -aux | grep $NAME | grep -v grep | awk 'NR=='$i'{print $0}'| awk '{print $2}'`"echo "进程命令:`ps -aux | grep $NAME | grep -v grep | awk 'NR=='$i'{print $0}'| awk '{print $11}'`"echo "进程所属用户: `ps -aux | grep $NAME | grep -v grep | awk 'NR=='$i'{print $0}'| awk '{print $1}'`"echo "CPU占用率:`ps -aux | grep $NAME | grep -v grep | awk 'NR=='$i'{print $0}'| awk '{print $3}'`%"echo "内存占用率:`ps -aux | grep $NAME | grep -v grep | awk 'NR=='$i'{print $0}'| awk '{print $4}'`%"echo "进程开始运行的时刻:`ps -aux | grep $NAME | grep -v grep | awk 'NR=='$i'{print $0}'| awk '{print $9}'`"echo "进程运行的时间:`  ps -aux | grep $NAME | grep -v grep | awk 'NR=='$i'{print $0}'| awk '{print $11}'`"echo "进程状态:`ps -aux | grep $NAME | grep -v grep | awk 'NR=='$i'{print $0}'| awk '{print $8}'`"echo "进程虚拟内存:`ps -aux | grep $NAME | grep -v grep | awk 'NR=='$i'{print $0}'| awk '{print $5}'`"echo "进程共享内存:`ps -aux | grep $NAME | grep -v grep | awk 'NR=='$i'{print $0}'| awk '{print $6}'`"echo "***************************************************************"let N-- i++
done

二十三:清除系统缓存、空出更多内存

free -m && sync && echo 1 > /proc/sys/vm/drop_caches && echo 2 > /proc/sys/vm/drop_caches && echo 3 > /proc/sys/vm/drop_caches && echo 4 > /proc/sys/vm/drop_caches && sync && free -m

运行截图:

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

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

相关文章

OpenCV(加载、修改、保存图像)

目录 1、图像加载 2、显示图像 3、修改图像 4、图像保存 OpenCV官方文档查询地址&#xff1a;OpenCV: OpenCV modules 1、图像加载 加载图像&#xff08;用cv::imread )imread功能是加载图像文件成为一个Mat对象&#xff0c;其中第一个参数表示图像文件名称 第二个参数&…

Debian 环境使用 docker compose 部署 sentry

Debian 环境使用 docker compose 部署 sentry Sentry 简介什么是 Sentry &#xff1f;Sentry 开发语言及支持的 SDKSentry 功能架构 前置准备条件规格配置说明Docker Desktop 安装WSL2/Debian11 环境准备 Sentry 安装步骤docker 部署 sentry 步骤演示过程说明 卸载关闭 Sentry总…

数据库系统概论(三)数据库设计、数据库恢复技术、并发控制

作者的话 前言&#xff1a;总结下知识点&#xff0c;自己偶尔看一看。 一、数据库设计 数据库设计是指对于一个给定的应用环境&#xff0c;构造&#xff08;设计&#xff09;优化的数据库逻辑模式和物理结构&#xff0c;并据此建立数据库及其应用系统 1.1概述 1.1.1数据库设计…

C#winform吃棋子

实训内容: (1)设计 WinForm应用程序用于获取指定主机名的IP地址,结果如图8-12所示。 (2)编写一个可以通过因特网对弈的“吃棋子”游戏。 服务器可以同时服务多桌,每桌允许两个玩家通过因特网对弈。 2允许玩家自由选择坐在哪一桌的哪一方。如果两个 玩家坐在同一桌,双方应都能看…

PyQt5入门1——PyQt5的安装与Hello World应用

PyQt5入门1——PyQt5的安装与Hello World应用 学习前言简介&#xff08;From 百度百科&#xff09;安装Hello World1、窗口构建a、构建基础类b、编写UI 2、主程序运行 全部代码 学习前言 搞搞可视化界面哈&#xff0c;虽然不一定有用&#xff0c;但是搞一下。 简介&#xff…

青岛大学_王卓老师【数据结构与算法】Week03_09_线性表的链式表示和实现9_学习笔记

本文是个人学习笔记&#xff0c;素材来自青岛大学王卓老师的教学视频。 一方面用于学习记录与分享&#xff0c;另一方面是想让更多的人看到这么好的《数据结构与算法》的学习视频。 如有侵权&#xff0c;请留言作删文处理。 课程视频链接&#xff1a; 数据结构与算法基础–…

使用Python+Flask+HTML写一个测试小工具

背景&#xff1a; 由于公司安全规范限制&#xff0c;我司的测试、预发布、灰度、生产环境&#xff0c;接口间的数据通信通常是加密处理的&#xff0c;给我们日常定位缺陷带来了一定的阻碍&#xff0c;因此我决定使用Python写一个工具&#xff0c;将加密数据转换为正常数据&…

phpstudy搭建网站,通过快解析端口映射外网访问

phpstudy是一款集成了apache、mysql、php、ftp等web平台的环境搭建工具&#xff0c;可以让用户轻松搭建测试和开发环境&#xff0c;且不必有过多的配置设置工作。使用phpstudy可以快速搭建出一个本地环境的网站&#xff0c;方便进行调试和开发工作。当然也可以快速搭建部署个人…

iOS开发进阶(一):走近iOS原生开发

文章目录 一、前言二、知识储备三、 Object-C四、启动流程五、拓展阅读 一、前言 在应用 uni-app 进行跨平台APP开发过程中&#xff0c;发现并不支持视频播放小窗功能&#xff0c;且插件市场提供的插件用户体验不好&#xff0c;遂决定自行开发 uni-app 原生插件。 uni-app原生…

Redis三种模式——主从复制、哨兵、集群

目录 一、概述 二、 Redis 主从复制 1.主从复制的作用 2. 主从复制流程 3. 搭建Redis 主从复制 3.1准备环境 3.2安装redis 3.3创建redis工作目录 3.4环境变量 3.5定义systemd服务管理脚本 3.6修改 Redis 配置文件&#xff08;Master节点操作&#xff09; 3.7修改 …

《C++ Primer》--学习10

反向迭代器 反向迭代器就是在容器中从尾元素向首元素反向移动的迭代器&#xff0c;递增一个反向迭代器会移动到前一个元素 反向迭代器需要递减运算符 我们只能从既支持也支持--的迭代器来定义反向迭代器&#xff0c;除了 forward_list 外的标准容器都支持 流迭代器不支持递减…

React教程(由浅到深)

文章目录 1. 基本语法1.1 初体验Hello React1.2 JSX语法的基本使用1.2.1 语句与表达式说明 1.3. React面向组件编程1.3.1 函数组件与类组件 1.4 组件实例的三大特性1.4.1 state数据存储状态1.4.2 props的使用1.4.2.1基本使用1.4.2.2 做限制类型&#xff0c;默认值使用1.4.2.3 简…