<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Linux on Ralph's Blog</title><link>https://pothos.dpdns.org/tags/linux/</link><description>Recent content in Linux on Ralph's Blog</description><generator>Hugo -- 0.147.7</generator><language>zh-cn</language><lastBuildDate>Wed, 20 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://pothos.dpdns.org/tags/linux/index.xml" rel="self" type="application/rss+xml"/><item><title>8.shell</title><link>https://pothos.dpdns.org/posts/8.shell/</link><pubDate>Thu, 25 Dec 2025 00:00:00 +0000</pubDate><guid>https://pothos.dpdns.org/posts/8.shell/</guid><description>&lt;h2 id="目录">目录&lt;/h2>
&lt;details>
&lt;summary>点击展开目录&lt;/summary>
&lt;ul>
&lt;li>&lt;a href="#%E7%9B%AE%E5%BD%95">目录&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E6%96%87%E4%BB%B6%E6%93%8D%E4%BD%9C">文件操作&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E6%96%87%E4%BB%B6%E6%9F%A5%E6%89%BE%E4%B8%8E%E8%BF%87%E6%BB%A4">文件查找与过滤&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E6%96%87%E4%BB%B6%E5%A4%84%E7%90%86">文件处理&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E6%96%87%E4%BB%B6%E5%8E%8B%E7%BC%A9">文件压缩&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E6%96%87%E4%BB%B6%E6%9D%83%E9%99%90%E7%AE%A1%E7%90%86">文件权限管理&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#hdfs%E6%93%8D%E4%BD%9C">HDFS操作&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E6%96%87%E4%BB%B6%E6%9F%A5%E7%9C%8B">文件查看&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E6%96%87%E4%BB%B6%E5%A4%A7%E5%B0%8F%E7%BB%9F%E8%AE%A1">文件大小统计&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0">文件上传&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E6%96%87%E6%9C%AC%E5%A4%84%E7%90%86">文本处理&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E6%96%87%E4%BB%B6%E8%AF%BB%E5%8F%96">文件读取&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E6%96%87%E6%9C%AC%E8%BF%87%E6%BB%A4">文本过滤&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E9%AB%98%E7%BA%A7%E6%96%87%E6%9C%AC%E5%A4%84%E7%90%86">高级文本处理&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#sed-%E6%B5%81%E7%BC%96%E8%BE%91%E5%99%A8">sed 流编辑器&lt;/a>&lt;/li>
&lt;li>&lt;a href="#awk-%E6%96%87%E6%9C%AC%E5%A4%84%E7%90%86%E5%B7%A5%E5%85%B7">awk 文本处理工具&lt;/a>&lt;/li>
&lt;li>&lt;a href="#grep-%E6%96%87%E6%9C%AC%E6%90%9C%E7%B4%A2%E5%B7%A5%E5%85%B7">grep 文本搜索工具&lt;/a>&lt;/li>
&lt;li>&lt;a href="#cut-%E5%88%97%E6%8F%90%E5%8F%96%E5%B7%A5%E5%85%B7">cut 列提取工具&lt;/a>&lt;/li>
&lt;li>&lt;a href="#sort-%E6%8E%92%E5%BA%8F%E5%B7%A5%E5%85%B7">sort 排序工具&lt;/a>&lt;/li>
&lt;li>&lt;a href="#uniq-%E5%8E%BB%E9%87%8D%E5%B7%A5%E5%85%B7">uniq 去重工具&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E7%BB%BC%E5%90%88%E5%BA%94%E7%94%A8%E7%A4%BA%E4%BE%8B">综合应用示例&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E7%AE%A1%E9%81%93%E6%93%8D%E4%BD%9C%E8%AF%A6%E8%A7%A3">管道操作详解&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E6%8E%A7%E5%88%B6%E7%BB%93%E6%9E%84">控制结构&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E6%9D%A1%E4%BB%B6%E5%88%A4%E6%96%AD">条件判断&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E5%88%86%E6%94%AF%E8%AF%AD%E5%8F%A5">分支语句&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E5%BE%AA%E7%8E%AF%E8%AF%AD%E5%8F%A5">循环语句&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E5%87%BD%E6%95%B0%E5%AE%9A%E4%B9%89">函数定义&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E4%BF%A1%E5%8F%B7%E4%B8%8E%E5%BC%82%E5%B8%B8%E5%A4%84%E7%90%86">信号与异常处理&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E5%AD%97%E7%AC%A6%E4%B8%B2%E5%A4%84%E7%90%86">字符串处理&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E5%AD%97%E7%AC%A6%E4%B8%B2%E5%9F%BA%E6%9C%AC%E6%93%8D%E4%BD%9C">字符串基本操作&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E5%AD%97%E7%AC%A6%E4%B8%B2%E6%88%AA%E5%8F%96%E4%B8%8E%E6%9B%BF%E6%8D%A2">字符串截取与替换&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E5%AD%97%E7%AC%A6%E4%B8%B2%E8%BD%AC%E6%8D%A2">字符串转换&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E5%AD%97%E7%AC%A6%E4%B8%B2%E6%AF%94%E8%BE%83%E4%B8%8E%E5%88%A4%E6%96%AD">字符串比较与判断&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E5%AD%97%E7%AC%A6%E4%B8%B2%E5%88%87%E5%89%B2%E7%94%9F%E6%88%90%E6%95%B0%E7%BB%84">字符串切割生成数组&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E5%A4%84%E7%90%86">正则表达式处理&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E6%95%B0%E7%BB%84%E6%93%8D%E4%BD%9C">数组操作&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E6%95%B0%E7%BB%84%E5%AE%9A%E4%B9%89%E4%B8%8E%E5%88%9D%E5%A7%8B%E5%8C%96">数组定义与初始化&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E7%B4%A2%E5%BC%95%E6%95%B0%E7%BB%84">索引数组&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E6%95%B0%E7%BB%84%E5%88%9D%E5%A7%8B%E5%8C%96%E6%8A%80%E5%B7%A7">数组初始化技巧&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E6%95%B0%E7%BB%84%E8%AE%BF%E9%97%AE%E4%B8%8E%E4%BF%AE%E6%94%B9">数组访问与修改&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E5%9F%BA%E6%9C%AC%E8%AE%BF%E9%97%AE%E6%93%8D%E4%BD%9C">基本访问操作&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E6%95%B0%E7%BB%84%E5%88%87%E7%89%87%E6%93%8D%E4%BD%9C">数组切片操作&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E6%95%B0%E7%BB%84%E4%BF%AE%E6%94%B9%E6%93%8D%E4%BD%9C">数组修改操作&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E6%95%B0%E7%BB%84%E9%81%8D%E5%8E%86">数组遍历&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E5%9F%BA%E6%9C%AC%E9%81%8D%E5%8E%86%E6%96%B9%E6%B3%95">基本遍历方法&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E9%AB%98%E7%BA%A7%E9%81%8D%E5%8E%86%E6%8A%80%E5%B7%A7">高级遍历技巧&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E6%95%B0%E7%BB%84%E6%93%8D%E4%BD%9C%E6%96%B9%E6%B3%95">数组操作方法&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E6%95%B0%E7%BB%84%E6%90%9C%E7%B4%A2%E4%B8%8E%E6%9F%A5%E6%89%BE">数组搜索与查找&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E6%95%B0%E7%BB%84%E6%8E%92%E5%BA%8F">数组排序&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E6%95%B0%E7%BB%84%E5%8E%BB%E9%87%8D%E4%B8%8E%E5%90%88%E5%B9%B6">数组去重与合并&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E6%95%B0%E7%BB%84-map-%E6%93%8D%E4%BD%9C">数组 Map 操作&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E5%AD%97%E7%AC%A6%E4%B8%B2%E5%88%86%E5%89%B2%E4%B8%8E%E6%95%B0%E7%BB%84%E7%94%9F%E6%88%90">字符串分割与数组生成&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E6%95%B0%E7%BB%84%E6%8E%92%E9%94%99%E4%B8%8E%E5%85%BC%E5%AE%B9%E6%80%A7">数组排错与兼容性&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E5%85%B3%E8%81%94%E6%95%B0%E7%BB%84">关联数组&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E5%85%B3%E8%81%94%E6%95%B0%E7%BB%84%E5%9F%BA%E7%A1%80">关联数组基础&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E5%85%B3%E8%81%94%E6%95%B0%E7%BB%84%E6%93%8D%E4%BD%9C">关联数组操作&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E5%85%B3%E8%81%94%E6%95%B0%E7%BB%84%E9%AB%98%E7%BA%A7%E5%BA%94%E7%94%A8">关联数组高级应用&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E6%95%B0%E7%BB%84%E5%AE%9E%E7%94%A8%E7%A4%BA%E4%BE%8B">数组实用示例&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%8F%82%E6%95%B0%E5%A4%84%E7%90%86">命令行参数处理&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E6%97%A5%E5%BF%97%E5%A4%84%E7%90%86%E7%B3%BB%E7%BB%9F">日志处理系统&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E6%95%B0%E6%8D%AE%E5%A4%84%E7%90%86%E7%AE%A1%E9%81%93">数据处理管道&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E6%95%B0%E5%AD%A6%E8%BF%90%E7%AE%97">数学运算&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E5%9F%BA%E6%9C%AC%E7%AE%97%E6%9C%AF%E8%BF%90%E7%AE%97">基本算术运算&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E6%95%B4%E6%95%B0%E8%BF%90%E7%AE%97">整数运算&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E4%BD%BF%E7%94%A8let%E5%91%BD%E4%BB%A4">使用let命令&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E4%BD%BF%E7%94%A8expr%E5%91%BD%E4%BB%A4">使用expr命令&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E9%AB%98%E7%BA%A7%E6%95%B0%E5%AD%A6%E8%BF%90%E7%AE%97">高级数学运算&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E6%B5%AE%E7%82%B9%E6%95%B0%E8%BF%90%E7%AE%97">浮点数运算&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E4%BD%BF%E7%94%A8awk%E8%BF%9B%E8%A1%8C%E6%95%B0%E5%AD%A6%E8%BF%90%E7%AE%97">使用awk进行数学运算&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E6%95%B0%E5%80%BC%E6%AF%94%E8%BE%83%E4%B8%8E%E5%88%A4%E6%96%AD">数值比较与判断&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E6%95%B0%E5%80%BC%E6%AF%94%E8%BE%83%E6%93%8D%E4%BD%9C">数值比较操作&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E6%95%B0%E5%80%BC%E8%8C%83%E5%9B%B4%E5%88%A4%E6%96%AD">数值范围判断&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E8%BF%9B%E5%88%B6%E8%BD%AC%E6%8D%A2">进制转换&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E4%B8%8D%E5%90%8C%E8%BF%9B%E5%88%B6%E4%B9%8B%E9%97%B4%E7%9A%84%E8%BD%AC%E6%8D%A2">不同进制之间的转换&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E9%9A%8F%E6%9C%BA%E6%95%B0%E7%94%9F%E6%88%90">随机数生成&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E7%94%9F%E6%88%90%E5%90%84%E7%A7%8D%E9%9A%8F%E6%9C%BA%E6%95%B0">生成各种随机数&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E6%95%B0%E5%AD%A6%E8%BF%90%E7%AE%97%E5%AE%9E%E7%94%A8%E7%A4%BA%E4%BE%8B">数学运算实用示例&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E7%BB%9F%E8%AE%A1%E8%AE%A1%E7%AE%97%E5%99%A8">统计计算器&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E6%95%B0%E5%AD%A6%E5%87%BD%E6%95%B0%E5%BA%93">数学函数库&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E5%8D%95%E4%BD%8D%E8%BD%AC%E6%8D%A2%E5%99%A8">单位转换器&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E8%BF%9B%E7%A8%8B%E7%AE%A1%E7%90%86">进程管理&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E8%BF%9B%E7%A8%8B%E7%9B%91%E6%8E%A7%E4%B8%8E%E6%8E%A7%E5%88%B6">进程监控与控制&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E7%BB%84%E5%90%88%E6%9F%A5%E6%9D%80%E5%AE%9E%E6%88%98%E7%B2%BE%E5%87%86%E5%AE%9A%E4%BD%8D%E4%B8%8E%E7%BB%88%E6%AD%A2">组合查杀实战（精准定位与终止）&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E5%90%8E%E5%8F%B0%E4%BB%BB%E5%8A%A1%E7%AE%A1%E7%90%86">后台任务管理&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E6%97%B6%E9%97%B4%E5%A4%84%E7%90%86">时间处理&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E6%97%A5%E6%9C%9F%E6%A0%BC%E5%BC%8F%E5%8C%96">日期格式化&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E6%97%B6%E9%97%B4%E8%AE%A1%E7%AE%97">时间计算&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E7%BD%91%E7%BB%9C%E8%AF%B7%E6%B1%82">网络请求&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E5%9F%BA%E6%9C%AC%E7%BD%91%E7%BB%9C%E5%91%BD%E4%BB%A4">基本网络命令&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E9%AB%98%E7%BA%A7%E7%BD%91%E7%BB%9C%E6%93%8D%E4%BD%9C">高级网络操作&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#curl-%E9%AB%98%E7%BA%A7%E7%94%A8%E6%B3%95%E4%B8%8E%E5%8F%98%E9%87%8F%E4%BC%A0%E9%80%92">curl 高级用法与变量传递&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#shell-%E4%B8%AD%E5%90%91-curl-%E4%BC%A0%E9%80%92%E5%8F%98%E9%87%8F%E7%9A%84%E6%A0%B8%E5%BF%83%E5%8E%9F%E5%88%99">Shell 中向 curl 传递变量的核心原则&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E5%9F%BA%E6%9C%AC%E5%8E%9F%E5%88%99%E5%8F%98%E9%87%8F%E5%B1%95%E5%BC%80">基本原则：变量展开&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E5%BC%95%E5%8F%B7%E4%BD%BF%E7%94%A8%E5%8F%A3%E8%AF%80">引号使用口诀&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E4%B8%8D%E5%90%8C%E5%9C%BA%E6%99%AF%E4%B8%8B%E7%9A%84%E5%8F%98%E9%87%8F%E4%BC%A0%E9%80%92%E6%96%B9%E6%B3%95">不同场景下的变量传递方法&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#get-%E8%AF%B7%E6%B1%82url-%E5%8F%82%E6%95%B0">GET 请求（URL 参数）&lt;/a>&lt;/li>
&lt;li>&lt;a href="#post-%E8%AF%B7%E6%B1%82%E8%A1%A8%E5%8D%95%E6%95%B0%E6%8D%AE">POST 请求（表单数据）&lt;/a>&lt;/li>
&lt;li>&lt;a href="#post-%E8%AF%B7%E6%B1%82json-%E6%95%B0%E6%8D%AE">POST 请求（JSON 数据）&lt;/a>&lt;/li>
&lt;li>&lt;a href="#header-%E4%B8%AD%E4%BC%A0%E9%80%92%E5%8F%98%E9%87%8F">Header 中传递变量&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E5%8F%98%E9%87%8F%E5%8C%85%E5%90%AB%E7%89%B9%E6%AE%8A%E5%AD%97%E7%AC%A6">变量包含特殊字符&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#shell-%E6%95%B0%E7%BB%84%E4%B8%8E-json-%E5%A4%84%E7%90%86">Shell 数组与 JSON 处理&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#shell-%E6%95%B0%E7%BB%84%E4%B8%8E%E5%AD%97%E7%AC%A6%E4%B8%B2%E7%9A%84%E5%8C%BA%E5%88%86">Shell 数组与字符串的区分&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E4%BD%BF%E7%94%A8-jq-%E5%AE%89%E5%85%A8%E7%94%9F%E6%88%90-json">使用 jq 安全生成 JSON&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E6%95%B0%E7%BB%84%E4%B8%8E-json-%E7%9A%84%E8%BD%AC%E6%8D%A2">数组与 JSON 的转换&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#shell-%E6%95%B0%E7%BB%84%E7%9A%84%E8%BF%9B%E9%98%B6%E6%93%8D%E4%BD%9C">Shell 数组的进阶操作&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E8%AE%A1%E7%AE%97%E6%95%B0%E7%BB%84%E4%BA%A4%E9%9B%86">计算数组交集&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E5%88%A4%E6%96%AD%E6%95%B0%E7%BB%84%E6%98%AF%E5%90%A6%E6%9C%89%E6%95%88">判断数组是否&amp;quot;有效&amp;quot;&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E6%95%B0%E7%BB%84%E7%9A%84%E6%B8%85%E6%B4%97%E4%B8%8E%E8%BF%87%E6%BB%A4">数组的清洗与过滤&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E8%84%9A%E6%9C%AC%E6%89%A7%E8%A1%8C%E7%8E%AF%E5%A2%83%E4%B8%8E%E5%B8%B8%E8%A7%81%E9%94%99%E8%AF%AF">脚本执行环境与常见错误&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#bash-%E4%B8%8E-sh-%E7%9A%84%E5%85%B3%E9%94%AE%E5%8C%BA%E5%88%AB">Bash 与 sh 的关键区别&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E5%B8%B8%E8%A7%81%E9%94%99%E8%AF%AF%E8%BF%9B%E7%A8%8B%E6%9B%BF%E6%8D%A2%E8%AF%AD%E6%B3%95%E9%94%99%E8%AF%AF">常见错误：进程替换语法错误&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E7%94%9F%E4%BA%A7%E8%84%9A%E6%9C%AC%E7%9A%84%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5">生产脚本的最佳实践&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E5%AE%9E%E6%88%98%E6%A1%88%E4%BE%8Bgeohash-%E6%A0%A1%E9%AA%8C%E8%84%9A%E6%9C%AC%E9%93%BE%E8%B7%AF">实战案例：geohash 校验脚本链路&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E5%AE%8C%E6%95%B4%E6%B5%81%E7%A8%8B%E4%B8%8E%E9%BB%84%E9%87%91%E6%A8%A1%E6%9D%BF">完整流程与黄金模板&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E5%85%B3%E9%94%AE%E9%99%B7%E9%98%B1%E4%B8%8E%E9%98%B2%E5%BE%A1%E6%80%A7%E7%BC%96%E7%A8%8B">关键陷阱与防御性编程&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#jq-%E5%B8%B8%E7%94%A8%E6%93%8D%E4%BD%9C">jq 常用操作&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#1-%E5%9F%BA%E7%A1%80%E7%94%A8%E6%B3%95">1. 基础用法&lt;/a>&lt;/li>
&lt;li>&lt;a href="#2-%E5%AD%97%E6%AE%B5%E6%8F%90%E5%8F%96%E4%B8%8E%E8%AE%BF%E9%97%AE">2. 字段提取与访问&lt;/a>&lt;/li>
&lt;li>&lt;a href="#3-%E6%95%B0%E7%BB%84%E6%93%8D%E4%BD%9C">3. 数组操作&lt;/a>&lt;/li>
&lt;li>&lt;a href="#4-%E8%BF%87%E6%BB%A4%E4%B8%8E%E8%BD%AC%E6%8D%A2-map--select">4. 过滤与转换 (Map &amp;amp; Select)&lt;/a>&lt;/li>
&lt;li>&lt;a href="#5-%E6%8E%92%E5%BA%8F%E4%B8%8E%E5%8E%BB%E9%87%8D">5. 排序与去重&lt;/a>&lt;/li>
&lt;li>&lt;a href="#6-%E6%9E%84%E9%80%A0%E4%B8%8E%E4%BF%AE%E6%94%B9-json">6. 构造与修改 JSON&lt;/a>&lt;/li>
&lt;li>&lt;a href="#7-%E9%AB%98%E7%BA%A7%E7%BB%9F%E8%AE%A1%E4%B8%8E%E8%AE%A1%E7%AE%97">7. 高级统计与计算&lt;/a>&lt;/li>
&lt;li>&lt;a href="#8-%E6%A0%BC%E5%BC%8F%E8%BD%AC%E6%8D%A2">8. 格式转换&lt;/a>&lt;/li>
&lt;li>&lt;a href="#9-%E5%A4%84%E7%90%86-json-%E8%A1%8C%E6%96%87%E4%BB%B6-ndjson">9. 处理 JSON 行文件 (NDJSON)&lt;/a>&lt;/li>
&lt;li>&lt;a href="#10-%E5%B8%B8%E7%94%A8%E5%AE%9E%E6%88%98%E5%9C%BA%E6%99%AF">10. 常用实战场景&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E7%BB%88%E7%AB%AF%E4%BB%A3%E7%90%86%E9%85%8D%E7%BD%AE">终端代理配置&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#windows-powershell%E4%BB%A3%E7%90%86">Windows PowerShell代理&lt;/a>&lt;/li>
&lt;li>&lt;a href="#windows-cmd%E4%BB%A3%E7%90%86">Windows CMD代理&lt;/a>&lt;/li>
&lt;li>&lt;a href="#git-bash%E4%BB%A3%E7%90%86">Git Bash代理&lt;/a>&lt;/li>
&lt;li>&lt;a href="#mac%E7%BB%88%E7%AB%AF%E4%BB%A3%E7%90%86">Mac终端代理&lt;/a>&lt;/li>
&lt;li>&lt;a href="#linux%E7%BB%88%E7%AB%AF%E4%BB%A3%E7%90%86">Linux终端代理&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E4%BB%A3%E7%90%86%E6%B5%8B%E8%AF%95%E4%B8%8E%E6%95%85%E9%9A%9C%E6%8E%92%E9%99%A4">代理测试与故障排除&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E4%BB%A3%E7%90%86%E7%AE%A1%E7%90%86%E8%84%9A%E6%9C%AC">代理管理脚本&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#windows-%E7%BD%91%E7%BB%9C%E8%AF%8A%E6%96%AD">Windows 网络诊断&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4%E8%A1%8C%E5%B7%A5%E5%85%B7">常用命令行工具&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E7%BD%91%E5%8D%A1%E4%BF%A1%E6%81%AF%E8%A7%A3%E8%AF%BB%E5%AE%9E%E6%88%98">网卡信息解读实战&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E5%A4%9A%E7%BD%91%E5%8D%A1%E8%B7%AF%E7%94%B1%E4%BC%98%E5%85%88%E7%BA%A7">多网卡路由优先级&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83">开发环境&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#nodejs-%E7%AE%A1%E7%90%86">Node.js 管理&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E7%B3%BB%E7%BB%9F%E7%9B%91%E6%8E%A7">系统监控&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E8%B5%84%E6%BA%90%E4%BD%BF%E7%94%A8%E7%9B%91%E6%8E%A7">资源使用监控&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E6%97%A5%E5%BF%97%E5%88%86%E6%9E%90">日志分析&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E6%80%A7%E8%83%BD%E5%88%86%E6%9E%90">性能分析&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E6%80%A7%E8%83%BD%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7">性能测试工具&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96%E6%8A%80%E5%B7%A7">性能优化技巧&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E5%AE%89%E5%85%A8%E6%93%8D%E4%BD%9C">安全操作&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E6%9D%83%E9%99%90%E7%AE%A1%E7%90%86">权限管理&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E5%8A%A0%E5%AF%86%E4%B8%8E%E8%A7%A3%E5%AF%86">加密与解密&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E6%95%B0%E6%8D%AE%E5%BA%93%E6%93%8D%E4%BD%9C">数据库操作&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#mysql%E6%93%8D%E4%BD%9C">MySQL操作&lt;/a>&lt;/li>
&lt;li>&lt;a href="#postgresql%E6%93%8D%E4%BD%9C">PostgreSQL操作&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E8%87%AA%E5%8A%A8%E5%8C%96%E8%84%9A%E6%9C%AC%E7%A4%BA%E4%BE%8B">自动化脚本示例&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E5%AE%9A%E6%97%B6%E5%A4%87%E4%BB%BD">定时备份&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E6%89%B9%E9%87%8F%E5%A4%84%E7%90%86">批量处理&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#windows-%E5%B8%B8%E7%94%A8%E6%93%8D%E4%BD%9C">Windows 常用操作&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#powershell-%E5%9F%BA%E7%A1%80">PowerShell 基础&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E6%96%87%E4%BB%B6%E4%B8%8E%E7%9B%AE%E5%BD%95%E6%93%8D%E4%BD%9C">文件与目录操作&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E7%BD%91%E7%BB%9C%E6%93%8D%E4%BD%9C">网络操作&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E8%BF%9B%E7%A8%8B%E4%B8%8E%E7%B3%BB%E7%BB%9F%E7%AE%A1%E7%90%86">进程与系统管理&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E5%B8%B8%E7%94%A8%E5%BF%AB%E6%8D%B7%E9%94%AE%E4%B8%8E%E6%8A%80%E5%B7%A7">常用快捷键与技巧&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E7%BB%88%E7%AB%AF%E5%A4%8D%E7%94%A8tmux">终端复用（tmux）&lt;/a>&lt;/li>
&lt;li>&lt;a href="#cloudflare-wrangler">Cloudflare Wrangler&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E5%AE%89%E8%A3%85%E4%B8%8E%E9%85%8D%E7%BD%AE">安装与配置&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86">项目管理&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E5%BC%80%E5%8F%91%E8%B0%83%E8%AF%95">开发调试&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E9%83%A8%E7%BD%B2%E5%8F%91%E5%B8%83">部署发布&lt;/a>&lt;/li>
&lt;li>&lt;a href="#pages%E9%9D%99%E6%80%81%E7%AB%99%E7%82%B9%E5%8D%9A%E5%AE%A2%E9%83%A8%E7%BD%B2">Pages（静态站点/博客部署）&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E5%B8%B8%E7%94%A8%E8%B5%84%E6%BA%90%E6%93%8D%E4%BD%9C">常用资源操作&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6-wranglertoml">配置文件 (wrangler.toml)&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#hugo">Hugo&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E5%AE%89%E8%A3%85%E4%B8%8E%E7%89%88%E6%9C%AC">安装与版本&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E6%9C%AC%E5%9C%B0%E5%BC%80%E5%8F%91">本地开发&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E5%86%85%E5%AE%B9%E7%BC%96%E5%86%99">内容编写&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E6%9E%84%E5%BB%BA%E5%8F%91%E5%B8%83">构建发布&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E9%85%8D%E5%90%88-cloudflare-pagesdirect-upload">配合 Cloudflare Pages（Direct Upload）&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E4%B8%BB%E9%A2%98%E4%B8%8E%E6%A8%A1%E5%9D%97%E5%B8%B8%E8%A7%81%E7%BB%B4%E6%8A%A4">主题与模块（常见维护）&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E4%B8%BB%E9%A2%98%E6%9C%AC%E5%9C%B0%E8%BF%9C%E7%A8%8B%E4%B8%8D%E4%B8%80%E8%87%B4%E6%8E%92%E6%9F%A5%E4%B8%8E%E4%BF%AE%E5%A4%8D">主题本地/远程不一致（排查与修复）&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#openskills">OpenSkills&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E5%AE%89%E8%A3%85%E4%B8%8E%E9%85%8D%E7%BD%AE-1">安装与配置&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E6%8A%80%E8%83%BD%E7%AE%A1%E7%90%86">技能管理&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E5%B8%B8%E7%94%A8%E5%AE%89%E8%A3%85%E6%BA%90">常用安装源&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/details>
&lt;h2 id="文件操作">文件操作&lt;/h2>
&lt;h3 id="文件查找与过滤">文件查找与过滤&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 查找目录下以8位数字结尾的文件（YYYYMMDD格式）&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>find /path/to/dir -type f -regextype posix-extended -regex &lt;span style="color:#e6db74">&amp;#39;.*[0-9]{8}$&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 检查文件是否存在&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">if&lt;/span> &lt;span style="color:#f92672">[&lt;/span> ! -f &lt;span style="color:#e6db74">&amp;#34;&lt;/span>$file&lt;span style="color:#e6db74">&amp;#34;&lt;/span> &lt;span style="color:#f92672">]&lt;/span>; &lt;span style="color:#66d9ef">then&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> echo &lt;span style="color:#e6db74">&amp;#34;File not found: &lt;/span>$file&lt;span style="color:#e6db74">&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> exit &lt;span style="color:#ae81ff">1&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">fi&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 查找最近7天修改过的文件&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>find /path/to/dir -type f -mtime -7
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 查找大于100MB的文件&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>find /path/to/dir -type f -size +100M
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 查找并删除空文件&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>find /path/to/dir -type f -empty -delete
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 查找特定权限的文件&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>find /path/to/dir -type f -perm &lt;span style="color:#ae81ff">644&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="文件处理">文件处理&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 分割大文件&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>split -b 10M large_file.txt output_
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 合并文件&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>cat output_* &amp;gt; combined_file.txt
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 按行分割文件&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>split -l &lt;span style="color:#ae81ff">1000&lt;/span> large_file.txt output_
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 批量重命名文件&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>rename &lt;span style="color:#e6db74">&amp;#39;s/\.txt$/.md/&amp;#39;&lt;/span> *.txt &lt;span style="color:#75715e"># 将所有.txt文件重命名为.md&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 查找重复文件&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>fdupes -r /path/to/directory
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 创建文件链接&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ln -s /path/to/original /path/to/link &lt;span style="color:#75715e"># 软链接&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ln /path/to/original /path/to/link &lt;span style="color:#75715e"># 硬链接&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 查看二进制文件&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>hexdump -C binary_file | head
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 查看文件类型&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>file filename
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 批量替换文件内容&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>find . -type f -name &lt;span style="color:#e6db74">&amp;#34;*.txt&amp;#34;&lt;/span> -exec sed -i &lt;span style="color:#e6db74">&amp;#39;s/old_text/new_text/g&amp;#39;&lt;/span> &lt;span style="color:#f92672">{}&lt;/span> &lt;span style="color:#ae81ff">\;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 递归创建目录&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>mkdir -p path/to/nested/directory
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="文件压缩">文件压缩&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 压缩文件&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>gzip a.txt &lt;span style="color:#75715e"># 压缩并删除原文件&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>gzip -c a.txt &lt;span style="color:#75715e"># 压缩并保留原文件&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 解压文件&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>gunzip your_file.txt.gz
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># tar压缩&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>tar -czvf archive.tar.gz directory/ &lt;span style="color:#75715e"># 创建gzip压缩的tar归档&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>tar -cjvf archive.tar.bz2 directory/ &lt;span style="color:#75715e"># 创建bzip2压缩的tar归档&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># tar解压&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>tar -xzvf archive.tar.gz &lt;span style="color:#75715e"># 解压gzip压缩的tar归档&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>tar -xjvf archive.tar.bz2 &lt;span style="color:#75715e"># 解压bzip2压缩的tar归档&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># zip压缩&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>zip -r archive.zip directory/
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># zip解压&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>unzip archive.zip
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="文件权限管理">文件权限管理&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 修改文件权限&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>chmod &lt;span style="color:#ae81ff">755&lt;/span> file.sh &lt;span style="color:#75715e"># 设置可执行权限&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>chmod -R &lt;span style="color:#ae81ff">644&lt;/span> dir/ &lt;span style="color:#75715e"># 递归修改目录下所有文件权限&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 修改文件所有者&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>chown user:group file.txt
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>chown -R user:group directory/ &lt;span style="color:#75715e"># 递归修改&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 设置SUID/SGID/Sticky位&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>chmod u+s file &lt;span style="color:#75715e"># 设置SUID&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>chmod g+s directory &lt;span style="color:#75715e"># 设置SGID&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>chmod +t directory &lt;span style="color:#75715e"># 设置Sticky位&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 复制权限&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>getfacl source_file | setfacl --set-file&lt;span style="color:#f92672">=&lt;/span>- target_file
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 添加ACL权限&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>setfacl -m u:user:rwx file.txt &lt;span style="color:#75715e"># 为特定用户添加权限&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>setfacl -m g:group:rx file.txt &lt;span style="color:#75715e"># 为特定组添加权限&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="hdfs操作">HDFS操作&lt;/h2>
&lt;h3 id="文件查看">文件查看&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 列出HDFS目录下以8位数字结尾的文件&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>hadoop fs -ls /path/to/dir | awk &lt;span style="color:#e6db74">&amp;#39;$NF ~ /[0-9]{8}$/ {print $NF}&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 使用grep过滤HDFS目录&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>hadoop fs -ls /data/dept/bi/dim/data | grep -E &lt;span style="color:#e6db74">&amp;#34;[0-9]{8}&lt;/span>$&lt;span style="color:#e6db74">&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="文件大小统计">文件大小统计&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 获取目录文件大小并选择最后一行&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>hadoop fs -du -h $line | tail -n &lt;span style="color:#ae81ff">1&lt;/span> &amp;gt;&amp;gt; file_size_result.txt
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="文件上传">文件上传&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e">### 多行文件上传&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>cat &lt;span style="color:#e6db74">&amp;lt;&amp;lt;EOF | hdfs dfs -put - /path/in/hdfs/multiline.txt
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">This is line 1
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">This is line 2
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">This is line 3
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#e6db74">EOF&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="文本处理">文本处理&lt;/h2>
&lt;h3 id="文件读取">文件读取&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 遍历文件每一行&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>file&lt;span style="color:#f92672">=&lt;/span>&lt;span style="color:#e6db74">&amp;#34;example.txt&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">while&lt;/span> IFS&lt;span style="color:#f92672">=&lt;/span> read -r line; &lt;span style="color:#66d9ef">do&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> echo &lt;span style="color:#e6db74">&amp;#34;&lt;/span>$line&lt;span style="color:#e6db74">&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">done&lt;/span> &amp;lt; &lt;span style="color:#e6db74">&amp;#34;&lt;/span>$file&lt;span style="color:#e6db74">&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 另一种读取方式&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>cat &lt;span style="color:#e6db74">&amp;#34;&lt;/span>$file&lt;span style="color:#e6db74">&amp;#34;&lt;/span> | &lt;span style="color:#66d9ef">while&lt;/span> read line; &lt;span style="color:#66d9ef">do&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> echo &lt;span style="color:#e6db74">&amp;#34;&lt;/span>$line&lt;span style="color:#e6db74">&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#66d9ef">done&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="文本过滤">文本过滤&lt;/h3>
&lt;div class="highlight">&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 查看grep过滤结果的前100个字符&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>grep &lt;span style="color:#e6db74">&amp;#34;关键词&amp;#34;&lt;/span> file.txt | cut -c 1-100
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#75715e"># 显示匹配行及其后5行&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>curl -s &lt;span style="color:#e6db74">&amp;#34;http://localhost:8080/hotsearch&amp;#34;&lt;/span> | grep -A &lt;span style="color:#ae81ff">5&lt;/span> &lt;span style="color:#e6db74">&amp;#34;wallpaper-menu&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="高级文本处理">高级文本处理&lt;/h3>
&lt;h4 id="sed-流编辑器">sed 流编辑器&lt;/h4>
&lt;p>&lt;strong>基本语法&lt;/strong>&lt;/p></description></item><item><title>66.服务器性能与容器服务部署优化指南</title><link>https://pothos.dpdns.org/posts/66.%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%80%A7%E8%83%BD%E4%B8%8E%E5%AE%B9%E5%99%A8%E6%9C%8D%E5%8A%A1%E9%83%A8%E7%BD%B2%E4%BC%98%E5%8C%96%E6%8C%87%E5%8D%97/</link><pubDate>Wed, 20 May 2026 00:00:00 +0000</pubDate><guid>https://pothos.dpdns.org/posts/66.%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%80%A7%E8%83%BD%E4%B8%8E%E5%AE%B9%E5%99%A8%E6%9C%8D%E5%8A%A1%E9%83%A8%E7%BD%B2%E4%BC%98%E5%8C%96%E6%8C%87%E5%8D%97/</guid><description>&lt;h1 id="66-服务器性能与容器服务部署优化指南">66. 服务器性能与容器服务部署优化指南&lt;/h1>
&lt;p>&lt;img alt="服务器性能封面图" loading="lazy" src="https://imgcdn.dpdns.org/llmhub/server-performance-cover.png">&lt;/p>
&lt;h2 id="目录">目录&lt;/h2>
&lt;details>
&lt;summary>点击展开目录&lt;/summary>
&lt;ul>
&lt;li>&lt;a href="#66-%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%80%A7%E8%83%BD%E4%B8%8E%E5%AE%B9%E5%99%A8%E6%9C%8D%E5%8A%A1%E9%83%A8%E7%BD%B2%E4%BC%98%E5%8C%96%E6%8C%87%E5%8D%97">66. 服务器性能与容器服务部署优化指南&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%E7%9B%AE%E5%BD%95">目录&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E4%B8%80%E4%B8%BA%E4%BB%80%E4%B9%88%E9%83%A8%E7%BD%B2%E4%BA%86%E6%9C%8D%E5%8A%A1%E5%8D%B4%E8%BF%98%E6%98%AF%E6%85%A2">一、为什么部署了服务却还是慢&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E4%BA%8C%E5%BD%B1%E5%93%8D%E6%9C%8D%E5%8A%A1%E6%80%A7%E8%83%BD%E7%9A%84%E6%95%B4%E4%BD%93%E9%93%BE%E8%B7%AF">二、影响服务性能的整体链路&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#21-%E8%AF%B7%E6%B1%82%E4%BB%8E%E5%93%AA%E9%87%8C%E5%BC%80%E5%A7%8B%E5%8F%98%E6%85%A2">2.1 请求从哪里开始变慢&lt;/a>&lt;/li>
&lt;li>&lt;a href="#22-%E5%AE%B9%E5%99%A8%E6%85%A2%E4%B8%8D%E7%AD%89%E4%BA%8E%E5%8F%AA%E6%9C%89-docker-%E6%85%A2">2.2 容器慢不等于只有 Docker 慢&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E4%B8%89cpu%E6%9C%80%E5%AE%B9%E6%98%93%E8%A2%AB%E5%BF%BD%E7%95%A5%E7%9A%84%E7%AC%AC%E4%B8%80%E8%B5%84%E6%BA%90">三、CPU：最容易被忽略的第一资源&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#31-cpu-%E4%B8%8D%E5%A4%9F%E6%97%B6%E4%BC%9A%E5%87%BA%E7%8E%B0%E4%BB%80%E4%B9%88%E7%8E%B0%E8%B1%A1">3.1 CPU 不够时会出现什么现象&lt;/a>&lt;/li>
&lt;li>&lt;a href="#32-%E5%AE%B9%E5%99%A8%E5%9C%BA%E6%99%AF%E4%B8%8B-cpu-%E7%9A%84%E5%B8%B8%E8%A7%81%E5%9D%91">3.2 容器场景下 CPU 的常见坑&lt;/a>&lt;/li>
&lt;li>&lt;a href="#33-cpu-%E6%8E%92%E6%9F%A5%E9%87%8D%E7%82%B9">3.3 CPU 排查重点&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E5%9B%9B%E5%86%85%E5%AD%98%E5%BE%88%E5%A4%9A%E6%9C%8D%E5%8A%A1%E4%B8%8D%E6%98%AF%E6%85%A2%E8%80%8C%E6%98%AF%E8%A2%AB%E6%8C%A4%E5%8E%8B">四、内存：很多服务不是慢，而是被挤压&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#41-%E5%86%85%E5%AD%98%E4%B8%8D%E8%B6%B3%E7%9A%84%E5%85%B8%E5%9E%8B%E8%A1%A8%E7%8E%B0">4.1 内存不足的典型表现&lt;/a>&lt;/li>
&lt;li>&lt;a href="#42-%E5%AE%B9%E5%99%A8%E5%86%85%E5%AD%98%E7%9B%B8%E5%85%B3%E9%97%AE%E9%A2%98">4.2 容器内存相关问题&lt;/a>&lt;/li>
&lt;li>&lt;a href="#43-%E5%86%85%E5%AD%98%E6%8E%92%E6%9F%A5%E9%87%8D%E7%82%B9">4.3 内存排查重点&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E4%BA%94%E7%A3%81%E7%9B%98%E4%B8%8E-io%E6%97%A5%E5%BF%97%E6%95%B0%E6%8D%AE%E5%BA%93%E9%95%9C%E5%83%8F%E5%B1%82%E9%83%BD%E4%BC%9A%E6%8B%96%E6%85%A2%E6%9C%8D%E5%8A%A1">五、磁盘与 I/O：日志、数据库、镜像层都会拖慢服务&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#51-%E7%A3%81%E7%9B%98%E6%85%A2%E4%BC%9A%E8%AE%A9%E5%93%AA%E4%BA%9B%E6%9C%8D%E5%8A%A1%E5%85%88%E5%87%BA%E9%97%AE%E9%A2%98">5.1 磁盘慢会让哪些服务先出问题&lt;/a>&lt;/li>
&lt;li>&lt;a href="#52-%E5%AE%B9%E5%99%A8%E5%9C%BA%E6%99%AF%E4%B8%8B-io-%E7%9A%84%E7%89%B9%E6%AE%8A%E9%97%AE%E9%A2%98">5.2 容器场景下 I/O 的特殊问题&lt;/a>&lt;/li>
&lt;li>&lt;a href="#53-%E7%A3%81%E7%9B%98%E6%8E%92%E6%9F%A5%E9%87%8D%E7%82%B9">5.3 磁盘排查重点&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E5%85%AD%E7%BD%91%E7%BB%9C%E4%B8%8E%E5%B8%A6%E5%AE%BD%E4%B8%8D%E5%8F%AA%E6%98%AF%E7%BD%91%E6%85%A2%E8%BF%99%E4%B9%88%E7%AE%80%E5%8D%95">六、网络与带宽：不只是“网慢”这么简单&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#61-%E7%BD%91%E7%BB%9C%E6%80%A7%E8%83%BD%E5%8C%85%E5%90%AB%E5%93%AA%E4%BA%9B%E7%BB%B4%E5%BA%A6">6.1 网络性能包含哪些维度&lt;/a>&lt;/li>
&lt;li>&lt;a href="#62-%E5%AE%B9%E5%99%A8%E7%BD%91%E7%BB%9C%E7%9A%84%E5%B8%B8%E8%A7%81%E5%BD%B1%E5%93%8D%E5%9B%A0%E7%B4%A0">6.2 容器网络的常见影响因素&lt;/a>&lt;/li>
&lt;li>&lt;a href="#63-%E7%BD%91%E7%BB%9C%E6%8E%92%E6%9F%A5%E9%87%8D%E7%82%B9">6.3 网络排查重点&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E4%B8%83%E8%BF%9E%E6%8E%A5%E6%95%B0%E6%96%87%E4%BB%B6%E6%8F%8F%E8%BF%B0%E7%AC%A6%E4%B8%8E%E7%AB%AF%E5%8F%A3%E8%B5%84%E6%BA%90">七、连接数、文件描述符与端口资源&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#71-%E4%B8%BA%E4%BB%80%E4%B9%88%E8%BF%9E%E6%8E%A5%E6%95%B0%E4%BC%9A%E6%88%90%E4%B8%BA%E7%93%B6%E9%A2%88">7.1 为什么连接数会成为瓶颈&lt;/a>&lt;/li>
&lt;li>&lt;a href="#72-%E5%AE%B9%E5%99%A8%E9%83%A8%E7%BD%B2%E6%97%B6%E5%B8%B8%E8%A7%81%E9%99%90%E5%88%B6%E9%A1%B9">7.2 容器部署时常见限制项&lt;/a>&lt;/li>
&lt;li>&lt;a href="#73-%E8%BF%9E%E6%8E%A5%E7%B1%BB%E9%97%AE%E9%A2%98%E6%8E%92%E6%9F%A5%E9%87%8D%E7%82%B9">7.3 连接类问题排查重点&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E5%85%ABdocker-%E9%83%A8%E7%BD%B2%E5%AF%B9%E6%80%A7%E8%83%BD%E7%9A%84%E5%AE%9E%E9%99%85%E5%BD%B1%E5%93%8D">八、Docker 部署对性能的实际影响&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#81-docker-%E4%B8%8D%E6%98%AF%E6%80%A7%E8%83%BD%E9%97%AE%E9%A2%98%E7%9A%84%E5%94%AF%E4%B8%80%E6%9D%A5%E6%BA%90">8.1 Docker 不是性能问题的唯一来源&lt;/a>&lt;/li>
&lt;li>&lt;a href="#82-docker-%E7%9C%9F%E6%AD%A3%E4%BC%9A%E5%BD%B1%E5%93%8D%E6%80%A7%E8%83%BD%E7%9A%84%E5%9C%B0%E6%96%B9">8.2 Docker 真正会影响性能的地方&lt;/a>&lt;/li>
&lt;li>&lt;a href="#83-%E5%AE%B9%E5%99%A8%E6%80%A7%E8%83%BD%E8%B0%83%E4%BC%98%E7%9A%84%E6%A0%B8%E5%BF%83%E6%80%9D%E8%B7%AF">8.3 容器性能调优的核心思路&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E4%B9%9D%E5%BA%94%E7%94%A8%E5%B1%82%E5%9B%A0%E7%B4%A0%E7%BA%BF%E7%A8%8B%E6%B1%A0%E8%BF%9E%E6%8E%A5%E6%B1%A0%E7%BC%93%E5%AD%98%E9%98%9F%E5%88%97%E9%95%BF%E5%BA%A6">九、应用层因素：线程池、连接池、缓存、队列长度&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#91-%E4%B8%BA%E4%BB%80%E4%B9%88%E8%B5%84%E6%BA%90%E5%A4%9F%E7%94%A8%E6%9C%8D%E5%8A%A1%E8%BF%98%E6%98%AF%E6%85%A2">9.1 为什么资源够用服务还是慢&lt;/a>&lt;/li>
&lt;li>&lt;a href="#92-%E5%BA%94%E7%94%A8%E5%B1%82%E5%B8%B8%E8%A7%81%E6%80%A7%E8%83%BD%E7%93%B6%E9%A2%88">9.2 应用层常见性能瓶颈&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E5%8D%81%E6%80%A7%E8%83%BD%E6%8E%92%E6%9F%A5%E7%9A%84%E6%8E%A8%E8%8D%90%E9%A1%BA%E5%BA%8F">十、性能排查的推荐顺序&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#101-%E5%85%88%E7%9C%8B%E7%8E%B0%E8%B1%A1%E5%86%8D%E5%AE%9A%E5%B1%82%E7%BA%A7">10.1 先看现象，再定层级&lt;/a>&lt;/li>
&lt;li>&lt;a href="#102-%E4%B8%80%E5%A5%97%E9%80%82%E5%90%88%E7%BA%BF%E4%B8%8A%E6%95%85%E9%9A%9C%E7%9A%84%E6%8E%92%E6%9F%A5%E6%B5%81%E7%A8%8B">10.2 一套适合线上故障的排查流程&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E5%8D%81%E4%B8%80%E5%B8%B8%E8%A7%81%E9%83%A8%E7%BD%B2%E5%9C%BA%E6%99%AF%E7%9A%84%E6%80%A7%E8%83%BD%E9%87%8D%E7%82%B9">十一、常见部署场景的性能重点&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#111-nginx--%E7%BD%91%E5%85%B3%E7%B1%BB%E6%9C%8D%E5%8A%A1">11.1 Nginx / 网关类服务&lt;/a>&lt;/li>
&lt;li>&lt;a href="#112-java--spring-boot-%E6%9C%8D%E5%8A%A1">11.2 Java / Spring Boot 服务&lt;/a>&lt;/li>
&lt;li>&lt;a href="#113-python--nodejs-web-%E6%9C%8D%E5%8A%A1">11.3 Python / Node.js Web 服务&lt;/a>&lt;/li>
&lt;li>&lt;a href="#114-mysql--postgresql--redis">11.4 MySQL / PostgreSQL / Redis&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E5%8D%81%E4%BA%8C%E7%9B%91%E6%8E%A7%E6%8C%87%E6%A0%87%E5%BA%94%E8%AF%A5%E6%80%8E%E4%B9%88%E5%BB%BA">十二、监控指标应该怎么建&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#121-%E4%B8%BB%E6%9C%BA%E5%B1%82%E6%8C%87%E6%A0%87">12.1 主机层指标&lt;/a>&lt;/li>
&lt;li>&lt;a href="#122-%E5%AE%B9%E5%99%A8%E5%B1%82%E6%8C%87%E6%A0%87">12.2 容器层指标&lt;/a>&lt;/li>
&lt;li>&lt;a href="#123-%E5%BA%94%E7%94%A8%E5%B1%82%E6%8C%87%E6%A0%87">12.3 应用层指标&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E5%8D%81%E4%B8%89%E4%B8%9A%E5%8A%A1%E4%B8%8E%E5%B7%A5%E4%BD%9C%E4%B8%AD%E7%9A%84%E7%BB%8F%E9%AA%8C%E6%80%BB%E7%BB%93">十三、业务与工作中的经验总结&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E5%8D%81%E5%9B%9B%E5%B8%B8%E8%A7%81%E8%AF%AF%E5%8C%BA">十四、常见误区&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%E5%8D%81%E4%BA%94%E9%9D%A2%E8%AF%95%E9%A2%98%E4%B8%8E%E6%A0%87%E5%87%86%E5%9B%9E%E7%AD%94">十五、面试题与标准回答&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#151-%E5%9F%BA%E7%A1%80%E7%90%86%E8%A7%A3%E7%B1%BB">15.1 基础理解类&lt;/a>&lt;/li>
&lt;li>&lt;a href="#152-%E6%8E%92%E6%9F%A5%E5%AE%9E%E6%88%98%E7%B1%BB">15.2 排查实战类&lt;/a>&lt;/li>
&lt;li>&lt;a href="#153-%E5%AE%B9%E5%99%A8%E9%83%A8%E7%BD%B2%E7%B1%BB">15.3 容器部署类&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%E5%8D%81%E5%85%AD%E6%80%BB%E7%BB%93">十六、总结&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/details>
&lt;h2 id="一为什么部署了服务却还是慢">一、为什么部署了服务却还是慢&lt;/h2>
&lt;p>很多人一看到服务性能差，第一反应就是：&lt;/p></description></item></channel></rss>