微分享 - 超实用开发日常排查问题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.文…...
学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1
每日一言 生活的美好,总是藏在那些你咬牙坚持的日子里。 硬件:OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写,"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...
如何为服务器生成TLS证书
TLS(Transport Layer Security)证书是确保网络通信安全的重要手段,它通过加密技术保护传输的数据不被窃听和篡改。在服务器上配置TLS证书,可以使用户通过HTTPS协议安全地访问您的网站。本文将详细介绍如何在服务器上生成一个TLS证…...
uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
【Go语言基础【12】】指针:声明、取地址、解引用
文章目录 零、概述:指针 vs. 引用(类比其他语言)一、指针基础概念二、指针声明与初始化三、指针操作符1. &:取地址(拿到内存地址)2. *:解引用(拿到值) 四、空指针&am…...
毫米波雷达基础理论(3D+4D)
3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文: 一文入门汽车毫米波雷达基本原理 :https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...
Scrapy-Redis分布式爬虫架构的可扩展性与容错性增强:基于微服务与容器化的解决方案
在大数据时代,海量数据的采集与处理成为企业和研究机构获取信息的关键环节。Scrapy-Redis作为一种经典的分布式爬虫架构,在处理大规模数据抓取任务时展现出强大的能力。然而,随着业务规模的不断扩大和数据抓取需求的日益复杂,传统…...
数学建模-滑翔伞伞翼面积的设计,运动状态计算和优化 !
我们考虑滑翔伞的伞翼面积设计问题以及运动状态描述。滑翔伞的性能主要取决于伞翼面积、气动特性以及飞行员的重量。我们的目标是建立数学模型来描述滑翔伞的运动状态,并优化伞翼面积的设计。 一、问题分析 滑翔伞在飞行过程中受到重力、升力和阻力的作用。升力和阻力与伞翼面…...
自然语言处理——文本分类
文本分类 传统机器学习方法文本表示向量空间模型 特征选择文档频率互信息信息增益(IG) 分类器设计贝叶斯理论:线性判别函数 文本分类性能评估P-R曲线ROC曲线 将文本文档或句子分类为预定义的类或类别, 有单标签多类别文本分类和多…...
从零开始了解数据采集(二十八)——制造业数字孪生
近年来,我国的工业领域正经历一场前所未有的数字化变革,从“双碳目标”到工业互联网平台的推广,国家政策和市场需求共同推动了制造业的升级。在这场变革中,数字孪生技术成为备受关注的关键工具,它不仅让企业“看见”设…...
shell脚本质数判断
shell脚本质数判断 shell输入一个正整数,判断是否为质数(素数)shell求1-100内的质数shell求给定数组输出其中的质数 shell输入一个正整数,判断是否为质数(素数) 思路: 1:1 2:1 2 3:1 2 3 4:1 2 3 4 5:1 2 3 4 5-------> 3:2 4:2 3 5:2 3…...
