自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(50)
  • 收藏
  • 关注

原创 Linux 抓包入门:tcpdump 如何定位网络问题?

本文介绍了Linux下使用tcpdump进行网络抓包的基本方法,帮助定位各类网络问题。主要内容包括:tcpdump安装与基本命令,按网卡、主机、端口过滤的技巧,保存pcap文件的方法,TCP三次握手分析,以及常见网络问题的判断逻辑(如服务器收不到包、RST重置连接等)。文章还总结了DNS请求和ICMP ping包的抓取方法,并提供了常用参数速查表。通过tcpdump可以直接观察数据包传输情况,实现精准网络故障诊断。

2026-07-22 18:25:18 193

原创 Linux 抓包入门:tcpdump 如何定位网络问题?

本文介绍了Linux下使用tcpdump命令行工具进行网络抓包的基本方法和常见应用场景。主要内容包括:tcpdump安装、网卡查看、基本抓包命令、按主机/端口过滤、组合条件查询、显示包内容、保存pcap文件等操作。重点讲解了如何通过分析TCP三次握手判断网络连接状态,以及如何通过抓包结果诊断服务器收不到包、连接被重置、应用层无响应等常见网络问题。文章还提供了DNS查询和ICMP ping的抓包示例,并总结了tcpdump常用参数。掌握这些技巧可以快速定位网络问题,提高故障排查效率。

2026-06-25 09:47:12 211

原创 Linux 网络配置:IP、网关、DNS、路由表

IP 地址子网掩码网关DNS路由表如果这些概念不清楚,排查网络问题时很容易乱猜。本文从 TCP/IP 基础出发,讲解 Linux 中如何查看和配置网络信息,以及如何理解路由表。

2026-06-25 09:45:44 221

原创 Linux 防火墙入门:iptables 和 firewalld 到底有什么区别?

Linux 服务器部署服务时,经常需要开放端口。SSH 使用 22 端口;HTTP 使用 80 端口;HTTPS 使用 443 端口;MySQL 使用 3306 端口;Redis 使用 6379 端口。如果服务已经启动,端口也在监听,但外部仍然访问不了,就要考虑防火墙。iptablesfirewalldnftablesufwiptables 和 firewalld。

2026-06-22 14:25:15 231

原创 Linux 部署 Nginx:从安装到反向代理配置

Nginx 是 Linux 服务器上非常常用的 Web 服务软件。静态网站服务器;反向代理;负载均衡;HTTPS 入口;前端项目部署;后端服务网关;图片、视频等静态资源服务。本文主要讲解如何在 Linux 上安装 Nginx,并完成一个最常见的反向代理配置。Nginx 安装;Nginx 服务管理;配置文件结构;静态页面测试;反向代理配置;日志查看;常见问题排查。

2026-06-22 14:24:50 209

原创 Linux 软链接和硬链接详解:ln 命令背后的 inode 原理

软链接:symbolic link硬链接:hard link创建链接使用ln命令。inode 是什么;软链接是什么;硬链接是什么;二者有什么区别;删除源文件后分别会怎样;实际项目中怎么用。

2026-06-22 14:20:26 243

原创 Linux IO 过高怎么定位?iostat 和 iotop 使用详解

Linux 服务器变慢时,不一定是 CPU 不够。很多时候真正的瓶颈是磁盘 IO。CPU 使用率不高,但系统很卡;Load Average 很高;接口响应慢;数据库查询慢;日志写入慢;iowait 很高;磁盘读写延迟高。iostatiotopvmstatpidstatdstat本文重点讲解iostat和iotop。IO 指输入输出。在服务器排查中,通常指磁盘读写。MySQL 读写数据文件;日志写入磁盘;程序读取大文件;

2026-06-22 14:19:54 298

原创 Linux 环境变量讲解:PATH、export、source到底是什么?

Linux 中很多开发环境问题,本质都是环境变量问题。命令安装了却提示;配置了 Java,但java找不到;修改.bashrc后没有立即生效;脚本里设置变量,退出脚本后变量没了;export和普通变量分不清;source不知道什么时候用。

2026-06-22 14:19:21 185

原创 Linux 网络排查实战:ping、telnet、curl、ss 怎么配合用?

这篇文章介绍了Linux服务器网络故障排查的实用方法,重点讲解了四个命令的组合使用: ping:测试IP层连通性,判断主机是否可达 telnet/nc:检查TCP端口连通性,确认服务端口是否开放 ss:查看本机端口监听状态,验证服务是否正常运行 curl:测试HTTP/HTTPS服务可用性,检查应用层响应 文章提供了系统化的排查思路,建议按照从底层到高层的顺序逐步检查:网络连通性→DNS解析→端口状态→服务监听→HTTP响应→应用逻辑。每个命令都给出了常用参数和典型输出分析,并指出了常见问题的判断方法。最后

2026-06-04 22:58:30 427

原创 Linux 定时任务 crontab 详解:让脚本每天自动执行

Linux定时任务crontab使用指南 本文详细介绍了Linux系统中crontab定时任务工具的使用方法。主要内容包括: crontab基本概念:作为Linux下最常用的定时任务管理工具 常用命令:crontab -e编辑任务,-l查看任务,-r删除任务 时间格式解析:分 时 日 月 周5个时间字段的设置方法 实用技巧: 特殊时间表达式(@daily/@weekly等) 环境变量和路径问题的解决方案 日志查看方法(/var/log/syslog或cron日志) 常见应用场景:每日备份、定期清理等自动化脚

2026-06-04 22:57:45 255

原创 Linux 目录结构详解:/etc、/var、/usr、/proc 都是干什么的?

Linux 的目录结构和 Windows 不一样。Windows 常见的是 C 盘、D 盘,而 Linux 所有目录都从根目录开始。ls /这些目录不是随便放的。每个目录都有相对固定的职责。

2026-06-04 22:57:09 295

原创 Linux 查看端口占用:netstat、ss、lsof 谁更好用?

本文介绍了Linux中查看端口占用的三种常用工具:ss、netstat和lsof。ss是推荐首选工具,命令简洁高效;netstat是传统工具,兼容旧系统;lsof能精确查找端口对应的进程。文章详细说明了各工具的参数用法、输出解读和适用场景,并提供了端口排查的核心流程:检查监听状态→确认监听地址→定位进程→检查服务状态→排查防火墙。通过对比分析,建议日常优先使用ss,旧系统用netstat,精确查找用lsof。掌握这些工具能快速解决"端口被占用"和"服务访问失败"等问题。

2026-06-04 22:56:45 252

原创 Linux 网络排查实战:ping、telnet、curl、ss 怎么配合用?

本文介绍了一套Linux网络排查实战流程,重点讲解ping、telnet/nc、ss和curl四个命令的配合使用。文章首先指出网络问题的复杂性,然后提出分层排查的思路:从网络可达性测试(ping)开始,依次检查DNS解析(nslookup/dig)、端口连通性(telnet/nc)、本地服务监听(ss)和HTTP服务状态(curl)。文中详细说明了每个命令的用法和典型输出,分析了常见错误原因,并特别强调了127.0.0.1和0.0.0.0监听的区别。最后总结了一个标准排查流程,建议按照网络层→传输层→应用层

2026-06-04 22:56:18 435

原创 Linux 查看端口占用:netstat、ss、lsof 谁更好用?

本文比较了Linux系统中查看端口占用的三种工具:ss、netstat和lsof。ss是新工具,速度快、系统常见,推荐日常优先使用;netstat是老牌工具,旧系统兼容性好;lsof能精确查看端口对应的进程。文章详细介绍了各工具的使用方法、参数含义和输出解读,并提供了端口排查的实际场景解决方案,包括查看监听状态、定位占用进程、解决端口冲突等。核心建议是:日常使用ss,精确查询用lsof,旧系统兼容用netstat,通过端口-进程-服务-防火墙的排查流程,快速解决端口相关问题。

2026-05-28 20:43:40 387

原创 Linux 僵尸进程和孤儿进程详解

僵尸进程孤儿进程它们都和父子进程关系有关。什么是僵尸进程?僵尸进程会不会占 CPU?为什么 kill 僵尸进程没用?什么是孤儿进程?孤儿进程是不是异常?如何排查大量僵尸进程?本文从 Linux 进程状态出发,讲清楚僵尸进程和孤儿进程。子进程已经退出,但父进程还没有回收它的退出状态。PID;退出状态;资源使用统计。Z父进程已经退出,但子进程还在运行。孤儿进程会被 PID 1 进程接管。现代 Linux 中 PID 1 通常是 systemd。孤儿进程不一定是异常。

2026-05-28 20:42:55 178

原创 Linux 文件权限:chmod、chown、umask 到底怎么用?

Linux 是多用户操作系统。一个文件能不能被读取、修改、执行,不只取决于文件本身,还取决于当前用户是谁、文件属于谁、文件属于哪个用户组,以及权限位如何设置。chmod # 修改权限chown # 修改文件所属用户/用户组umask # 控制新建文件的默认权限。

2026-05-28 20:42:38 191

原创 Linux 进程管理:ps、top、kill、nice

本文介绍了Linux进程管理的核心工具和方法,包括: 进程基础概念:PID/PPID、进程状态(R/S/D/T/Z) 常用命令: ps -ef/aux 查看进程快照 top 实时监控(支持CPU/内存排序) kill 发送信号(推荐先SIGTERM再SIGKILL) nice/renice 调整优先级(-20到19) 辅助工具:pstree查看进程树、pgrep/pkill按名称操作 排查场景:服务状态检查、资源占用分析、卡死进程处理 使用建议:避免直接kill -9,优先用默认信号让进程优雅退出 这些命令

2026-05-28 20:42:08 402

原创 Linux 部署 MySQL:安装、远程访问和权限配置

本文详细介绍了在Linux系统上部署MySQL数据库的完整流程,包括安装、配置、权限管理和远程访问设置。主要内容涵盖:MySQL在Ubuntu/Debian和CentOS/RHEL上的安装方法;安全初始化和root密码设置;数据库和用户创建;用户host字段的含义与配置;开启远程访问的步骤(修改绑定地址、创建远程用户、开放防火墙);权限控制最佳实践;数据库备份恢复方法;以及常见问题排查技巧。文章特别强调生产环境的安全注意事项,建议限制root远程登录、谨慎使用'%'通配符、按需授予最小权限并定期备份。

2026-05-28 20:41:20 246

原创 Linux 内存不够了?free、top、vmstat 怎么看?

本文介绍了Linux服务器内存不足时的排查方法。关键命令包括free、top、vmstat等,重点查看available内存而非free内存,因为Linux会利用空闲内存做缓存。Swap使用量和vmstat中的si/so指标可判断内存压力,若持续不为零则说明内存紧张。还需关注进程内存占用(RSS/%MEM)和OOM日志。对于Java、MySQL、Redis等特定服务,需结合其内存管理机制分析。临时释放缓存并非根本解决方案,应找出内存占用高的进程或配置问题。排查流程建议先看available内存,再检查Swa

2026-05-26 22:53:57 377

原创 Linux OOM Killer 是什么?程序为什么突然被杀?

Linux OOM Killer 是内核在内存严重不足时自动杀死进程的自保机制。当系统内存耗尽时,内核会根据进程的oom_score选择性地终止进程释放内存。可通过dmesg或journalctl查看OOM日志,分析被杀进程的内存占用情况。常见原因包括内存泄漏、配置不当、突发流量或容器内存限制。预防措施包括监控内存、合理配置应用参数、限制容器资源以及增加Swap。排查流程应先确认OOM事件,再分析系统状态和进程内存趋势。核心是做好内存监控和合理配置,避免关键进程被意外终止。

2026-05-26 22:53:13 367

原创 Linux 日志系统入门:/var/log 和 journalctl 怎么排查问题?

本文介绍了Linux系统中排查问题的两个主要日志入口:/var/log目录和journalctl命令。/var/log存放传统日志文件,包含系统、认证、服务等各类日志;journalctl则用于查看systemd管理的服务日志。文章详细讲解了日志查看命令(less/tail/grep)、常见日志文件作用、服务日志分析方法,以及按时间/级别筛选日志的技巧。最后提供了服务启动失败、SSH登录问题、OOM等常见故障的排查流程,帮助读者快速定位系统问题。掌握这些日志工具和方法是Linux系统管理的基础技能。

2026-05-26 22:50:55 412

原创 Linux CPU 占用过高怎么排查?top、ps、pidstat

Linux 服务器 CPU 占用过高,是线上排障中非常常见的问题。接口响应变慢;SSH 登录卡顿;服务线程堆积;负载 Load Average 升高;风扇转速变高;进程占用 CPU 长时间不下降。排查 CPU 问题,不能只看一个top。toppspidstatuptimempstatperf应用日志本文重点围绕toppspidstat展开,讲清楚 Linux CPU 占用过高时怎么定位到具体进程、线程和可能原因。

2026-05-26 22:49:43 466

原创 Linux 目录结构:/etc、/var、/usr、/proc 都是干什么的?

本文详细介绍了Linux系统的核心目录结构及其功能。

2026-05-26 22:49:14 330

原创 Linux 文件权限:chmod、chown、umask 到底怎么用?

Linux 是多用户操作系统。一个文件能不能被读取、修改、执行,不只取决于文件本身,还取决于当前用户是谁、文件属于谁、文件属于哪个用户组,以及权限位如何设置。

2026-05-25 23:55:11 327 1

原创 Linux 用户和用户组管理:useradd、passwd、sudo 实战

Linux 是多用户系统。用户、用户组和 sudo 权限,是 Linux 权限管理的基础。

2026-05-25 23:54:30 337

原创 Linux 后台任务:&、nohup、jobs、systemd 的区别

在 Linux 中,我们经常需要让程序在后台运行。本文重点讲清楚它们的区别和使用场景。

2026-05-25 23:54:12 390

原创 Linux 日志系统入门:/var/log 和 journalctl 怎么排查问题?

Linux 出问题时,日志是最重要的线索。常见问题:Linux 常见日志入口有两个:本文重点讲解如何用它们排查问题。传统 Linux 日志通常存放在:查看:常见日志:不同发行版日志文件名可能不同。常用按键:实时跟踪:3.3 grep 搜索关键词参数含义:Ubuntu/Debian:CentOS/RHEL:查看 SSH 登录失败:查看登录成功:CentOS/RHEL:这类日志适合排查:常见路径:实时查看访问:实时查看错误:查找 500:查找错误:排查 502 时,优先看:

2026-05-25 23:53:56 408

原创 Linux 环境变量:PATH、export、source 到底是什么?

本文深入解析了Linux环境变量的核心概念和使用技巧。

2026-05-25 23:53:32 378

原创 Linux 进程管理:ps、top、kill、nice 一文讲清

程序是磁盘上的可执行文件。进程是程序运行后的实例。是一个程序。当 Nginx 启动后,系统中会出现 nginx 进程。一个程序可以有多个进程。Nginx 常见结构是一个 master 进程加多个 worker 进程。

2026-05-24 19:11:39 318

原创 Linux 软链接和硬链接详解:ln 命令背后的 inode 原理

本文详细介绍了Linux中的软链接和硬链接概念。软链接类似快捷方式,保存目标路径,可以跨文件系统;硬链接则是多个文件名共享同一inode,指向相同数据。关键区别在于:软链接指向路径,硬链接指向inode。删除源文件后,硬链接仍可访问数据,而软链接会失效。文章还讲解了inode原理、ln命令用法、实际应用场景(如版本切换、配置管理)以及常见问题解答,帮助读者深入理解Linux文件系统的这一重要特性。

2026-05-24 19:11:13 355

原创 单片机 ADC 电压采集实战:从配置到数据读取

本文介绍了STM32F103单片机ADC电压采集的完整流程。主要内容包括:ADC基本原理与12位分辨率特性(0-4095对应0-3.3V)、硬件连接方式(以电位器为例)、标准库配置步骤(时钟分频、GPIO模拟输入、ADC参数设置等)、采样时间选择建议(推荐55.5周期)以及数据读取方法。重点讲解了电压换算公式(实际电压=采样值×3.3/4095)和初始化代码实现,适用于初学者掌握单通道ADC采集技术。

2026-05-19 17:27:23 586

原创 Claude Code + CC Switch 在 Windows 11 下安装使用教程

Claude Code 是 Anthropic 推出的终端式 AI 编程助手,可以直接在命令行里读取项目、修改代码、运行命令、解释报错、生成脚本和辅助重构。CC Switch 是一个跨平台桌面工具,主要用于管理 Claude Code、Codex、Gemini CLI、OpenCode、OpenClaw 等 AI CLI 工具的模型供应商、API Key、MCP、Skills 等配置。注意:本文只讲正规安装和配置流程。

2026-05-19 17:20:15 1289

原创 STM32 串口通信:串口的接收和发送详解

本文详细介绍了STM32串口通信的实现方法,重点讲解了USART1的配置和使用。主要内容包括:串口通信的基本原理(异步模式、三线连接方式)、数据帧格式(115200 8N1)、USART1初始化流程(时钟配置、引脚设置、参数配置)。文章提供了完整的初始化代码示例,并分别讲解了轮询方式的串口发送(单字节和字符串)和接收实现,以及中断接收的配置方法。最后指出了轮询接收的缺点,推荐在实际项目中使用中断接收方式以提高系统效率。文中代码示例清晰,涵盖了STM32串口开发的核心技术点,适合嵌入式开发者参考使用。

2026-05-18 10:28:07 475

原创 STM32 的IIC通信接收和发送详解

本文详细介绍了STM32的IIC通信原理与实现方法。主要内容包括:IIC通信的基本概念和双线制结构;SCL和SDA信号线的开漏输出特性及上拉电阻的必要性;IIC通信时序中的起始信号、停止信号和应答信号;7位设备地址与读写方向位的组合方式;基于STM32标准库的I2C1初始化配置流程;IIC数据发送和接收的基本流程;以及寄存器读写操作的典型代码实现。文章还特别强调了设备地址格式的注意事项和硬件I2C常见问题,为STM32开发者提供了完整的IIC通信解决方案。

2026-05-18 10:26:39 496

原创 SPI vs I2C:从架构到代码的速度优势解析

深入对比 SPI 和 I2C 的通信机制,通过硬件原理、配置代码和实际测试,揭示 SPI 在速度上超越 I2C 的根本原因。

2026-05-15 15:53:01 368

原创 揭开电机驱动的奥秘:从原理到实战,理解驱动芯片的核心价值

摘要 本教程深入解析电机驱动芯片的核心作用,揭示单片机与电机之间的根本矛盾:单片机GPIO引脚的低电压(3.3V/5V)和弱电流(20mA)无法满足电机的高电压(6-24V)和大电流(1A以上)需求。通过对比实验展示,单片机直驱电机会导致引脚损坏或电机无法启动,而驱动芯片作为智能桥梁,能实现电压转换、电流放大、PWM调速和多重保护功能。教程详细分析分立元件方案(三极管/继电器)的局限性,并引出集成驱动芯片的必要性,为后续实战应用奠定理论基础。

2026-05-15 14:38:50 479

原创 STM32定时器精确触发ADC采样实战指南

STM32定时器精确触发ADC采样实战指南 本教程详细讲解如何利用STM32定时器硬件触发ADC采样,解决软件触发导致的采样频率不稳定问题。通过配置定时器为主模式产生精确触发信号,ADC为从模式响应硬件触发,实现高精度采样而无需CPU干预。教程包含系统原理、定时器配置(PSC/ARR计算)、ADC触发设置、DMA传输等关键步骤,并提供完整的HAL库代码示例。这种硬件同步方法特别适合需要严格等间隔采样的应用场景,如音频处理、传感器信号采集等,可确保采样间隔抖动控制在纳秒级。

2026-05-13 10:25:57 738

原创 STC51单片机外部中断编程实战指南

本文系统介绍了STC51单片机外部中断的编程技术,从8051内核架构和中断系统原理入手,详细讲解了外部中断的功能特性、触发方式和典型应用场景。文章重点阐述了STC51增强型中断特性,包括更多中断源、可配置优先级和低功耗唤醒功能,并通过代码框架展示了外部中断的初始化配置和中断服务函数编写方法。此外,还提供了Keil uVision开发环境的搭建指南,包括IDE安装、STC器件包添加和工程创建流程,为开发者掌握中断驱动编程技术提供了完整的实践指导。

2026-05-12 23:34:20 423

原创 STM32 SPI通信深度指南:软件模拟与硬件驱动实战

本教程深入讲解STM32的SPI通信技术,涵盖协议原理、硬件架构和两种实现方案。首先解析SPI协议的核心原理,包括主从模式、四线制、四种工作模式和数据帧格式。然后详细剖析STM32 SPI外设的硬件架构,包括时钟发生器、移位寄存器和关键控制寄存器。最后通过寄存器级开发实践,指导配置GPIO引脚和SPI外设,实现主机模式下的数据收发。教程还对比了SPI与I2C、UART等协议的优缺点,帮助开发者根据应用场景选择最佳方案。

2026-05-12 23:29:32 427

原创 STM32双ADC-DMA采集完全指南

本教程系统讲解STM32双ADC配合DMA实现高效数据采集的技术方案。第1章详细剖析ADC模块基础,包括12位逐次逼近型ADC的工作原理、转换过程(采样/保持/量化/编码)、精度指标及通道配置方法,并通过单ADC单通道采集示例展示HAL库编程流程。第2章重点介绍DMA模块,作为实现高速数据传输的关键技术,讲解其工作原理、通道配置与中断机制。后续章节将深入探讨双ADC同步模式(交替/同步/混合)的实现原理、DMA传输优化策略,以及完整的STM32CubeMX配置指南和实战案例,帮助开发者构建高性能数据采集系统

2026-05-11 20:00:04 454

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除