微分享 - 超实用开发日常排查问题Linux运维命令
目录
- CPU
- CPU基本信息
- CPU使用情况
- ps 命令可用于确定哪个进程占用了 CPU
- 内存
- free
- 网络
- 查看端口
- curl 常用命令
- 文件
- df 、du 区别
- 磁盘使用情况
- 文件大小
- 文件下载
- 压缩&解压缩
- 查找文件
- 查找文件内容
- 进程
- CPU 使用来升序排序
- 内存 使用升序排序
- 其他常用
- 操作系统进本信息
- 赋予文件执行权限,很常用的
CPU
CPU基本信息
cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 63
model name : DO-Regular
stepping : 2
microcode : 0x1
cpu MHz : 2294.608
cache size : 4096 KB
physical id : 0
siblings : 1
core id : 0
cpu cores : 1
apicid : 0
......
bogomips : 4589.21
clflush size : 64
cache_alignment : 64
address sizes : 40 bits physical, 48 bits virtual
power management:
CPU使用情况
CPU显示当前服务和进程 CPU使用情况。
top
top - 02:57:12 up 111 days, 4:17, 1 user, load average: 0.00, 0.01, 0.05
Tasks: 90 total, 1 running, 89 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 11.8 sy, 0.0 ni, 88.2 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 498568 total, 16884 free, 200448 used, 281236 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 251668 avail MemPID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND1 root 20 0 193708 5496 2804 S 0.0 1.1 3:15.15 systemd2 root 20 0 0 0 0 S 0.0 0.0 0:00.96 kthreadd4 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H
每2秒刷新一次,共刷新三次。
vmstat 2 3
ocs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----r b swpd free buff cache si so bi bo in cs us sy id wa st2 0 0 14816 0 282000 0 0 2 2 2 1 0 0 100 0 00 0 0 12736 0 282000 0 0 0 0 85 130 1 1 98 0 00 0 0 14704 0 282004 0 0 0 10 68 131 0 0 100 0 0
详细参数说明
%Cpu(s): 38.7 us, 3.5 sy, 0.0 ni, 42.0 id, 15.5 wa, 0.0 hi, 0.3 si, 0.0 st- 38.7 us, (用户空间CPU占用率)- 3.5 sy (内核空间CPU占用率)- 0.0 ni (用户进程空间改变过优先级的进程CPU的占用率)- 42.0 id(空闲CPU占有率)- 15.5 wa (等待输入输出的CPU时间百分比)- 0.0%hi (硬件中断请求)- 0.3%si (软件中断请求)- 0.0%st (分配给运行在其它虚拟机上的任务的实际 CPU时间)
ps 命令可用于确定哪个进程占用了 CPU
ps aux | sort -nrk 3,3 | head -n 5
root 7436 0.1 0.0 0 0 ? S 02:47 0:00 [kworker/0:1]
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
rpc 522 0.0 0.1 69256 540 ? Ss 5月01 0:18 /sbin/rpcbind -w
root 9 0.0 0.0 0 0 ? R 5月01 5:47 [rcu_sched]
root 8 0.0 0.0 0 0 ? S 5月01 0:00 [rcu_bh]
也可以通过进程名来快速查找Linux中cpu的利用率。通过“ps -C 进程名 -o %cpu”
ps -C 进程名称 -o %cpu
内存
top也可以查看当前的内存使用情况
free
free
total used free shared buff/cache available
Mem: 985100 203192 251916 2012 529992 641244
Swap: 0 0 0
- total:总计物理内存的大小
- used:已使用多大
- free:可用有多少
- Shared:多个进程共享的内存总额
- Buffers/cached:磁盘缓存的大小。
网络
查看端口
显示连接数
netstat -anp |grep :22
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 995/sshd
tcp 0 0 192.168.0.38:22 117.158.210.253:40734 ESTABLISHED 3584/sshd: root [pr
tcp 0 36 192.168.0.38:22 117.158.210.253:47253 ESTABLISHED 3755/sshd: root [prnetstat -anp |grep :22 |wc -l
3
通过端口找进程ID
netstat -anp | grep 58049
tcp 0 52 192.168.1.100:22 192.168.1.93:58049 ESTABLISHED 1350/sshd: root@pts
查看连接某个端口最多的IP地址
netstat -ntu | grep :58049 | awk '{print $5}' | cut -d: -f1 | awk '{++ip[$1]} END {for(i in ip) print ip[i],"t",i}' | sort -nr
1 192.168.1.93
-a或–all #显示所有的网络连接信息
-n或–numeric #直接使用ip地址
-p或–programs:显示正在使用Socket的程序识别码和程序名称
-t或–tcp:显示TCP传输协议的连线状况
-u或–udp:显示UDP传输协议的连线状况
curl 常用命令
保存网页
curl -o linux.html http://www.linux.com
curl 就是发出 GET和POST 请求
curl http://www.yahoo.com/login.cgi?user=nickname&password=12345
curl -d "user=nickname&password=12345" http://www.yahoo.com/login.cgi
-X :指定HTTP请求方法,如GET、POST、PUT等
-o :将响应内容保存到指定文件
-L :跟随重定向
文件
df 、du 区别
- df:列出文件系统的整体磁盘使用量;
- du:评估文件系统的磁盘使用量(常用于评估目录所占容量)
磁盘使用情况
df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 464M 0 464M 0% /dev
tmpfs 482M 0 482M 0% /dev/shm
tmpfs 482M 472K 481M 1% /run
tmpfs 482M 0 482M 0% /sys/fs/cgroup
/dev/vda1 30G 7.0G 21G 26% /
tmpfs 482M 4.0K 481M 1% /tmp
tmpfs 97M 0 97M 0% /run/user/0
文件大小
使用ll或是ls,文件从大到小排序。
ll -Slh
总用量 74M
-rwxr-xr-x 1 root root 64M 8月 8 23:02 go1.21.0.linux-amd64.tar.gz
-rw-r--r-- 1 root root 11M 8月 21 21:05 kubectl
-rwxr-xr-x 1 root root 4.1K 8月 21 17:31 jdk-8u202-linux-x64.tar.gz
drwxr-xr-x 4 root root 4.0K 8月 21 18:02 go
-rwxr-xr-x 1 root root 4.0K 8月 21 17:33 jdk-8u202-linux-x64.rpm
使用du,查询当前目录下每个文件或者目录的大小,排序并显示前3个
du -h --max-depth=1 | sort -nr | head -n 3
179M .
76M ./.cache
29M ./go
跟ll一样的效果
du -sh *|sort -nr
64M go1.21.0.linux-amd64.tar.gz
29M go
11M kubectl
8.0K jdk-8u202-linux-x64.tar.gz
4.0K jdk-8u202-linux-x64.rpm## 多个c显示总量
du -sch *|sort -nr
103M 总用量
64M go1.21.0.linux-amd64.tar.gz
29M go
11M kubectl
8.0K jdk-8u202-linux-x64.tar.gz
4.0K jdk-8u202-linux-x64.rpm
文件下载
单个文件下载
wget http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz
## 必须使用 -O(大写字母 O)选项
curl -O http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz
curl -lO http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz
下载文件并指定保存名称
## 在下载时使用 -O (大写字母 O) 选项来提供输出文件名
wget -O wget.zip http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz
## 必须使用 -o(小写 O)选项:
curl -o wget.zip http://ftp.gnu.org/gnu/wget/wget-1.5.3.tar.gz
下载文件夹下的文件
wget -r ftp://server-address.com/directory
压缩&解压缩
使用tar
# 压缩文件 file1 和目录 dir2 到 test.tar.gz
tar -zcvf test.tar.gz file1 dir2
# 解压 test.tar.gz(将 c 换成 x 即可)
tar -zxvf test.tar.gz
# 列出压缩文件的内容
tar -ztvf test.tar.gz
说明
-z : 使用 gzip 来压缩和解压文件
-v : --verbose 详细的列出处理的文件
-f : --file=ARCHIVE 使用档案文件或设备,这个选项通常是必选的
-c : --create 创建一个新的归档(压缩包)
-x : 从压缩包中解出文件
使用zip
# 压缩文件
zip -r test.zip file
# 解压文件
unzip test.zip
查找文件
Linux find命令的基本语法如下:find [path] [expression]
其中:
path:要查找的目录路径。
expression:查找表达式,指定要查找的文件类型、名称、大小等条件。
在服务器的根目录查找包含“wljslmz”的文件或者目录
find / -name "*wljslmz*"
查找文件类型
find /path/to/search -type f -name "*.txt"
- /path/to/search是您要查找的目录路径。
- -type f表示要查找的是文件类型。
- -name "*.txt"表示要查找以.txt结尾的文件。
查找文件大小
## 说明
## 范围:+表示大于 -表示小于 等于不需要符号
## 大小:M(必须大写) k(必须小写) c(表示字符)
find /root -type f -size +10M
或则
find /root -size +10M/root/.cache/go-build/e9/e9c8b0d0213fb337584f9259e5d50fe315cb216187314aff9380e73386a6ab1d-d
/root/go1.21.0.linux-amd64.tar.gz
/root/kubectl
-mtime选项指定查找最近7天内修改过的文件
find /usr -type f -mtime -7
查找起始点以下n层的目录,不超过n层
find 路径 -maxdepth n(层数)
find / -maxdepth 2 -name "*t*"
/lost+found
/opt
/opt/containerd
查找文件内容
在文件 /etc/password 文件中搜索 nobody
grep nobody /etc/password
或者
cat /etc/password | grep nobody
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
$
在当前目录中,查找后缀有 file 字样的文件中包含 test 字符串的文件,并打印出该字符串的行
grep test *file
命令参数之【-i:字符忽略大小写】
grep -i 'OLDBOY' /oldboy/oldboy.txt
01 oldboy
进程
常用的就是ps -aux | grep xxx
CPU 使用来升序排序
ps -aux --sort -pcpu | less
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1688 1.3 1.0 123904 10908 ? S<sl 14:55 0:01 /usr/local/aegis/aegis_client/aegis_11_63/AliYunDunMonitor
root 1580 0.6 0.4 43524 4768 ? S<sl 14:54 0:01 /usr/local/aegis/aegis_update/AliYunDunUpdate
root 1678 0.4 0.7 101080 8008 ? S<sl 14:55 0:00 /usr/local/aegis/aegis_client/aegis_11_63/AliYunDun
内存 使用升序排序
ps -aux --sort -pmem | less
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1619 0.1 1.8 725560 18676 ? Sl 14:54 0:01 CmsGoAgent-Worker start
root 850 0.0 1.7 574288 17468 ? Ssl 14:53 0:00 /usr/bin/python2 -Es /usr/sbin/tuned -l -P
root 1124 0.0 1.4 814652 14356 ? Ssl 14:53 0:00 /usr/local/share/aliyun-assist/2.2.3.421/aliyun-service
polkitd 530 0.0 1.0 612240 11088 ? Ssl 14:53 0:00 /usr/lib/polkit-1/polkitd --no-debug
其他常用
操作系统进本信息
查看操作系统信息,包括操作系统是多少位的
uname -a
Linux centos-s-1vcpu-512mb-10gb-sfo3-01 3.10.0-1160.45.1.el7.x86_64 #1 SMP Wed Oct 13 17:20:51 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
赋予文件执行权限,很常用的
chmod +x 文件名
参考
- linux系列之常用运维命令整理笔录
- Linux如何查看cpu的使用率
- Linux命令之解压缩:tar、zip、rar 命令
- 如何使用 Linux find 命令查找文件?
- 10个重要的Linux ps命令实战
相关文章:
微分享 - 超实用开发日常排查问题Linux运维命令
目录 CPUCPU基本信息CPU使用情况ps 命令可用于确定哪个进程占用了 CPU 内存free 网络查看端口curl 常用命令 文件df 、du 区别磁盘使用情况文件大小文件下载压缩&解压缩查找文件查找文件内容 进程CPU 使用来升序排序内存 使用升序排序 其他常用操作系统进本信息赋予文件执行…...

Pico如何使用C/C++选择哪个I2C控制器,以及SDA和SCL针脚
本文一开始讲述了解决方案,后面是我做的笔记,用来讲述我的发现流程和探究的 Pico I2C 代码结构。 前提知识 首先要说明一点:Pico 有两个 I2C,也就是两套 SDA 和 SCL。这点你可以在针脚图中名字看出,比如下图的 Pin 4…...

求生之路2私人服务器开服搭建教程centos
求生之路2私人服务器开服搭建教程centos 大家好我是艾西,朋友想玩求生之路2(left4dead2)重回经典。Steam玩起来有时候没有那么得劲,于是问我有没有可能自己搭建一个玩玩。今天跟大家分享的就是求生之路2的自己用服务器搭建的一个心路历程。 ࿰…...

Redis7之介绍(一)
1. 是什么 Redis:REmote Dictionary Server(远程字典服务器) Remote Dictionary Server( 远程字典服务)是完全开源的,使用ANSIC语言编写遵守BSD协议,是一个高性能的Key-Value数据库提供了丰富的数据结构,例如String、Hash、List、…...

基于Python+djangoAI 农作物病虫害预警系统智能识别系统设计与实现(源码&教程)
1.背景 随着科技的发展,机器学习技术在各个领域中的应用越来越广泛。在农业领域,机器学习技术的应用有助于提高农作物的产量和质量,降低农业生产的成本。本文针对农作物健康识别问题,提出一种基于机器学习方法的农作健康识别系统&…...
Kotlin Flow 转换以及上下游处理
本片文章主要介绍Flow上下游处理,上游一个Flow使用map,上游两个Flow使用zip,上游三个Flow及以上使用combine 1、下面代码展示了upStreamFlow作为上游,downStreamFlow作为下游,通过对upStreamFlow使用map操作符函数将…...

深度学习3. 强化学习-Reinforcement learning | RL
强化学习是机器学习的一种学习方式,它跟监督学习、无监督学习是对应的。本文将详细介绍强化学习的基本概念、应用场景和主流的强化学习算法及分类。 目录 什么是强化学习? 强化学习的应用场景 强化学习的主流算法 强化学习(reinforcement learning) …...
TCP/IP网络江湖武艺传承:物理层与通信江湖的幕后
目录 〇、引言:进入现代通信技术的江湖 一、数字信号与模拟信号:传承与差异...

智慧能源管理系统助力某制造企业提高能源利用效率
随着全球能源需求不断增加和能源价格的上涨,企业和机构日益意识到能源管理的重要性。传统的能源管理方式不仅效率低下,还容易造成资源浪费和环境污染。因此,许多企业开始探索采用智慧能源管理系统来提高能源利用效率,降低能源成本…...

opencv/C++ 人脸检测
前言 本文使用的测试资源说明: opencv版本:opencv 4.6.0 人脸检测算法 Haar特征分类器 Haar特征分类器是一个XML文件,描述了人体各个部位的Haar特征值。包括:人脸、眼睛、鼻子、嘴等。 opencv 4.6.0自带的Haar特征分类器&…...

UE4/5的Custom节点:在VScode使用HLSL(新手入门用)
目录 custom节点 VSCode环境安装 将VSCode里面的代码放入Custom中 custom节点 可以看到这是一个简单的Custom节点: 而里面是可以填写代码的: 但是在这里面去写代码会发现十分的繁琐【按下enter后,不会换行,也不会自动缩进】 …...

小研究 - J2EE 应用服务器的软件老化测试研究
软件老化现象是影响软件可靠性的重要因素,长期运行的软件系统存在软件老化现象,这将影响整个业务系统的正常运行,给企事业单位带来无可估量的经济损失。软件老化出现的主要原因是操作系统资源消耗殆尽,导致应用系统的性能下降甚至…...

Tomcat和Servlet基础知识的讲解(JavaEE初阶系列16)
目录 前言: 1.Tomcat 1.1Tomcat是什么 1.2下载安装 2.Servlet 2.1什么是Servlet 2.2使用Servlet来编写一个“hello world” 1.2.1创建项目(Maven) 1.2.2引入依赖(Servlet) 1.2.3创建目录(webapp&a…...

开源在大数据和分析中的角色
🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…...

C#,《小白学程序》第四课:数学计算
1 文本格式 /// <summary> /// 《小白学程序》第四课:数学计算 /// 这节课超级简单,就是计算成绩的平均值(平均分) /// 这个是老师们经常做的一件事。 /// </summary> /// <param name"sender"></…...
SparkML机器学习
SparkML 机器学习: 让机器学会人的学习行为, 通过算法和数据来模拟或实现人类的学习行为,使之不断改善自身性能。 机器学习的步骤: 加载数据特征工程 数据筛选: 选取适合训练的特征列, 例如用户id就不适合, 因为它特性太显著.数据转化: 将字符串的数据转化数据类型…...
vue Promise 对象 等待所有异步处理完成 再继续处理
1 定义数据集合 用来搜集所有数据 let promises []; // 用来存储所有的 Promise 对象 2 promise对象 异步 返回数据 同时添加数据到promises 列表 // 依次读取列表元素的表 for (let symbol of symbolList) {let promise new Promise((resolve, reject) > { // 将请求…...

【业务功能篇84】微服务SpringCloud-ElasticSearch-Kibanan-电商实例应用
一、商品上架功能 ElasticSearch实现商城系统中全文检索的流程。 1.商品ES模型 商品的映射关系 PUT product {"mappings": {"properties": {"skuId": {"type": "long"},"spuId": {"type": "ke…...

图像检索,目标检测map的实现
一、图像检索指标Rank1,map 参考:https://blog.csdn.net/weixin_41427758/article/details/81188164?spm1001.2014.3001.5506 1.Rank1: rank-k:算法返回的排序列表中,前k位为存在检索目标则称为rank-k命中。 常用的为rank1:首…...

Docker容器学习:Dockerfile制作Web应用系统nginx镜像
目录 编写Dockerfile 1.文件内容需求: 2.编写Dockerfile: 3.开始构建镜像 4.现在我们运行一个容器,查看我们的网页是否可访问 推送镜像到私有仓库 1.把要上传的镜像打上合适的标签 2.登录harbor仓库 3.上传镜像 编写Dockerfile 1.文…...

IDEA运行Tomcat出现乱码问题解决汇总
最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…...

XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...

深度学习在微纳光子学中的应用
深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向: 逆向设计 通过神经网络快速预测微纳结构的光学响应,替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...
设计模式和设计原则回顾
设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

Day131 | 灵神 | 回溯算法 | 子集型 子集
Day131 | 灵神 | 回溯算法 | 子集型 子集 78.子集 78. 子集 - 力扣(LeetCode) 思路: 笔者写过很多次这道题了,不想写题解了,大家看灵神讲解吧 回溯算法套路①子集型回溯【基础算法精讲 14】_哔哩哔哩_bilibili 完…...

跨链模式:多链互操作架构与性能扩展方案
跨链模式:多链互操作架构与性能扩展方案 ——构建下一代区块链互联网的技术基石 一、跨链架构的核心范式演进 1. 分层协议栈:模块化解耦设计 现代跨链系统采用分层协议栈实现灵活扩展(H2Cross架构): 适配层…...

Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
Rust 异步编程
Rust 异步编程 引言 Rust 是一种系统编程语言,以其高性能、安全性以及零成本抽象而著称。在多核处理器成为主流的今天,异步编程成为了一种提高应用性能、优化资源利用的有效手段。本文将深入探讨 Rust 异步编程的核心概念、常用库以及最佳实践。 异步编程基础 什么是异步…...
管理学院权限管理系统开发总结
文章目录 🎓 管理学院权限管理系统开发总结 - 现代化Web应用实践之路📝 项目概述🏗️ 技术架构设计后端技术栈前端技术栈 💡 核心功能特性1. 用户管理模块2. 权限管理系统3. 统计报表功能4. 用户体验优化 🗄️ 数据库设…...