<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
    <channel>
        <title>moselikk</title>
        <link>https://www.moselikk.com</link>
        <description>Less is more.</description>
        <lastBuildDate>Sun, 13 Sep 2026 02:00:00 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>https://github.com/jpmonette/feed</generator>
        <language>zh-CN</language>
        <image>
            <title>moselikk</title>
            <url>https://www.moselikk.com/apple-touch-icon.png</url>
            <link>https://www.moselikk.com</link>
        </image>
        <copyright>All rights reserved 2026, Moselikk</copyright>
        <item>
            <title><![CDATA[PulseBar：轻量原生 macOS 状态栏监控工具]]></title>
            <link>https://www.moselikk.com/blog/pulsebar</link>
            <guid>https://www.moselikk.com/blog/pulsebar</guid>
            <pubDate>Sun, 13 Sep 2026 02:00:00 GMT</pubDate>
            <description><![CDATA[PulseBar：轻量原生 macOS 状态栏监控工具]]></description>
            <content:encoded><![CDATA[<p><a href="https://github.com/moselikk/pulsebar">PulseBar</a> 是一个专为 macOS 设计的轻量级状态栏硬件与系统监控小工具。使用 Rust 与 macOS 原生 AppKit 开发，不依赖 WebKit / Webview，注重低资源占用与系统原生质感。</p>
<hr>
<h2 id="为什么写这个工具">为什么写这个工具</h2>
<p>在日常使用 Mac 时，经常需要关注 CPU 负载、内存用量或网络实时速率。市面上的监控软件大多存在以下问题：</p>
<ul>
<li>基于 Electron 或 Webview 构建，常驻内存与电量开销偏大；</li>
<li>状态栏显示过宽，占用过多刘海屏两旁的宝贵空间；</li>
<li>功能繁重冗余，缺乏轻巧克制的交互体验。</li>
</ul>
<p>PulseBar 的目标是做一款极简、纯粹、低开销的菜单栏小工具，平时安静常驻，需要时一键查看关键硬件指标。</p>
<hr>
<h2 id="核心特性">核心特性</h2>
<ul>
<li><strong>原生与极低占用</strong>：基于 Rust 与 AppKit，无前端引擎开销，常驻内存仅数兆。</li>
<li><strong>按需智能采样</strong>：状态栏常驻仅通过 macOS Mach 内核低频采集必要数据；点击展开面板时才启动波形与细粒度采样，不额外消耗性能与电池。</li>
<li><strong>紧凑布局与原生质感</strong>：双行紧凑对齐，极小化占用状态栏宽度；原生毛玻璃背景，自适应 macOS 深浅色模式。</li>
<li><strong>全面的硬件指标</strong>：
<ul>
<li><strong>CPU</strong>：总利用率、历史波形图、多核核心分布与系统负载。</li>
<li><strong>内存</strong>：已用 / 总量，细分活跃、联动、压缩与可用内存。</li>
<li><strong>I/O 速率</strong>：实时网络上传 / 下载速率与磁盘读写速率。</li>
<li><strong>SMC 传感器</strong>：CPU 温度与风扇转速。</li>
<li><strong>Top 进程</strong>：动态追踪高资源占用的进程与 PID。</li>
</ul>
</li>
<li><strong>细节配置</strong>：支持开机自启、多种字体风格切换（medium / regular / semibold / mono 等）、多语言自适应（简中 / 繁中 / English）。</li>
</ul>
<hr>
<h2 id="下载与使用">下载与使用</h2>
<p>前往 GitHub Releases 页面下载安装包：</p>
<ul>
<li><a href="https://github.com/moselikk/pulsebar/releases">PulseBar Releases</a></li>
</ul>
<p>下载 <code>PulseBar.dmg</code> 后拖入 <code>Applications</code> 文件夹即可使用。也可以根据需要在 <code>~/.config/pulsebar/config.toml</code> 中进行个性化配置。</p>
<p>项目地址：<a href="https://github.com/moselikk/pulsebar">https://github.com/moselikk/pulsebar</a></p>]]></content:encoded>
            <author>moselikk@gmail.com (Moselikk)</author>
        </item>
        <item>
            <title><![CDATA[离线环境 npm 私服搭建]]></title>
            <link>https://www.moselikk.com/blog/verdaccio-offline</link>
            <guid>https://www.moselikk.com/blog/verdaccio-offline</guid>
            <pubDate>Mon, 28 Apr 2025 04:00:00 GMT</pubDate>
            <description><![CDATA[离线环境 npm 私服搭建]]></description>
            <content:encoded><![CDATA[<p><a href="https://github.com/moselikk/verdaccio-offline">https://github.com/moselikk/verdaccio-offline</a></p>
<h2 id="离线环境-npm-私服搭建">离线环境 npm 私服搭建</h2>
<p>创建 verdaccio 离线镜像：</p>
<blockquote>
<p>联网的 linux 环境，需要 docker</p>
</blockquote>
<ol>
<li>拉取镜像 <code>docker pull verdaccio/verdaccio</code></li>
<li>打包镜像 <code>docker save -o verdaccio.tar verdaccio/verdaccio:latest</code></li>
<li>生成的镜像文件为 <code>verdaccio.tar</code></li>
</ol>
<p>操作步骤：</p>
<ol>
<li>将项目所有文件及 verdaccio.tar 拷贝至离线机器下，本项目暂时只支持 linux 机器作为私服服务器，私服依赖 docker</li>
<li>在离线机器下运行 <code>docker load -i verdaccio.tar</code> 加载 verdaccio docker 镜像</li>
<li>将 <code>verdaccio-config.zip</code> 文件解压，假设解压后在目录 <code>/home/ming/verdaccio-config</code></li>
<li>配置文件在 <code>/home/ming/verdaccio-config/conf/config.yaml</code> 中，可根据需要更改配置</li>
<li>离线机器中运行：</li>
</ol>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">V_PATH</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">/home/ming/verdaccio-config</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">; </span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">docker</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> run</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -it</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --rm</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --name</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> verdaccio</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">   -p</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 4873:4873</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">   -v</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> $V_PATH</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">/conf:/verdaccio/conf</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">   -v</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> $V_PATH</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">/storage:/verdaccio/storage</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">   -v</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> $V_PATH</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">/plugins:/verdaccio/plugins</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">   verdaccio/verdaccio</span></span></code></pre></div>
<ol start="6">
<li>如需后台运行可加 <code>-d</code> 参数，<code>V_PATH=/home/ming/verdaccio-config</code> 根据第四步文件存放位置进行更改</li>
<li>访问 <code>http://your-offline-server-ip:4873/</code> 验证私服是否启动成功</li>
<li>在有网机器中新建一个文件夹，并将项目 <code>package.json</code> 文件复制至此文件夹，执行 <code>npm insatll</code> 安装所有依赖</li>
<li>将脚本文件 <code>generate-pkg-files.cjs</code> <code>publish.cjs</code> 拷贝至上一步建立的文件夹中</li>
<li>运行脚本 <code>node generate-pkg-files.cjs</code> 打包所有依赖，如有打包失败的，运行完后再次运行，直至所有依赖包都打包成功</li>
<li><code>npm config set registry http://your-offline-server-ip:4873/</code> 设置源为私服，<code>npm login</code> 登陆， 配置文件已有一个用户 admin/123456</li>
<li>运行脚本 <code>publish.cjs ./pkg</code> 可在脚本中指定私服地址，或者在命令中指定 <code>publish.cjs ./pkg http://your-offline-server-ip:4873/</code> 上传所有依赖包到私服，如有失败的，运行完后再次运行，直至所有依赖包都上传成功</li>
<li>在离线环境使用私服验证 <code>npm install --registry http://your-offline-server-ip:4873/</code> 安装项目依赖</li>
<li>如果不报错，且安装依赖后项目可以正常启动，恭喜你离线私服搭建成功！</li>
</ol>
<hr>
<blockquote>
<p>可使用 <code>npm install --verbose</code> 安装依赖以获取更多 log 信息</p>
</blockquote>
<blockquote>
<p>后续私服如需添加包在联网环境的机器中新建一个空 node 项目，安装所需包，然后执行以上 10-11 操作即可</p>
</blockquote>]]></content:encoded>
            <author>moselikk@gmail.com (Moselikk)</author>
        </item>
        <item>
            <title><![CDATA[Berkeley Commands]]></title>
            <link>https://www.moselikk.com/blog/berkeley</link>
            <guid>https://www.moselikk.com/blog/berkeley</guid>
            <pubDate>Wed, 25 Dec 2024 12:30:00 GMT</pubDate>
            <description><![CDATA[Berkeley Commands]]></description>
            <content:encoded><![CDATA[<p><strong>Berkeley Commands</strong> 是指由 <strong>Berkeley Software Distribution (BSD)</strong> 系统引入的一组命令，通常用于网络管理和调试。这些命令源于最早的 BSD 操作系统，该操作系统由加利福尼亚大学伯克利分校的计算机科学研究小组开发。它们现在仍然是许多类 Unix 操作系统（包括 Linux 和 macOS）的一部分，特别是在网络调试和管理方面。</p>
<p>最常见的 Berkeley 命令主要集中在以下几个领域：</p>
<h3 id="1-网络管理和调试工具">1. <strong>网络管理和调试工具</strong></h3>
<ul>
<li>
<p><strong><code>ifconfig</code></strong>（interface configuration）：用于配置网络接口（如以太网接口、无线接口等），查看接口的状态、IP 地址、MAC 地址等。</p>
</li>
<li>
<p><strong><code>netstat</code></strong>（network statistics）：显示网络连接、路由表、接口状态等信息。常用于调试和监视网络状况。</p>
</li>
<li>
<p><strong><code>ping</code></strong>：测试网络连接性，通过发送 ICMP 回显请求并等待响应来检查目标主机的可达性。</p>
</li>
<li>
<p><strong><code>traceroute</code></strong>（或 <code>tracert</code>）：追踪数据包从源到目标的路径，并显示中间经过的路由节点。它有助于诊断网络延迟和问题。</p>
</li>
<li>
<p><strong><code>route</code></strong>：显示和修改系统的路由表，控制数据包的流向。可以用来配置静态路由。</p>
</li>
<li>
<p><strong><code>arp</code></strong>（Address Resolution Protocol）：用于查看和修改系统的 ARP 表（将 IP 地址映射到 MAC 地址）。</p>
</li>
<li>
<p><strong><code>host</code></strong> 和 <strong><code>nslookup</code></strong>：查询域名服务器（DNS）记录，用于检查域名解析。</p>
</li>
<li>
<p><strong><code>tcpdump</code></strong>：一个强大的命令行网络抓包工具，用于捕获网络流量并分析数据包内容。</p>
</li>
<li>
<p><strong><code>nmap</code></strong>：一个开源的网络扫描和安全审计工具，可以用来发现网络上的主机和服务。</p>
</li>
</ul>
<h3 id="2-bsd-系统中的其他命令">2. <strong>BSD 系统中的其他命令</strong></h3>
<p>这些命令在现代 Unix 系统中广泛使用，尤其是在 BSD 系统和 Linux 中：</p>
<ul>
<li>
<p><strong><code>chmod</code></strong>（change mode）：更改文件或目录的权限。</p>
</li>
<li>
<p><strong><code>chown</code></strong>（change owner）：更改文件或目录的所有者。</p>
</li>
<li>
<p><strong><code>ps</code></strong>（process status）：列出当前运行的进程信息。</p>
</li>
<li>
<p><strong><code>kill</code></strong>：终止进程。</p>
</li>
</ul>
<h3 id="3-打印相关的命令">3. <strong>打印相关的命令</strong></h3>
<p>在早期的 BSD 系统中，打印命令也被作为一类 Berkeley 命令引入。它们主要用于管理打印任务、打印队列等。</p>
<ul>
<li>
<p><strong><code>lpc</code></strong>（Line Printer Control）：用于控制打印机队列，执行打印机的启动、停止、清空队列等操作。常见的子命令包括 <code>status</code>（查看打印机状态）、<code>restart</code>（重新启动打印服务）等。</p>
</li>
<li>
<p><strong><code>lpq</code></strong>（Line Printer Queue）：查看打印队列的状态，列出排队等待打印的任务及其状态。</p>
</li>
<li>
<p><strong><code>lpr</code></strong>（Line Printer Request）：将文件发送到打印队列以供打印。常用于发送文档到指定打印机。</p>
</li>
<li>
<p><strong><code>lprm</code></strong>（Line Printer Remove）：用于从打印队列中移除任务，可以取消尚未打印的文档。</p>
</li>
</ul>
<h3 id="4-背景">4. <strong>背景</strong></h3>
<ul>
<li>
<p><strong>BSD 操作系统</strong>：最初是 Unix 的一种变体，开发者在其中添加了许多新功能和工具，尤其是网络相关的工具，这些功能对后来的 Unix 系统产生了深远影响。</p>
</li>
<li>
<p><strong>Berkeley 网络命令的影响</strong>：这些工具在网络管理和诊断中非常重要。BSD 系统最初将它们作为标准网络工具引入，它们成为了许多现代 Unix 系统的标准部分（如 Linux 和 macOS），并且在大多数操作系统中都可以找到。</p>
</li>
</ul>
<h3 id="5-总结">5. <strong>总结</strong></h3>
<p><strong>Berkeley Commands</strong> 是一组网络管理和调试工具，起源于 Berkeley Software Distribution 操作系统。它们提供了大量功能，帮助用户管理和诊断网络，包括命令如 <code>ping</code>、<code>netstat</code>、<code>ifconfig</code>、<code>route</code> 等。随着 Unix 系统的演进，这些命令仍然是网络和系统管理中的核心工具。同时，早期的打印管理命令，如 <code>lpc</code>、<code>lpq</code>、<code>lpr</code>、<code>lprm</code>，也在 BSD 系统中扮演了重要角色，并对现代 Unix 系统的打印管理工具产生了影响。</p>]]></content:encoded>
            <author>moselikk@gmail.com (Moselikk)</author>
        </item>
        <item>
            <title><![CDATA[使用 IPV6 访问设备]]></title>
            <link>https://www.moselikk.com/blog/ipv6</link>
            <guid>https://www.moselikk.com/blog/ipv6</guid>
            <pubDate>Fri, 22 Mar 2024 13:00:00 GMT</pubDate>
            <description><![CDATA[使用 IPV6 访问设备]]></description>
            <content:encoded><![CDATA[<p>使用 IPV6 访问家庭设备</p>
<blockquote>
<p>访问 <a href="https://test-ipv6.com/">https://test-ipv6.com/</a> 测试自己网络 IPV6 连通性</p>
</blockquote>
<ul>
<li>
<p>光猫配置（移动）(如下图将 Ipv6Spi 选项置为关闭)
<img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/posts/2024-03-22%2021.00.01.png" alt="miao" loading="lazy" decoding="async"></p>
</li>
<li>
<p>找到设备被分配的 IPV6 地址
<img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/posts/2024-03-22%2021.00.02.png" alt="ipv6-address" loading="lazy" decoding="async"></p>
</li>
<li>
<p>启动一个项目测试连通性
<img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/posts/2024-03-22%2021.00.03.png" alt="server" loading="lazy" decoding="async"></p>
</li>
<li>
<p>使用手机移动网络访问（目前移动网络都支持 IPV6）（访问 IPV6 地址需要使用 <code>[]</code> 包住）
<img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/posts/2024-03-22%2021.00.04.jpg" alt="test" loading="lazy" decoding="async"></p>
</li>
</ul>]]></content:encoded>
            <author>moselikk@gmail.com (Moselikk)</author>
        </item>
        <item>
            <title><![CDATA[Nginx Conf]]></title>
            <link>https://www.moselikk.com/blog/nginx-conf</link>
            <guid>https://www.moselikk.com/blog/nginx-conf</guid>
            <pubDate>Sun, 25 Jun 2023 14:00:00 GMT</pubDate>
            <description><![CDATA[Nginx Conf]]></description>
            <content:encoded><![CDATA[<p>Nginx 是一种高性能的 Web 服务器软件，也可以充当反向代理服务器、负载均衡器等。在使用 Nginx 时，经常会遇到需要根据请求的路径进行转发或者重定向的情况，本文将详细讲解如何配置 Nginx 根据路径转发的步骤。</p>
<h3 id="1-配置-location-指令">1. 配置 location 指令</h3>
<p>在 Nginx 中，可以使用 location 指令来匹配请求的 URL，然后进行转发或重定向。下面是 location 指令的语法格式：</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">location [ = | ~ | ~* | ^~ ] URL {</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">    . . .</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre></div>
<p>其中：</p>
<ul>
<li>= 表示精确匹配 URL；</li>
<li>~ 表示区分大小写的正则表达式匹配 URL；</li>
<li>~* 表示不区分大小写的正则表达式匹配 URL；</li>
<li>^~ 表示普通字符匹配URL。
对于大部分情况，我们使用最简单的普通字符匹配即可。比如下面的配置：</li>
</ul>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">location /api {</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">    proxy_pass http://127.0.0.1:8000;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre></div>
<p>这个配置表示，如果请求的 URL 以 /api 开头，Nginx 就会将请求转发到 <a href="http://127.0.0.1:8000">http://127.0.0.1:8000</a> 这个地址。注意，这里的 /api 应该是相对于 Nginx 根路径的相对路径，并不是绝对路径。</p>
<h3 id="2-配置rewrite指令">2. 配置rewrite指令</h3>
<p>如果我们想要对请求的 URL 进行重定向，可以使用 rewrite 指令。比如下面的配置：</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">location /old {</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">    rewrite ^/old(.*)$ /new$1 permanent;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre></div>
<p>这个配置表示，如果请求的 URL 以 /old 开头，Nginx 就会将URL中的 /old 替换成 /new 并进行重定向。注意，这里的重定向是永久重定向（301），如果需要临时重定向（302），可以将 permanent 改为 redirect。</p>
<p>示例一：转发 API 请求
假设我们有一个 Web 应用，需要将所有 API 请求转发到后台的 API 服务器，API 服务器的地址是 <a href="http://api.example.com%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E5%9C%A8">http://api.example.com，我们可以在</a> Nginx 中加入下面的配置：</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">location /api {</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">    proxy_pass http://api.example.com;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre></div>
<p>这个配置表示，如果请求的 URL 以 /api 开头，Nginx 就会将请求转发到 <a href="http://api.example.com">http://api.example.com</a> 这个地址。比如说，如果有一个请求 /api/users/1，Nginx 就会将请求转发到 <a href="http://api.example.com/api/users/1">http://api.example.com/api/users/1</a> 这个地址，然后将 API 服务器返回的响应返回给客户端。</p>
<p>示例二：多站点部署
假设我们有两个 Web 应用，分别是前端应用和后台管理应用，前端应用的地址是 <a href="http://example.com%EF%BC%8C%E5%90%8E%E5%8F%B0%E7%AE%A1%E7%90%86%E5%BA%94%E7%94%A8%E7%9A%84%E5%9C%B0%E5%9D%80%E6%98%AF">http://example.com，后台管理应用的地址是</a> <a href="http://admin.example.com%EF%BC%8C%E6%88%91%E4%BB%AC%E5%8F%AF%E4%BB%A5%E5%9C%A8">http://admin.example.com，我们可以在</a> Nginx 中加入下面的配置：</p>
<h3 id="前端应用配置">前端应用配置</h3>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">server {</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">    server_name example.com;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">    location / {</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">        root /var/www/example.com;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">        index index.html;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre></div>
<h3 id="后台管理应用配置">后台管理应用配置</h3>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">server {</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">    server_name admin.example.com;</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">    location / {</span></span>
<span class="line"><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">        proxy_pass http://127.0.0.1:8000;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre></div>
<p>这个配置表示，如果请求的域名是 example.com，并且请求的 URL 不以 /api 开头，Nginx 就会将请求映射到 /var/www/example.com 目录下的静态文件，例如 /index.html；如果请求的域名是 admin.example.com，或者请求的 URL 以 /api 开头，Nginx 就会将请求转发到 <a href="http://127.0.0.1:8000">http://127.0.0.1:8000</a> 这个应用服务器，这个服务器可以是一个 Django 应用、Flask 应用、Node.js 应用等。</p>
<p>注意，这个配置中我们使用了不同的虚拟主机（server）来处理不同的域名，这样可以让不同的应用使用不同的配置。并且，我们在后台管理应用的 location 中加入了 /api 前缀的匹配，这是为了将 API 请求转发到后台的 API 服务器，和前端应用的静态文件请求区分开来。</p>]]></content:encoded>
            <author>moselikk@gmail.com (Moselikk)</author>
        </item>
        <item>
            <title><![CDATA[Fab 相关]]></title>
            <link>https://www.moselikk.com/blog/fab-word-list</link>
            <guid>https://www.moselikk.com/blog/fab-word-list</guid>
            <pubDate>Sun, 16 Apr 2023 11:00:00 GMT</pubDate>
            <description><![CDATA[Fab 相关]]></description>
            <content:encoded><![CDATA[<h3 id="半导体设备由-8-类核心子系统构成">半导体设备由 8 类核心子系统构成</h3>
<p>据半导体产业调查公司 VLSI 统计，半导体设备的关键子系统主要分为 8 大类。<br>
包含：气液流量控制系统、真空系统、制程诊断系统、光学系统、电源及气体反应系统、热管理系统、晶圆传送系统、其他集成系统及关键组件，每个子系统亦由数量庞大的零部件组合而成。</p>























































<table><thead><tr><th>核心子系统</th><th align="center">核心子系统(英文</th><th align="center">具体部件</th></tr></thead><tbody><tr><td>气液流量控制系统</td><td align="center">Fluid Management Subsystems</td><td align="center">气体流量控制器、液体流量控制器、排液泵等</td></tr><tr><td>真空系统</td><td align="center">Vacuum Subsystems</td><td align="center">控制阀、隔离阀、传输阀、低温泵、干式泵、分子泵等</td></tr><tr><td>制程诊断系统</td><td align="center">Integrated Process Diagnostics Subsystems</td><td align="center">气体分析仪、液体分析仪、粒子计数器、其他计量等</td></tr><tr><td>光学系统</td><td align="center">Optical Subsystems</td><td align="center">光刻光学系统</td></tr><tr><td>电源及气体反应</td><td align="center">Power and Reactive Gas Subsystems</td><td align="center">RF 射频电源，RF 射频电源匹配网络、DC 制程电源、等离子体源等</td></tr><tr><td>热管理系统</td><td align="center">Thermal Management Subsystems</td><td align="center">温控装臵、换热系统、测温系统等</td></tr><tr><td>晶圆传送系统</td><td align="center">Wafer Handling Subsystems</td><td align="center">真空机械手臂、常压机械手臂、</td></tr><tr><td>集成系统</td><td align="center">Integrated Subsystems</td><td align="center"></td></tr><tr><td>晶圆传关键组件送系统</td><td align="center">Critical Components</td><td align="center">静电卡盘装臵、陶瓷组件、橡胶组件</td></tr></tbody></table>
<p><strong>不同半导体设备的核心零部件有所不同。</strong> <br>
例如：光刻机的核心零部件包括工作台、投影物镜、光源
等，而等离子体真空设备（PVD、CVD、刻蚀）的核心零部件包括 MFC、射频电源、真空泵、ESC 等。</p>
<p><strong>图表 2. 各类半导体设备所需核心零部件比较</strong></p>









































<table><thead><tr><th>设备</th><th>半导体设备核心零部件</th></tr></thead><tbody><tr><td>光刻机</td><td>工件台、投影物镜、光源、光束矫正器、能量控制器、光束形状设臵、掩膜台、内部封闭框架、减振器等</td></tr><tr><td>涂胶显影机</td><td>机械传动、陶瓷热盘、中空轴电机、光刻胶泵、高精度温湿度控制器</td></tr><tr><td>清洗设备</td><td>气路系统、物料传送系统、反应腔、电气类、加热器、功能水、臭氧发生器、 CO2 混合发生器、冷却器、氢气发生器、兆声波发生器等</td></tr><tr><td>PVD</td><td>真空及排气系统、MFC、冷却水供给系统、加热电源、阴极电源、检测/监控系统</td></tr><tr><td>PECVD</td><td>RF 射频电源、MFC、反应室系统、尾气处理系统、真空系统</td></tr><tr><td>刻蚀机</td><td>晶圆盒、ESC、射频发生器、反应控制器、分子泵、等离子体反应器等</td></tr><tr><td>离子注入机</td><td>离子源、引出电极、离子分析器、加速管、扫描系统、工艺室</td></tr><tr><td>CMP</td><td>设备 研磨衬垫、自旋晶圆载具、研磨浆输配器装臵等</td></tr></tbody></table>
<p>半导体设备企业采购的零部件通常包括机械类、机电一体类、电气类、气体输送系统类、真空系统
类、附属设备等。</p>
<ul>
<li>
<p>SSI <code>Small Scale Integration</code> 小型集成电路</p>
</li>
<li>
<p>MSI <code>Medium Scale Integration</code> 中型集成电路</p>
</li>
<li>
<p>LSI <code>Large Scale Integration</code> 大规模集成电路</p>
</li>
<li>
<p>VLSI <code>Very Large Scale Integration Circuit</code> 超大规模集成电路</p>
</li>
<li>
<p>ULSI <code>Ultra Large Scale Integration</code> 极大规模集成电路</p>
</li>
<li>
<p>IC <code>Integrated Circuit Chip</code> 集成电路</p>
</li>
<li>
<p>CMOS <code>Complementary Metal Oxide Semiconductor</code> 互补式金属氧化物半导体</p>
</li>
<li>
<p>按导电类型不同分类：</p>
</li>
<li>
<p>集成电路按导电类型可分为双极型集成电路和单极型集成电路。双极型集成电路的制作工艺复杂，功耗较大，代表集成电路有TTL、ECL、HTL、LST-TL、STTL等类型</p>
</li>
<li>
<p>单极型集成电路的制作工艺简单，功耗也较低，易于制成大规模集成电路，代表集成电路有CMOS、NMOS、PMOS等类型</p>
</li>
<li>
<p>MES <code>Manufacturing Execution System</code> 制造执行系统</p>
</li>
<li>
<p>SPC <code>Statistic Process Control</code> 统计制程管制</p>
</li>
<li>
<p>SVID <code>Status Variable ID</code> 设备状态变量</p>
</li>
<li>
<p>PVD <code>Physical Vapor Deposition</code> 物理气相沉积</p>
</li>
<li>
<p>CVD <code>Chemical Vapor Deposition</code> 化学气相沉积</p>
</li>
<li>
<p>CMP 化学机械研磨</p>
</li>
<li>
<p>PR 光阻</p>
</li>
<li>
<p>Quartz 石英</p>
</li>
<li>
<p>RF Generator 射频发生器</p>
</li>
<li>
<p>Pump 泵</p>
</li>
<li>
<p>Valve 阀门</p>
</li>
<li>
<p>e-Chuck 静电吸盘</p>
</li>
<li>
<p>Shower Head 反应腔喷淋头</p>
</li>
<li>
<p>Edge Ring 边缘环</p>
</li>
<li>
<p>真空规/真空计</p>
</li>
</ul>
<blockquote>
<p>主要是用来测量某一个腔室或者管道中的压强</p>
</blockquote>
<ul>
<li>MFC <code>Mass Flow Meter</code> 质量流量计</li>
</ul>
<blockquote>
<p>是一种精确测量气体流量的仪表，其测量值不因温度或压力的波动而失准，不需要温度压力补偿。质量流量控制器, 即Mass Flow Controller（缩写为MFC）, 不但具有
质量流量计的功能，更重要的是，它能自动控制气体流量，即用户可根据需要进行流量设定，MFC自动地将流量恒定在设定值上，即使系统压力有波动或环境温度有变化，也
会使其偏离设定值。简单地说,质量流量控制器就是一个稳流装置, 是一个可以手动设定或与计算机联接自动控制的气体稳流装置。</p>
</blockquote>
<ul>
<li>
<p>Chiller 半导体温控装臵系列</p>
</li>
<li>
<p>Wafer Sorter/AMR 机器人系列</p>
</li>
<li>
<p>Local Scrubber 废气处理装臵系列</p>
</li>
<li>
<p>Ceramic 陶瓷部件</p>
</li>
<li>
<p>O-Ring O型密封圈</p>
</li>
<li>
<p>Gauge 测量</p>
</li>
<li>
<p>Valve 阀门</p>
</li>
<li>
<p>Shower head 反应腔 喷淋头</p>
</li>
<li>
<p>block plate 气体缓冲盘</p>
</li>
<li>
<p>Chuck 吸盘</p>
</li>
<li>
<p>Edge Ring 边缘环</p>
</li>
<li>
<p>PDCA 循环 <code>Plan（计划）、Do（执行）、Check（检查）和Act（处理）</code></p>
</li>
</ul>
<hr>
<blockquote>
<p>前段制程（扩散制程）：<br>
FEOL：在硅片上做出电阻、电容、二极管等元件<br>
BEOL：在各种原件间做出各种连接线路<br>
》〉成膜，曝光，蚀刻，掺杂，CMP，清洗/干燥，针测〈《</p>
</blockquote>
<blockquote>
<p>后段制程：<br>
封装：<br>
测试：<br>
》〉背面研磨，切割〈《</p>
</blockquote>



































<table><thead><tr><th align="center">英文</th><th align="center">中文</th><th align="center">英文</th><th align="center">中文  ｜</th></tr></thead><tbody><tr><td align="center">Si</td><td align="center">硅</td><td align="center">SiO<sub>2</sub></td><td align="center">二氧化硅</td></tr><tr><td align="center">O<sub>2</sub></td><td align="center">氧气</td><td align="center">SiH<sub>4</sub></td><td align="center">硅烷</td></tr><tr><td align="center">N<sub>2</sub></td><td align="center">氮气</td><td align="center">Poly-Si</td><td align="center">多晶硅</td></tr><tr><td align="center">B</td><td align="center">硼</td><td align="center">NiO<sub>2</sub></td><td align="center">二氧化镍</td></tr></tbody></table>]]></content:encoded>
            <author>moselikk@gmail.com (Moselikk)</author>
        </item>
        <item>
            <title><![CDATA[游民三部曲]]></title>
            <link>https://www.moselikk.com/blog/xu-tong</link>
            <guid>https://www.moselikk.com/blog/xu-tong</guid>
            <pubDate>Sun, 19 Mar 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[游民三部曲]]></description>
            <content:encoded><![CDATA[<h2 id="老唐头">《老唐头》</h2>
<h2 id="算命">《算命》</h2>
<h2 id="麦收">《麦收》</h2>]]></content:encoded>
            <author>moselikk@gmail.com (Moselikk)</author>
        </item>
        <item>
            <title><![CDATA[中文技术文档的写作规范]]></title>
            <link>https://www.moselikk.com/blog/document-style-guide-copy</link>
            <guid>https://www.moselikk.com/blog/document-style-guide-copy</guid>
            <pubDate>Tue, 07 Mar 2023 11:00:00 GMT</pubDate>
            <description><![CDATA[中文技术文档的写作规范]]></description>
            <content:encoded><![CDATA[<blockquote>
<p>原文：<a href="https://github.com/ruanyf/document-style-guide">https://github.com/ruanyf/document-style-guide</a><br>
作者：<a href="https://github.com/ruanyf">ruanyf</a></p>
</blockquote>
<hr>
<h1 id="标题">标题</h1>
<h2 id="层级">层级</h2>
<p>标题分为四级。</p>
<ul>
<li>一级标题：文章的标题</li>
<li>二级标题：文章主要部分的大标题</li>
<li>三级标题：二级标题下面一级的小标题</li>
<li>四级标题：三级标题下面某一方面的小标题</li>
</ul>
<p>下面是示例。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold"># 一级标题</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold">## 二级标题</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold">### 三级标题</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold">#### 四级标题</span></span></code></pre></div>
<h2 id="原则">原则</h2>
<p>（1）一级标题下，不能直接出现三级标题。</p>
<p>示例：下面的文章结构，缺少二级标题。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold"># 一级标题</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold">### 三级标题</span></span></code></pre></div>
<p>（2）标题要避免孤立编号（即同级标题只有一个）。</p>
<p>示例：下面的文章结构，<code>二级标题 A</code>只包含一个三级标题，完全可以省略<code>三级标题 A</code>。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold">## 二级标题 A</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold">### 三级标题 A</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold">## 二级标题 B</span></span></code></pre></div>
<p>（3）下级标题不重复上一级标题的名字。</p>
<p>示例：下面的文章结构，二级标题与下属的三级标题同名，建议避免。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold">## 概述</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold">### 概述</span></span></code></pre></div>
<p>（4）谨慎使用四级标题，尽量避免出现，保持层级的简单，防止出现过于复杂的章节。</p>
<p>如果三级标题下有并列性的内容，建议只使用项目列表（Item list）。</p>
<p>示例：下面的结构二要好于结构一。结构一适用的场景，主要是较长篇幅的内容。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">结构一</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold">### 三级标题</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold">#### 四级标题 A</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold">#### 四级标题 B</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold">#### 四级标题 C</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">结构二</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-light-font-weight:bold;--shiki-dark:#79B8FF;--shiki-dark-font-weight:bold">### 三级标题</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-light-font-weight:bold;--shiki-dark:#E1E4E8;--shiki-dark-font-weight:bold">**（1）A**</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-light-font-weight:bold;--shiki-dark:#E1E4E8;--shiki-dark-font-weight:bold">**（2）B**</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-light-font-weight:bold;--shiki-dark:#E1E4E8;--shiki-dark-font-weight:bold">**（3）C**</span></span></code></pre></div>
<hr>
<h1 id="文本">文本</h1>
<h2 id="字间距">字间距</h2>
<p>（1）全角中文字符与半角英文字符之间，应有一个半角空格。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>错误：本文介绍如何快速启动Windows系统。</span></span>
<span class="line"><span></span></span>
<span class="line"><span>正确：本文介绍如何快速启动 Windows 系统。</span></span></code></pre></div>
<p>（2）全角中文字符与半角阿拉伯数字之间，有没有半角空格都可，但必须保证风格统一，不能两种风格混杂。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>正确：2011年5月15日，我订购了5台笔记本电脑与10台平板电脑。</span></span>
<span class="line"><span></span></span>
<span class="line"><span>正确：2011 年 5 月 15 日，我订购了 5 台笔记本电脑与 10 台平板电脑。</span></span></code></pre></div>
<p>半角的百分号，视同阿拉伯数字。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>正确：今年我国经济增长率是6.5%。</span></span>
<span class="line"><span></span></span>
<span class="line"><span>正确：今年我国经济增长率是 6.5%。</span></span></code></pre></div>
<p>（3）英文单位若不翻译，单位前的阿拉伯数字与单位符号之间，应留出适当的空隙。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>例1：一部容量为 16 GB 的智能手机</span></span>
<span class="line"><span></span></span>
<span class="line"><span>例2：1 h = 60 min = 3,600 s</span></span></code></pre></div>
<p>（4）半角英文字符和半角阿拉伯数字，与全角标点符号之间不留空格。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>错误：他的电脑是 MacBook Air 。</span></span>
<span class="line"><span></span></span>
<span class="line"><span>正确：他的电脑是 MacBook Air。</span></span></code></pre></div>
<h2 id="句子">句子</h2>
<p>（1）避免使用长句。</p>
<p>不包含任何标点符号的单个句子，或者以逗号分隔的句子构件，长度尽量保持在 20 个字以内；20～29 个字的句子，可以接受；30～39 个字的句子，语义必须明确，才能接受；多于 40 个字的句子，任何情况下都不能接受。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>错误：本产品适用于从由一台服务器进行动作控制的单一节点结构到由多台服务器进行动作控制的并行处理程序结构等多种体系结构。</span></span>
<span class="line"><span></span></span>
<span class="line"><span>正确：本产品适用于多种体系结构。无论是由一台服务器（单一节点结构），还是由多台服务器（并行处理结构）进行动作控制，均可以使用本产品。</span></span></code></pre></div>
<p>逗号分割的长句，总长度不应该超过 100 字或者正文的 3 行。</p>
<p>（2）尽量使用简单句和并列句，避免使用复合句。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>并列句：他昨天生病了，没有参加会议。</span></span>
<span class="line"><span></span></span>
<span class="line"><span>复合句：那个昨天生病的人没有参加会议。</span></span></code></pre></div>
<p>（3）同样一个意思，尽量使用肯定句表达，不使用否定句表达。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>错误：请确认没有接通装置的电源。</span></span>
<span class="line"><span></span></span>
<span class="line"><span>正确：请确认装置的电源已关闭。</span></span></code></pre></div>
<p>（4）避免使用双重否定句。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>错误：没有删除权限的用户，不能删除此文件。</span></span>
<span class="line"><span></span></span>
<span class="line"><span>正确：用户必须拥有删除权限，才能删除此文件。</span></span></code></pre></div>
<h2 id="写作风格">写作风格</h2>
<p>（1）尽量不使用被动语态，改为使用主动语态。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>错误：假如此软件尚未被安装，</span></span>
<span class="line"><span></span></span>
<span class="line"><span>正确：假如尚未安装这个软件，</span></span></code></pre></div>
<p>（2）不使用非正式的语言风格。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>错误：Lady Gaga 的演唱会真是酷毙了，从没看过这么给力的表演！！！</span></span>
<span class="line"><span></span></span>
<span class="line"><span>正确：无法参加本次活动，我深感遗憾。</span></span></code></pre></div>
<p>（3）不使用冷僻、生造或者文言文的词语，而要使用现代汉语的常用表达方式。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>错误：这是唯二的快速启动的方法。</span></span>
<span class="line"><span></span></span>
<span class="line"><span>正确：这是仅有的两种快速启动的方法。</span></span></code></pre></div>
<p>（4）用对“的”、“地”、“得”。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>她露出了开心的笑容。</span></span>
<span class="line"><span>（形容词＋的＋名词）</span></span>
<span class="line"><span></span></span>
<span class="line"><span>她开心地笑了。</span></span>
<span class="line"><span>（副词＋地＋动词）</span></span>
<span class="line"><span></span></span>
<span class="line"><span>她笑得很开心。</span></span>
<span class="line"><span>（动词＋得＋副词）</span></span></code></pre></div>
<p>（5）使用代词时（比如“其”、“该”、“此”、“这”等词），必须明确指代的内容，保证只有一个含义。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>错误：从管理系统可以监视中继系统和受其直接控制的分配系统。</span></span>
<span class="line"><span></span></span>
<span class="line"><span>正确：从管理系统可以监视两个系统：中继系统和受中继系统直接控制的分配系统。</span></span></code></pre></div>
<p>（6）名词前不要使用过多的形容词。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>错误：此设备的使用必须在接受过本公司举办的正式的设备培训的技师的指导下进行。</span></span>
<span class="line"><span></span></span>
<span class="line"><span>正确：此设备必须在技师的指导下使用，且指导技师必须接受过由本公司举办的正式设备培训。</span></span></code></pre></div>
<h2 id="英文处理">英文处理</h2>
<p>（1）英文原文如果使用了复数形式，翻译成中文时，应该将其还原为单数形式。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>英文：...information stored in random access memory (RAMs)...</span></span>
<span class="line"><span></span></span>
<span class="line"><span>中文：⋯⋯存储在随机存取存储器（RAM）里的信息⋯⋯</span></span></code></pre></div>
<p>（2）外文缩写可以使用半角圆点(<code>.</code>)表示缩写。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>U.S.A.</span></span>
<span class="line"><span>Apple, Inc.</span></span></code></pre></div>
<p>（3）表示中文时，英文省略号（<code>...</code>）应改为中文省略号（<code>⋯⋯</code>）。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>英文：5 minutes later...</span></span>
<span class="line"><span></span></span>
<span class="line"><span>中文：5 分钟过去了⋯⋯</span></span></code></pre></div>
<p>（4）英文书名或电影名改用中文表达时，双引号应改为书名号。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>英文：He published an article entitled "The Future of the Aviation".</span></span>
<span class="line"><span></span></span>
<span class="line"><span>中文：他发表了一篇名为《航空业的未来》的文章。</span></span></code></pre></div>
<p>（5）第一次出现英文词汇时，在括号中给出中文标注。此后再次出现时，直接使用英文缩写即可。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>IOC（International Olympic Committee，国际奥林匹克委员会）。这样定义后，便可以直接使用“IOC”了。</span></span></code></pre></div>
<p>（6）专有名词中每个词第一个字母均应大写，非专有名词则不需要大写。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>“American Association of Physicists in Medicine”（美国医学物理学家协会）是专有名词，需要大写。</span></span>
<span class="line"><span></span></span>
<span class="line"><span>“online transaction processing”（在线事务处理）不是专有名词，不应大写。</span></span></code></pre></div>
<hr>
<h1 id="段落">段落</h1>
<h2 id="原则-1">原则</h2>
<ul>
<li>一个段落只能有一个主题，或一个中心句子。</li>
<li>段落的中心句子放在段首，对全段内容进行概述。后面陈述的句子为中心句子服务。</li>
<li>一个段落的长度不能超过七行，最佳段落长度小于等于四行。</li>
<li>段落的句子语气要使用陈述和肯定语气，避免使用感叹语气。</li>
<li>段落之间使用一个空行隔开。</li>
<li>段落开头不要留出空白字符。</li>
</ul>
<h2 id="引用">引用</h2>
<p>引用第三方内容时，应注明出处。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>One man’s constant is another man’s variable. — Alan Perlis</span></span></code></pre></div>
<p>如果是全篇转载，请在全文开头显著位置注明作者和出处，并链接至原文。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>本文转载自 WikiQuote</span></span></code></pre></div>
<p>使用外部图片时，必须在图片下方或文末标明来源。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>本文部分图片来自 Wikipedia</span></span></code></pre></div>
<hr>
<h1 id="数值">数值</h1>
<h2 id="半角数字">半角数字</h2>
<p>阿拉伯数字一律使用半角形式，不得使用全角形式。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>错误：这件商品的价格是１０００元。</span></span>
<span class="line"><span></span></span>
<span class="line"><span>正确：这件商品的价格是 1000 元。</span></span></code></pre></div>
<h2 id="千分号">千分号</h2>
<p>数值为千位以上，应添加千分号（半角逗号）。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>XXX 公司的实收资本为 ￥1,258,000 人民币。</span></span></code></pre></div>
<p>对于 4 位的数值，千分号是选用的，比如<code>1000</code>和<code>1,000</code>都可以接受。对于 4 位以上的数值，应添加千分号。</p>
<h2 id="货币">货币</h2>
<p>货币应为阿拉伯数字，并在数字前写出货币符号，或在数字后写出货币中文名称。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>$1,000</span></span>
<span class="line"><span>1,000 美元</span></span></code></pre></div>
<p>英文的货币名称，建议参考国际标准 <a href="https://en.wikipedia.org/wiki/ISO_4217">ISO 4217</a>。</p>
<h2 id="数值范围">数值范围</h2>
<p>表示数值范围时，用波浪线（<code>～</code>）或一字线（<code>—</code>）连接。参见《标点符号》一节的“连接号”部分。</p>
<p>带有单位或百分号时，两个数字建议都要加上单位或百分号。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>132 kg～234 kg</span></span>
<span class="line"><span></span></span>
<span class="line"><span>67%～89%</span></span></code></pre></div>
<h2 id="变化程度的表示法">变化程度的表示法</h2>
<p>数字的增加要使用“增加了”、“增加到”。“了”表示增量，“到”表示定量。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>增加到过去的两倍</span></span>
<span class="line"><span>（过去为一，现在为二）</span></span>
<span class="line"><span></span></span>
<span class="line"><span>增加了两倍</span></span>
<span class="line"><span>（过去为一，现在为三）</span></span></code></pre></div>
<p>数字的减少要使用“降低了”、“降低到”。“了”表示增量，“到”表示定量。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>降低到百分之八十</span></span>
<span class="line"><span>（定额是一百，现在是八十）</span></span>
<span class="line"><span></span></span>
<span class="line"><span>降低了百分之八十</span></span>
<span class="line"><span>（原来是一百，现在是二十）</span></span></code></pre></div>
<p>不能用“降低 N 倍”或“减少 N 倍”的表示法，要用“降低百分之几”或“减少百分之几”。因为减少（或降低）一倍表示数值原来为一百，现在等于零。</p>
<hr>
<h1 id="标点符号">标点符号</h1>
<h2 id="原则-2">原则</h2>
<p>（1）中文语句的标点符号，均应该采取全角符号，这样可以与全角文字保持视觉的一致。</p>
<p>（2）如果整句为英文，则该句使用英文/半角标点。</p>
<p>（3）句号、问号、叹号、逗号、顿号、分号和冒号不得出现在一行之首。</p>
<p>（4）点号（句号、逗号、顿号、分号、冒号）不得出现在标题的末尾，而标号（引号、括号、破折号、省略号、书名号、着重号、间隔号、叹号、问号）可以。</p>
<h2 id="句号">句号</h2>
<p>（1）中文语句的结尾处应该用全角句号（<code>。</code>）。</p>
<p>（2）句子末尾用括号加注时，句号应在括号之外。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>错误：关于文件的输出，请参照第 1.3 节（见第 26 页。）</span></span>
<span class="line"><span></span></span>
<span class="line"><span>正确：关于文件的输出，请参照第 1.3 节（见第 26 页）。</span></span></code></pre></div>
<h2 id="逗号">逗号</h2>
<p>（1）逗号（<code>，</code>）表示句子内部的一般性停顿。</p>
<p>（2）注意避免“一逗到底”，即整个段落除了结尾，全部停顿都使用逗号。</p>
<h2 id="顿号">顿号</h2>
<p>（1）句子内部的并列词，应该用全角顿号(<code>、</code>) 分隔，而不用逗号，即使并列词是英语也是如此。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>错误：我最欣赏的科技公司有 Google, Facebook, 腾讯, 阿里和百度等。</span></span>
<span class="line"><span></span></span>
<span class="line"><span>正确：我最欣赏的科技公司有 Google、Facebook、腾讯、阿里和百度等。</span></span></code></pre></div>
<p>（2）英文句子中，并列词语之间使用半角逗号（<code>,</code>）分隔。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>例句：Microsoft Office includes Word, Excel, PowerPoint, Outlook and other components.</span></span></code></pre></div>
<p>（3）中文句子内部的并列词，最后一个尽量使用（<code>和</code>）来连接，使句子读起来更加连贯，下面两个句子都可以，第二个更优。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>正确：我最欣赏的科技公司有 Google、Facebook、腾讯、阿里，以及百度等。</span></span>
<span class="line"><span></span></span>
<span class="line"><span>正确：我最欣赏的科技公司有 Google、Facebook、腾讯、阿里和百度等。</span></span></code></pre></div>
<h2 id="分号">分号</h2>
<p>（1）分号（<code>；</code>）表示复句内部并列分句之间的停顿。</p>
<h2 id="引号">引号</h2>
<p>（1）引用时，应该使用全角双引号（<code>“ ”</code>），注意前后双引号不同。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>例句：许多人都认为客户服务的核心是“友好”和“专业”。</span></span></code></pre></div>
<p>（2）引号里面还要用引号时，外面一层用双引号，里面一层用单引号（<code>‘ ’</code>），注意前后单引号不同。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>例句：鲍勃解释道：“我要放音乐，可萨利说，‘不行！’。”</span></span></code></pre></div>
<h2 id="括号">括号</h2>
<p>（1）补充说明时，使用全角圆括号（<code>（）</code>），括号前后不加空格。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>例句：请确认所有的连接（电缆和接插件）均安装牢固。</span></span></code></pre></div>
<p>（2）几种括号的中英文名称。</p>






























<table><thead><tr><th></th><th align="center">英文</th><th align="center">中文</th></tr></thead><tbody><tr><td><code>{ }</code></td><td align="center">braces 或 curly brackets</td><td align="center">大括号</td></tr><tr><td><code>[ ]</code></td><td align="center">square brackets 或 brackets</td><td align="center">方括号</td></tr><tr><td><code>&#x3C; ></code></td><td align="center">angled brackets</td><td align="center">尖括号</td></tr><tr><td><code>( )</code></td><td align="center">parentheses</td><td align="center">圆括号</td></tr></tbody></table>
<h2 id="冒号">冒号</h2>
<p>（1）全角冒号（<code>：</code>）常用在需要解释的词语后边，引出解释和说明。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>例句：请确认以下几项内容：时间、地点、活动名称和来宾数量。</span></span></code></pre></div>
<p>（2）表示时间时，应使用半角冒号（<code>:</code>）。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>例句：早上 8:00</span></span></code></pre></div>
<h2 id="省略号">省略号</h2>
<p>（1）省略号（<code>⋯⋯</code>）表示语句未完、或者语气的不连续。</p>
<p>（2）省略号占两个汉字空间、包含六个省略点，不要使用<code>。。。</code>或<code>...</code>等非标准形式。</p>
<p>（3）省略号不应与“等”这个词一起使用。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>错误：我们为会餐准备了香蕉、苹果、梨…等各色水果。</span></span>
<span class="line"><span></span></span>
<span class="line"><span>正确：我们为会餐准备了各色水果，有香蕉、苹果、梨⋯⋯</span></span>
<span class="line"><span></span></span>
<span class="line"><span>正确：我们为会餐准备了香蕉、苹果、梨等各色水果。</span></span></code></pre></div>
<h2 id="感叹号">感叹号</h2>
<p>（1）应该使用平静的语气叙述，尽量避免使用感叹号（<code>！</code>）。</p>
<p>（2）不得多个感叹号连用，比如<code>！！</code>和<code>!!!</code>。</p>
<h2 id="破折号">破折号</h2>
<p>（1）破折号<code>————</code>一般用于进一步解释。</p>
<p>（2）破折号应占两个汉字的位置。如果破折号本身只占一个汉字的位置，那么前后应该留出一个半角空格。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>例句：直觉————尽管它并不总是可靠的————告诉我，这事可能出了些问题。</span></span>
<span class="line"><span></span></span>
<span class="line"><span>例句：直觉 —— 尽管它并不总是可靠的 —— 告诉我，这事可能出了些问题。</span></span></code></pre></div>
<h2 id="连接号">连接号</h2>
<p>（1）连接号用于连接两个类似的词。</p>
<p>（2）以下场合应该使用直线连接号（<code>-</code>），占一个半角字符的位置。</p>
<ul>
<li>两个名词的复合</li>
<li>图表编号</li>
</ul>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>例句：氧化-还原反应</span></span>
<span class="line"><span></span></span>
<span class="line"><span>例句：图 1-1</span></span></code></pre></div>
<p>（3）数值范围（例如日期、时间或数字）应该使用波浪连接号（<code>～</code>）或一字号（<code>—</code>），占一个全角字符的位置。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>例句：2009 年～2011 年</span></span></code></pre></div>
<p>注意，波浪连接号前后两个值都建议加上单位。</p>
<p>（4）波浪连接号也可以用汉字“至”代替。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>例句：周围温度：-20 °C 至 -10 °C</span></span></code></pre></div>
<hr>
<h1 id="文档体系">文档体系</h1>
<h2 id="结构">结构</h2>
<p>软件手册是一部完整的书，建议采用下面的结构。</p>
<ul>
<li><strong>简介</strong>（Introduction）：[必备] [文件] 提供对产品和文档本身的总体的、扼要的说明</li>
<li><strong>快速上手</strong>（Getting Started）：[可选] [文件] 如何最快速地使用产品</li>
<li><strong>入门篇</strong>（Basics）：[必备] [目录] 又称“使用篇”，提供初级的使用教程
<ul>
<li><strong>环境准备</strong>（Prerequisite）：[必备] [文件] 软件使用需要满足的前置条件</li>
<li><strong>安装</strong>（Installation）：[可选] [文件] 软件的安装方法</li>
<li><strong>设置</strong>（Configuration）：[必备] [文件] 软件的设置</li>
</ul>
</li>
<li><strong>进阶篇</strong>（Advanced）：[可选] [目录] 又称“开发篇”，提供中高级的开发教程</li>
<li><strong>API</strong>（Referenc）：[可选] [目录 or 文件] 软件 API 的逐一介绍</li>
<li><strong>FAQ</strong>：[可选] [文件] 常见问题解答</li>
<li><strong>附录</strong>（Appendix）：[可选] [目录] 不属于教程本身、但对阅读教程有帮助的内容
<ul>
<li><strong>Glossary</strong>：[可选] [文件] 名词解释</li>
<li><strong>Recipes</strong>：[可选] [文件] 最佳实践</li>
<li><strong>Troubleshooting</strong>：[可选] [文件] 故障处理</li>
<li><strong>ChangeLog</strong>：[可选] [文件] 版本说明</li>
<li><strong>Feedback</strong>：[可选] [文件] 反馈方式</li>
</ul>
</li>
</ul>
<p>下面是两个真实范例，可参考。</p>
<ul>
<li><a href="https://redux.js.org/introduction/getting-started">Redux 手册</a></li>
<li><a href="http://flight-manual.atom.io/">Atom 手册</a></li>
</ul>
<h2 id="文件名">文件名</h2>
<p>文档的文件名不得含有空格。</p>
<p>文件名必须使用半角字符，不得使用全角字符。这也意味着，中文不能用于文件名。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>错误：名词解释.md</span></span>
<span class="line"><span></span></span>
<span class="line"><span>正确：glossary.md</span></span></code></pre></div>
<p>文件名建议只使用小写字母，不使用大写字母。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>错误：TroubleShooting.md</span></span>
<span class="line"><span></span></span>
<span class="line"><span>正确：troubleshooting.md</span></span></code></pre></div>
<p>为了醒目，某些说明文件的文件名，可以使用大写字母，比如<code>README</code>、<code>LICENSE</code>。</p>
<p>文件名包含多个单词时，单词之间建议使用半角的连词线（<code>-</code>）分隔。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>不佳：advanced_usage.md</span></span>
<span class="line"><span></span></span>
<span class="line"><span>正确：advanced-usage.md</span></span></code></pre></div>
<hr>
<h1 id="参考链接">参考链接</h1>
<ul>
<li><a href="https://www.taodocs.com/p-51273.html">产品手册中文写作规范</a>, by 华为</li>
<li><a href="http://guide.daocloud.io/dcs/%E5%86%99%E4%BD%9C%E8%A7%84%E8%8C%83%E5%92%8C%E6%A0%BC%E5%BC%8F%E8%A7%84%E8%8C%83-9153803.html">写作规范和格式规范</a>, by DaoCloud</li>
<li><a href="http://www.hitachi-tc.co.jp/company/thesis/thesis.pdf">技术写作技巧在日汉翻译中的应用</a>, by 刘方</li>
<li><a href="https://www.lengoo.de/documents/styleguides/lengoo_styleguide_ZH.pdf">简体中文规范指南</a>, by lengoo</li>
<li><a href="https://open.leancloud.cn/copywriting-style-guide.html">文档风格指南</a>, by LeanCloud</li>
<li><a href="https://docs.google.com/document/d/1R8lMCPf6zCD5KEA8ekZ5knK77iw9J-vJ6vEopPemqZM/edit">豌豆荚文案风格指南</a>, by 豌豆荚</li>
<li><a href="https://github.com/sparanoid/chinese-copywriting-guidelines">中文文案排版指北</a>, by sparanoid</li>
<li><a href="http://w3c.github.io/clreq/">中文排版需求</a>, by W3C</li>
<li><a href="http://www.ruanyifeng.com/blog/2017/02/filename-should-be-lowercase.html">为什么文件名要小写？</a>, by 阮一峰</li>
<li><a href="https://developers.google.com/style/">Google Developer Documentation Style Guide</a>, by Google</li>
<li><a href="http://www.moe.gov.cn/ewebeditor/uploadfile/2015/01/13/20150113091154536.pdf">出版物上数字用法的规定（国家标准GBT15835－2011）</a></li>
<li><a href="https://zh.wikisource.org/zh-hans/GB_3100-1993_%E5%9B%BD%E9%99%85%E5%8D%95%E4%BD%8D%E5%88%B6%E5%8F%8A%E5%85%B6%E5%BA%94%E7%94%A8">GB 3100-1993 国际单位制及其应用</a></li>
</ul>]]></content:encoded>
            <author>moselikk@gmail.com (Moselikk)</author>
        </item>
        <item>
            <title><![CDATA[个人开发环境预设]]></title>
            <link>https://www.moselikk.com/blog/Setting-Backups</link>
            <guid>https://www.moselikk.com/blog/Setting-Backups</guid>
            <pubDate>Fri, 03 Mar 2023 01:00:00 GMT</pubDate>
            <description><![CDATA[个人开发环境预设]]></description>
            <content:encoded><![CDATA[<h3 id="个人常用环境配置文件备份">个人常用环境配置文件备份：</h3>
<p>VSCode
<img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/2023-03-03_10-22-36.png" alt="VSCode" loading="lazy" decoding="async"></p>
<p>VSCode配置备份：<a href="https://file-1251975755.cos.ap-nanjing.myqcloud.com/VSCode_Setting.code-profile">下载</a></p>
<p>PowerShell（需自行下载安装，系统自带 Windows PowerShell 配置会有无法预料的问题）
<img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/2023-03-03_13-49-17.png" alt="WindowsTerminal" loading="lazy" decoding="async"></p>
<p>Ubuntu zsh (WSL)
<img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/2023-03-03_13-49-07.png" alt="WindowsTerminalWSL" loading="lazy" decoding="async"></p>
<p>PowerShell配置备份：<a href="https://file-1251975755.cos.ap-nanjing.myqcloud.com/Microsoft.PowerShell_profile.ps1">下载</a><br>
WindowsTerminal配置备份：<a href="https://file-1251975755.cos.ap-nanjing.myqcloud.com/windows_terminal_settings.json">下载</a></p>
<h3 id="配置文件使用">配置文件使用：</h3>
<blockquote>
<p>VSCode：按 <code>Ctrl+Shift+P</code> 打开命令输入框，输入 <code>Import Profile</code> 导入配置文件，选择所下载的配置文件导入。</p>
</blockquote>
<blockquote>
<p>PowerShell：Terminal 中输入 <code>$PROFILE</code> 查看 PowerShell 配置文件地址，将下载的配置文件复制到相应文件中保存（需先安装好配置文件中用到的软件，如：<code>starship</code>）。</p>
</blockquote>
<blockquote>
<p>WindowsTerminal：打开 终端 - 设置 - 打开JSON文件 将下载的配置文件中内容复制保存即可。</p>
</blockquote>
<h3 id="前端开发环境">前端开发环境</h3>







































































<table><thead><tr><th>Name</th><th>Version</th><th>Host</th><th>Remark</th></tr></thead><tbody><tr><td>Google Chrome</td><td>Next</td><td>Windows</td><td></td></tr><tr><td>Postman</td><td>Next</td><td>Windows</td><td></td></tr><tr><td>Visual Studio Code</td><td>Next</td><td>Windows</td><td></td></tr><tr><td>Power Shell</td><td>Next</td><td>Windows</td><td></td></tr><tr><td>WSL</td><td>2.0</td><td>Windows</td><td></td></tr><tr><td>Ubuntu</td><td>LTS</td><td>Windows</td><td>Based on WSL</td></tr><tr><td>nvm</td><td>Next</td><td>Ubuntu &#x26; Windows</td><td></td></tr><tr><td>node</td><td>16&#x26;18</td><td>Ubuntu &#x26; Windows</td><td></td></tr><tr><td>git</td><td>Next</td><td>Ubuntu &#x26; Windows</td><td></td></tr><tr><td>Fira Code</td><td>Next</td><td>Windows</td><td></td></tr></tbody></table>
<h3 id="常用软件">常用软件</h3>





























<table><thead><tr><th>Name</th><th>Version</th><th>Host</th><th>Remark</th></tr></thead><tbody><tr><td>uTools</td><td>Next</td><td>Windows</td><td></td></tr><tr><td>WPS</td><td>Next</td><td>Windows</td><td></td></tr><tr><td>Wireshark</td><td>Next</td><td>Windows</td><td></td></tr></tbody></table>]]></content:encoded>
            <author>moselikk@gmail.com (Moselikk)</author>
        </item>
        <item>
            <title><![CDATA[华为 eNSP 错误 40]]></title>
            <link>https://www.moselikk.com/blog/eNSP-ERR40-copy</link>
            <guid>https://www.moselikk.com/blog/eNSP-ERR40-copy</guid>
            <pubDate>Tue, 28 Feb 2023 10:00:00 GMT</pubDate>
            <description><![CDATA[华为 eNSP 错误 40]]></description>
            <content:encoded><![CDATA[<blockquote>
<p>环境：<br>
Windows11 x64 22H2<br>
WinPcap-4.1.3<br>
Wireshark-2.6.4<br>
VirtualBox-5.2.26<br>
eNSP V100R003C00SPC100</p>
</blockquote>
<p>如果 eNSP 安装后，虚拟设备无法启动报错 <code>错误代码：40</code></p>
<p>可打开 VirtualBox，启动eNSP安装时自动添加的 AR_Base 虚拟机，查看报错是否是：</p>
<p><code>Raw-mode is unavailable courtesy of Hyper-V. (VERR_SUPDRV_NO_RAW_MODE_HYPER_</code></p>
<p>如满足以上条件，解决方法如下：</p>
<ul>
<li>问题发生原因：所安装 VirtualBox 版本与 Hyper-V 冲突，可使用以下命令检查 Hyper-V 是否开启</li>
</ul>
<p>（系统附加功能 Hyper-V  <strong>没打勾不代表没有启用</strong>，如使用WSL但没在附加功能中手动开启，Hyper-V 也会是启用状态）</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">//</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> bcdedit</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 检查</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> Hyper-V</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 是否已启用</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">//</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> hypervisorlaunchtype</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 值代表其状态</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">$</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> bcdedit</span></span>
<span class="line"></span></code></pre></div>
<ul>
<li>解决方法：关闭 Hyper-V 后 VirtualBox 与 eNSP 均可正常使用</li>
</ul>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">//</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 需使用管理员权限</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> shell</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 运行</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">//</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 关闭</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> Hyper-V</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">$</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> bcdedit</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> /set</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> hypervisorlaunchtype</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> off</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">//</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 开启</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> Hyper-V</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">$</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> bcdedit</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> /set</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> hypervisorlaunchtype</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> auto</span></span></code></pre></div>]]></content:encoded>
            <author>moselikk@gmail.com (Moselikk)</author>
        </item>
        <item>
            <title><![CDATA[常用 Linux 命令]]></title>
            <link>https://www.moselikk.com/blog/command</link>
            <guid>https://www.moselikk.com/blog/command</guid>
            <pubDate>Fri, 27 Jan 2023 02:00:00 GMT</pubDate>
            <description><![CDATA[常用 Linux 命令]]></description>
            <content:encoded><![CDATA[<h2 id="screenfetch"><code>screenfetch</code></h2>
<p>screenFetch is a "Bash Screenshot Information Tool". This handy Bash script can be used to generate one of those nifty terminal theme information + ASCII distribution logos you see in everyone's screenshots nowadays. It will auto-detect your distribution and display an ASCII version of that distribution's logo and some valuable information to the right. There are options to specify no ASCII art, colors, taking a screenshot upon displaying info, and even customizing the screenshot command! This script is very easy to add to and can easily be extended.</p>
<h2 id="htop"><code>htop</code></h2>
<h2 id="ifconfig"><code>ifconfig</code></h2>
<h2 id="bundle-exec-jekyll-serve"><code>bundle exec jekyll serve</code></h2>]]></content:encoded>
            <author>moselikk@gmail.com (Moselikk)</author>
        </item>
        <item>
            <title><![CDATA[有些问题，来一起来问问 ChatGPT]]></title>
            <link>https://www.moselikk.com/blog/ChatGPT</link>
            <guid>https://www.moselikk.com/blog/ChatGPT</guid>
            <pubDate>Sun, 15 Jan 2023 11:33:00 GMT</pubDate>
            <description><![CDATA[有些问题，来一起来问问 ChatGPT]]></description>
            <content:encoded><![CDATA[<p><img style="margin:0; width:30px; display:inline-block;vertical-align:bottom;" src="https://less-1251975755.cos.ap-beijing.myqcloud.com/posts/f56180bc75b97674b69598fc6844f385.webp" loading="lazy" decoding="async">   程序员如何提升自己的认知</p>
<img style="margin:0; width:30px;" src="https://less-1251975755.cos.ap-beijing.myqcloud.com/posts/chrtGPT.svg" loading="lazy" decoding="async">
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">对于程序员来说，要提升自己的认知可以采取以下几种方式：</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">1.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> 练习：多写代码，多做题目。练习能帮助我们更好地理解和掌握知识点。</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">2.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> 阅读：阅读专业书籍、文章和技术博客，可以帮助我们了解最新的技术和工具。</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">3.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> 参加社区：参加线上或线下社区，和其他程序员交流和分享经验。</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">4.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> 多语言：学习不同的编程语言，能够增加我们的思维能力和技能。</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">5.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> 整合：结合不同的知识点，做到整体化学习，提高自己的认知能力。</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">6.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> 尝试新领域：程序员要敢于尝试新领域，增加自己的竞争力。</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">7.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> 练习思维：练习思维导图，猜想题等方式来提升思维能力。</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">总之，提升自己的认知是一个持久的过程，需要不断学习和努力。</span></span></code></pre></div>
<p><img style="margin:0; width:30px; display:inline-block;vertical-align:bottom;" src="https://less-1251975755.cos.ap-beijing.myqcloud.com/posts/f56180bc75b97674b69598fc6844f385.webp" loading="lazy" decoding="async">   年轻人创业需要做哪些准备</p>
<img style="margin:0; width:30px;" src="https://less-1251975755.cos.ap-beijing.myqcloud.com/posts/chrtGPT.svg" loading="lazy" decoding="async">
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">如果你是一个年轻人想要创业，你需要做准备以下几点：</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">1.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> 了解市场：在你打算创业之前，首先要了解市场需求、竞争对手、行业趋势等。这些信息可以帮助你了解如何制定商业计划。</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">2.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> 获取资金：创业所需资金可能是一个挑战，因此你需要考虑融资、众筹等资金来源。</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">3.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> 制定商业计划：商业计划是创业的基础，它描述了你的商业理念、市场分析、财务预测等。</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">4.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> 招募团队：创业一般需要多人参与，因此你需要招募到合适的人才来共同实现你的目标。</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">5.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> 准备好承受风险：创业总是有风险的，因此你需要做好承受挫折和失败的准备。</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">6.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> 保持学习和不断改进：创业是一个不断学习和改进的过程，你需要不断学习新的知识和技能来适应市场的变化。</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">创业是一项充满挑战的任务，但如果你做好了准备，它也是一个非常有趣和充满潜力的过程。希望这些建议能帮助你成功创业。</span></span></code></pre></div>
<p><img style="margin:0; width:30px; display:inline-block;vertical-align:bottom;" src="https://less-1251975755.cos.ap-beijing.myqcloud.com/posts/f56180bc75b97674b69598fc6844f385.webp" loading="lazy" decoding="async">   作为一个男生，如何提高自己的吸引力</p>
<img style="margin:0; width:30px;" src="https://less-1251975755.cos.ap-beijing.myqcloud.com/posts/chrtGPT.svg" loading="lazy" decoding="async">
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">作为一个男生，提高自己的吸引力可以通过以下几种方式：</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">1.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> 身体健康：保持良好的体魄可以增加自信心，同时也是展现自己魅力的重要因素。</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">2.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> 形象气质：注意自己的着装和仪表，展现出自己的穿着品味和气质。</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">3.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> 性格魅力：展现自己的性格魅力和个性，让女性感到有趣和吸引。</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">4.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> 智慧才智：展现自己的智慧和才智，让女性感到有信心和安全感。</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">5.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> 人际交往：培养良好的人际关系和交往能力，让女性感到舒适和温馨。</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">最重要的是，要保持真诚和诚实，展现自己的真实面相。</span></span></code></pre></div>
<p><img style="margin:0; width:30px; display:inline-block;vertical-align:bottom;" src="https://less-1251975755.cos.ap-beijing.myqcloud.com/posts/f56180bc75b97674b69598fc6844f385.webp" loading="lazy" decoding="async">   如何获得异性的主动追求</p>
<img style="margin:0; width:30px;" src="https://less-1251975755.cos.ap-beijing.myqcloud.com/posts/chrtGPT.svg" loading="lazy" decoding="async">
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">要获得异性的主动追求，可以尝试以下几种方法：</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">1.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> 增强魅力: 通过保持健康的生活方式、调整自己的形象和个性来增强自己的魅力。</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">2.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> 展现自己的优点: 展现自己的优点，如智慧、勇气、激情等，可以吸引异性的注意。</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">3.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> 保持积极的态度: 保持积极的态度，对周围的人和事充满热情，这样可以吸引异性的关注。</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">4.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> 提高社交能力: 提高社交能力，学会和周围的人建立良好的关系，这样可以让异性觉得自己有魅力。</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">5.</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> 发挥自己的长处: 发挥自己的长处，找到自己的特长，并在这方面展现自己，这样可以吸引异性的关注。</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">获得异性的主动追求并不是一件简单的事，需要不断努力和改进。最重要的是要认识到每个人都是独特的，不要担心自己的不足，发挥自己的长处。</span></span></code></pre></div>]]></content:encoded>
            <author>moselikk@gmail.com (Moselikk)</author>
        </item>
        <item>
            <title><![CDATA[使用 scp 上传文件至远程服务器]]></title>
            <link>https://www.moselikk.com/blog/scp</link>
            <guid>https://www.moselikk.com/blog/scp</guid>
            <pubDate>Sat, 12 Nov 2022 13:25:00 GMT</pubDate>
            <description><![CDATA[使用 scp 上传文件至远程服务器]]></description>
            <content:encoded><![CDATA[<p>最近买了台轻量服务器，打算部署一些 node 服务，有了向远程服务器传输文件的需求，经过了解，有 ftp 的方法也有通过命令scp直接传输的方法，经过学习，了解了 scp 的基本使用，作此记录，以备查询。</p>
<p>scp 是 secure copy 的缩写，相当于 cp 命令 + SSH。它的底层是 SSH 协议，默认端口是 22，相当于先使用 ssh 命令登录远程主机，然后再执行拷贝操作。</p>
<p>scp 主要用于以下三种复制操作。</p>
<p>本地复制到远程。
远程复制到本地。
两个远程系统之间的复制。
使用 scp 传输数据时，文件和密码都是加密的，不会泄漏敏感信息。</p>
<ol>
<li>上传本地文件至服务器</li>
</ol>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">scp</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> /path/filename</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> username@servername:/path</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"> #（远程目标目录，必须存在且有读写权限）</span></span></code></pre></div>
<ol start="2">
<li>上传本地目录至服务器</li>
</ol>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">scp</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -r</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> local_dir</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> username@servername:remote_dir</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># 上传或下载的目标为目录，需要加 -r scp 会进行递归</span></span></code></pre></div>
<ol start="3">
<li>从服务器上下载文件</li>
</ol>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">scp</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> username@servername:/path/filename</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> /Users/mac/Desktop</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"> #（本地目标目录）</span></span></code></pre></div>
<ol start="4">
<li>从服务器上下载目录</li>
</ol>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">scp</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -r</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> username@servername:/root/</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> /Users/mac/Desktop</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"> #（本地目标目录）</span></span></code></pre></div>
<hr>
<blockquote>
<p><strong>SOME TIPS: ( Ubuntu Server 20.04 LTS 64bit )</strong></p>
</blockquote>
<p><em>出现 Permission denied, please try again 的错误</em></p>
<ul>
<li>远程端修改 sshd_config 文件</li>
</ul>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> vim</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> /etc/ssh/sshd_config</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># 注释掉 PermitRootLogin prohibit-password</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># 添加 PermitRootLogin yes</span></span></code></pre></div>
<ul>
<li>重启 ssh 服务</li>
</ul>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> /etc/init.d/ssh</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> restart</span></span></code></pre></div>
<ul>
<li>如果提示权限问题，可根据是上传还是下载，更改相应路径权限</li>
</ul>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">sudo</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> chmod</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 777</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> /path</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"># path 更改为更改为对应操作路径</span></span></code></pre></div>]]></content:encoded>
            <author>moselikk@gmail.com (Moselikk)</author>
        </item>
        <item>
            <title><![CDATA[Git 常用命令速查]]></title>
            <link>https://www.moselikk.com/blog/git-commands</link>
            <guid>https://www.moselikk.com/blog/git-commands</guid>
            <pubDate>Sun, 30 Oct 2022 11:00:00 GMT</pubDate>
            <description><![CDATA[Git 常用命令速查]]></description>
            <content:encoded><![CDATA[<p>Git 官网：<a href="https://git-scm.com/">https://git-scm.com/</a></p>
<p>官方文档：<a href="https://git-scm.com/docs">https://git-scm.com/docs</a></p>
<p>阮一峰整理：<a href="https://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html">https://www.ruanyifeng.com/blog/2015/12/git-cheat-sheet.html</a></p>
<p>全部命令： <a href="https://git-scm.com/docs/git#_git_commands">https://git-scm.com/docs/git#_git_commands</a></p>
<p>GitHub Cheat Sheet：<a href="https://training.github.com/">https://training.github.com/</a></p>
<h2 id="创建仓库">创建仓库</h2>
<p>创建仓库有多种方式，可以直接复制一个已经创建好的仓库的全部文件，git 即刻可用；可以从 github 等远程仓库 clone，克隆的项目 git 也是就绪的；可以使用<code>git init</code>初始化本地 git 仓库。</p>
<p><code>$ git init</code></p>
<p>将所在目录初始化为一个 git 仓库</p>
<p><code>$ git init [project-name]</code></p>
<p>新建一个目录，将其初始化为 Git 仓库</p>
<p><code>$ git remote add origin [url]</code></p>
<p>链接本地仓库与远程仓库</p>
<p><code>$ git clone [url]</code></p>
<p>Clone（下载）一个已存在于的仓库和它的整个代码历史</p>
<h2 id="git配置">Git配置</h2>
<p>Git的设置文件为 .gitconfig，它可以在用户主目录下（全局配置），也可以在项目目录下（项目配置）</p>
<p><code> $ git config --list</code></p>
<p>显示当前的 Git 配置</p>
<p><code>$ git config --global user.name "[name]"</code></p>
<p>对你的 commit 操作设置关联的用户名</p>
<p><code>$ git config --global user.email "[email address]"</code></p>
<p>对你的 commit 操作设置关联的邮箱地址</p>
<p><code>$ git config --global color.ui auto</code></p>
<p>启用有帮助的彩色命令行输出</p>
<h2 id="分支">分支</h2>
<p><code>$ git branch</code></p>
<p>列出所有本地分支</p>
<p><code>$ git branch -r</code></p>
<p>列出所有远程分支</p>
<p><code>$ git branch -a</code></p>
<p>列出所有本地分支和远程分支</p>
<p><code>$ git branch [branch-name]</code></p>
<p>创建分支（但依然停留在当前分支）</p>
<p><code>$ git checkout -b [branch]</code></p>
<p>新建一个分支，并切换到该分支</p>
<p><code>$ git checkout [branch-name]</code></p>
<p>切换到指定分支，并更新工作区</p>
<p><code>$ git switch -c [branch-name]</code></p>
<p>切换到指定分支并更新工作目录 （working directory）（>git 2.23）</p>
<p><code>$ git checkout -</code></p>
<p>切换到上一个分支</p>
<p><code>$ git merge [branch]</code></p>
<p>将指定分支的历史合并到当前分支。这通常在拉取请求(PR)中完成，但也是一个重要的 Git 操作。</p>
<p><code>$ git cherry-pick [commit]</code></p>
<p>选择一个 commit，合并进当前分支</p>
<p><code>$ git branch -d [branch-name]</code></p>
<p>删除指定分支</p>
<p><code>$ git push origin --delete [branch-name]</code></p>
<p><code>$ git branch -dr [remote/branch]</code></p>
<p>删除远程分支</p>
<h2 id="增加删除文件">增加/删除文件</h2>
<p><code>$ git add [file1] [file2] ...</code></p>
<p>添加指定文件到暂存区</p>
<p><code>$ git add [dir]</code></p>
<p>添加指定目录到暂存区，包括目录下所有子目录及文件</p>
<p><code>$ git add .</code></p>
<p>添加当前目录的所有文件到暂存区</p>
<p><code>$ git add -p</code></p>
<p>添加每个变化前，都会要求确认；对于同一个文件的多处变化，可以实现分次提交（细颗粒度的控制）</p>
<p><code>$ git rm [file1] [file2] ...</code></p>
<p>删除工作区文件，并且将这次删除放入暂存区</p>
<p><code>$ git rm --cached [file]</code></p>
<p>停止追踪指定文件，但该文件会保留在工作区</p>
<p><code>$ git mv [file-original] [file-renamed]</code></p>
<p>改名文件，并且将这个改名放入暂存区</p>
<h2 id="代码提交">代码提交</h2>
<p><code>$ git commit -m [message]</code></p>
<p>提交暂存区到仓库区</p>
<p><code>$ git commit [file1] [file2] ... -m [message]</code></p>
<p>提交暂存区的指定文件到仓库区</p>
<p><code>$ git commit -a</code></p>
<p>提交工作区自上次 commit 之后的变化，直接到仓库区</p>
<p><code>$ git commit -v</code></p>
<p>提交时显示所有 diff 信息</p>
<p><code>$ git commit --amend -m [message]</code></p>
<p>使用一次新的 commit，替代上一次提交
如果代码没有任何新变化，则用来改写上一次 commit 的提交信息</p>
<p><code>$ git commit --amend [file1] [file2] ...</code></p>
<p>重做上一次 commit，并包括指定文件的新变化</p>
<h2 id="远程同步">远程同步</h2>
<p><code>$ git fetch [remote]</code></p>
<p>下载远程仓库的所有变动</p>
<p><code>$ git remote -v</code></p>
<p>显示所有远程仓库</p>
<p><code>$ git remote show [remote]</code></p>
<p>显示某个远程仓库的信息</p>
<p><code>$ git remote add [shortname] [url]</code></p>
<p>增加一个新的远程仓库，并命名</p>
<p><code>$ git pull [remote] [branch]</code></p>
<p>取回远程仓库的变化，并与本地分支合并</p>
<p><code>$ git push [remote] [branch]</code></p>
<p>上传本地指定分支到远程仓库</p>
<p><code>$ git push [remote] --force</code></p>
<p>强行推送当前分支到远程仓库，即使有冲突</p>
<p><code>$ git push [remote] --all</code></p>
<p>推送所有分支到远程仓库</p>
<p><code>$ git push --set-upstream origin my-branch</code></p>
<p>将本地创建的分支推送到远程仓库</p>
<h2 id="撤销">撤销</h2>
<p><code>$ git checkout [file]</code></p>
<p>恢复暂存区的指定文件到工作区（撤销对 file 文件的修改）</p>
<p><code>$ git checkout [commit] [file]</code></p>
<p>恢复某个 commit 的指定文件到暂存区和工作区</p>
<p><code>$ git checkout .</code></p>
<p>恢复暂存区的所有文件到工作区</p>
<p><code>$ git reset [file]</code></p>
<p>重置暂存区的指定文件，与上一次 commit 保持一致，但工作区不变</p>
<p><code>$ git reset --hard</code></p>
<p>重置暂存区与工作区，与上一次 commit 保持一致</p>
<p><code>$ git reset [commit]</code></p>
<p>重置当前分支的指针为指定 commit，同时重置暂存区，但工作区不变</p>
<p><code>$ git reset --hard [commit]</code></p>
<p>重置当前分支的 HEAD 为指定 commit，同时重置暂存区和工作区，与指定 commit 一致</p>
<p><code>$ git reset --keep [commit]</code></p>
<p>重置当前 HEAD 为指定 commit，但保持暂存区和工作区不变</p>
<p><code>$ git revert [commit]</code></p>
<p>新建一个 commit，用来撤销指定 commit
后者的所有变化都将被前者抵消，并且应用到当前分支</p>
<p><code>$ git stash</code></p>
<p><code>$ git stash pop</code></p>
<p>暂时将未提交的变化移除，稍后再移入</p>
<p><code>$ git reset HEAD^</code></p>
<p>上次提交内容会被保存到工作目录</p>
<p><code>$ git reset --hard HEAD^</code></p>
<p>上次提交内容会被直接丢弃</p>
<h2 id="标签">标签</h2>
<p><code>$ git tag</code></p>
<p>列出所有 tag</p>
<p><code>$ git tag [tag]</code></p>
<p>新建一个 tag 在当前 commit</p>
<p><code>$ git tag [tag] [commit]</code></p>
<p>新建一个 tag 在指定 commit</p>
<p><code>$ git tag -d [tag]</code></p>
<p>删除本地 tag</p>
<p><code>$ git push origin :refs/tags/[tagName]</code></p>
<p>删除远程 tag</p>
<p><code>$ git show [tag]</code></p>
<p>查看 tag 信息</p>
<p><code>$ git push [remote] [tag]</code></p>
<p>提交指定 tag</p>
<p><code>$ git push [remote] --tags</code></p>
<p>提交所有 tag</p>
<p><code>$ git checkout -b [branch] [tag]</code></p>
<p>新建一个分支，指向某个 tag</p>
<h2 id="查看信息">查看信息</h2>
<p><code>$ git status</code></p>
<p>显示有变更的文件</p>
<p><code>$ git log</code></p>
<p>显示当前分支的版本历史</p>
<p><code>$ git log --stat</code></p>
<p>显示 commit 历史，以及每次 commit 发生变更的文件</p>
<p><code>$ git log -S [keyword]</code></p>
<p>搜索提交历史，根据关键词</p>
<p><code>$ git log [tag] HEAD --pretty=format:%s</code></p>
<p>显示某个 commit 之后的所有变动，每个 commit 占据一行</p>
<p><code>$ git log [tag] HEAD --grep feature</code></p>
<p>显示某个 commit 之后的所有变动，其"提交说明"必须符合搜索条件</p>
<p><code>$ git log --follow [file]</code></p>
<p><code>$ git whatchanged [file]</code></p>
<p>显示某个文件的版本历史，包括文件改名</p>
<p><code>$ git log -p [file]</code></p>
<p>显示指定文件相关的每一次 diff</p>
<p><code>$ git log -5 --pretty --oneline</code></p>
<p>显示过去 5 次提交</p>
<p><code>$ git shortlog -sn</code></p>
<p>显示所有提交过的用户，按提交次数排序</p>
<p><code>$ git blame [file]</code></p>
<p>显示指定文件是什么人在什么时间修改过</p>
<p><code>$ git diff</code></p>
<p>显示暂存区和工作区的差异</p>
<p><code>$ git diff --cached [file]</code></p>
<p>显示暂存区和上一个 commit 的差异</p>
<p><code>$ git diff HEAD</code></p>
<p>显示工作区与当前分支最新 commit 之间的差异</p>
<p><code>$ git diff [first-branch]...[second-branch]</code></p>
<p>显示两次提交之间的差异</p>
<p><code>$ git diff --shortstat "@{0 day ago}"</code></p>
<p>显示今天你写了多少行代码</p>
<p><code>$ git show [commit]</code></p>
<p>显示某次提交的元数据和内容变化</p>
<p><code>$ git show --name-only [commit]</code></p>
<p>显示某次提交发生变化的文件</p>
<p><code>$ git show [commit]:[filename]</code></p>
<p>显示某次提交时，某个文件的内容</p>
<p><code>$ git reflog</code></p>
<p>显示当前分支的最近几次提交</p>
<hr>
<h2 id="命令行中图形化显示提交日志">命令行中图形化显示提交日志</h2>
<p><code>$ git log --graph --oneline</code></p>
<p>图形化显示当前分支的提交日志</p>
<p><code>$ git log --graph --patch</code></p>
<p>图形化显示当前分支的提交日志及每次提交的变更内容</p>
<p><code>$ git log --graph --oneline --all</code></p>
<p>图形化显示所有分支的提交日志</p>
<p><code>$ git log --graph --patch --all</code></p>
<p>图形化显示所有分支的提交日志及每次提交的变更内容</p>
<h2 id="git-diff">Git diff</h2>
<p><code>$ git diff</code></p>
<p>比较当前工作区和 Git 的 staging area 里内容的区别</p>
<p><code>$ git diff --staged</code></p>
<p>比较 Git 的 staging area 和当前分支指向内容的区别</p>
<p><code>$ git diff &#x3C;commit> &#x3C;commit></code></p>
<p>比较任意两次提交指向内容的区别</p>
<h2 id="git-checkout-和-git-switch-的区别">git checkout 和 git switch 的区别</h2>
<p>是这样的，git checkout 是用于创建和切换分支的旧命令。它还可以用于恢复来自某个提交的修改。但是 git checkout 能做的不仅仅是这些，它还可以让你从任何分支复制文件或直接提交到当前工作区中，而无需切换分支。</p>
<p>实际上，git checkout 做了三件事情：</p>
<p>1）切换分支；</p>
<p>2）从暂存区复制文件到工作区（放弃当前修改）；</p>
<p>3）从其他区复制文件到工作区；</p>
<p>如果你不明白，那没关系，只需要记住：git checkout 能做的不仅仅是分支的切换，还有很多其他额外的功能，而这些额外的功能，增加了 git checkout 这个命令的复杂性。</p>
<p>因此，从 git 2.23 版本发布以后，引入了两个新的命令：git switch 和 git restore。</p>
<p>这样做的目的，是为了让人们使用 git switch 来切换分支，使用 git restore 来撤销本地修改。与此同时，git checkout 仍然被保存，用于提供更高级的选项来处理各种更加复杂的操作。</p>
<p>如果是切换分支，请使用 git switch 命令而不是 git checkout。为什么？因为它就是为这个特定任务创建的。对于新的 git 用户，更容易记住 git switch 用于切换分支，git restore 用于恢复修改。</p>
<p>因此，对于切换和创建分支这个操作来说，使用 git switch 命令替代 git checkout 是被提倡的做法。</p>
<h2 id="git-修改-gitignore-文件-不生效">git 修改 .gitignore 文件 不生效</h2>
<p>原因是 .gitignore 只能忽略那些原来没有被 track 的文件，如果某些文件已经被纳入了版本管理中，则修改 .gitignore 是无效的。那么解决方法就是先把本地缓存删除（改变成未 track 状态），然后再提交：</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">git</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> rm</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -r</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --cached</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> .</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">git</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> add</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> .</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">git</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> commit</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -m</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 'update .gitignore'</span></span></code></pre></div>
<p>停止追踪某文件，重点命令</p>
<p><code>$ git rm —cached -r [file]</code></p>
<p>停止追踪指定文件，但该文件会保留在工作区</p>
<h2 id="commit-之后-git-自动将-lf-转换成-crlf导致行末-eslint-飘黄">commit 之后 git 自动将 lf 转换成 crlf，导致行末 eslint 飘黄</h2>
<p>修改 git 全局配置，禁止 git 自动将 lf 转换成 crlf</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">git</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> config</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --global</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> core.autocrlf</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> false</span></span></code></pre></div>]]></content:encoded>
            <author>moselikk@gmail.com (Moselikk)</author>
        </item>
        <item>
            <title><![CDATA[读完余华《活着》]]></title>
            <link>https://www.moselikk.com/blog/book-to-live</link>
            <guid>https://www.moselikk.com/blog/book-to-live</guid>
            <pubDate>Thu, 08 Sep 2022 13:00:00 GMT</pubDate>
            <description><![CDATA[读完余华《活着》]]></description>
            <content:encoded><![CDATA[<p><img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/posts/2022-09-09%2017.49.53.png" alt="" loading="lazy" decoding="async">
昨天写代码实在累，书架最上层放着本余华的《活着》，便翻了两页。看到作者一九九三年自序中中写到 “我听到一首美国民歌《老黑奴》，歌中那位老黑奴经历了一生的苦难，家人都先他而去，而他依然友好地对待这个世界，没有一句抱怨的话。这首歌深深的打动了我，我决定写下一篇这样的小说，这就是这篇《活着》，写人对苦难的承受能力，对世界乐观的态度。” 翻来翻去，脑海中不断浮现的居然是《隐入尘烟》的画面，一只茅一面盾开始在我心中互不相服。同样是饱经苦难，马有铁选择安然死去去寻找海清，为何活着中的“老黑奴”却坚毅的活着。我不明白，我觉得读一读一探究竟。
<img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/posts/2022-09-09%2017.49.54.jpg" alt="" loading="lazy" decoding="async">
读着余华老师笔尖下的一字一句，跟着富贵的脚步走完了他的一生，不算厚的一本小说，却承载着富贵涤荡起伏的一生。从地主家每天都要骑在妓女头上去丈人家门口打招呼的纨绔公子，沦落为败光家常住进茅草屋的不孝子，而后丧父自己不得不承当家庭顶梁柱。为给娘买药被国民党抓壮丁，回来儿子不认得，女儿发烧成了聋哑，经历儿子、女儿、老婆、女婿、外孙因不同原因相继离开人世。富贵没有选择死去，一如既往的耕种着自己的一亩三分地。</p>
<p>而最近大火的《隐入尘烟》则不同，海清的死，带走了马有铁的一切，他已无睁眼看到明天的欲望，最后他选择了结束自己，去另一个世界寻找自己唯一的爱人。</p>
<p>读完其实很茫然，想到的很多，又都不知道怎么描述。</p>
<p>每次读到有庆喂羊的片段，不知道问什么眼眶就湿了，我想起了小时候精心喂养的三只小猫，自己有好吃的也要分一半给他们吃，当其中两只被驱虫药毒死的那天，我现在脑海中还有那个画面。我知道他们死了，就再也回不来了，就像昨天的明月只属于昨天，就算下月十五的月亮再圆，那也不是这个月的，那不是我曾经深爱的那个。曾经有人告诉我，人的善良是不好的，导致不幸，此种说法亦真亦假，那孔夫子的“人之初，性本善”是谓何？但是想想有庆，他是善良的，亦是不幸的，他善良的对待万物，奔波割草喂羊，体贴父母种地，献血赚钱却送命。</p>
<p>活着就是活着，我想不到任何的词汇去描述</p>
<p>曾经的一位同事，上有九十老母，下有刚考上博士的儿子，本是顺利的剧本，可不幸总是会自己找上门。儿子失足落湖身亡，计划生育其只养育了一子，活着对于她来说又意味着什么？可人时间的苦难到底什么时候才有尽头，春生死后，富贵只剩下苦根了，可苦根偏偏撑死了也离自己而去了。</p>
<p>我小时候喂养的小狗，在我家生活了十四年有余，上个月老死了。我为他高兴，不用再受冬日的刺骨寒风，不用再受夏日的炎炎烈日。狗的平均年龄八岁，可能他太留恋这世间了吧，所以才活了这么久。</p>
<p>此刻我混乱的脑子注定写不出什么华丽的词藻，读来读去，思来想去，富贵的活着，可能还是在留恋心中的那份想念，只有活着才能想想家珍，想想凤霞，想想有庆，死了哪些美好的过往片段便想也没法想了。而马有铁的死，也不足为奇，他在世间已无任何挂念，只有去找海清。可能确实是这样吧，世间的牵挂，延续着每一个人的生命。
<img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/posts/2022-09-09%2017.49.55.jpg" alt="" loading="lazy" decoding="async">
活着就是活着，二十几岁的我想不通，也不必想通，万一脑袋过载了，岂不是得被强行放入存储区，就不就完犊子了。</p>]]></content:encoded>
            <author>moselikk@gmail.com (Moselikk)</author>
        </item>
        <item>
            <title><![CDATA[Amiibowiki]]></title>
            <link>https://www.moselikk.com/blog/website-amiibowiki</link>
            <guid>https://www.moselikk.com/blog/website-amiibowiki</guid>
            <pubDate>Tue, 23 Aug 2022 07:00:00 GMT</pubDate>
            <description><![CDATA[Amiibowiki]]></description>
            <content:encoded><![CDATA[<h1 id="amiibowiki">AmiiboWIKI</h1>
<p><img src="https://github.com/moselikk/amiibowiki/raw/main/old/images/AmiiboWIKI.png" alt="AmiiboWIKI" loading="lazy" decoding="async"></p>
<p>此项目目的为巩固纯JS相关基础
<a href="http://amiibowiki.com/">amiibowiki</a></p>]]></content:encoded>
            <author>moselikk@gmail.com (Moselikk)</author>
        </item>
        <item>
            <title><![CDATA[JS 函数形参 arguments 的特点]]></title>
            <link>https://www.moselikk.com/blog/JS-arguments</link>
            <guid>https://www.moselikk.com/blog/JS-arguments</guid>
            <pubDate>Tue, 09 Aug 2022 07:00:00 GMT</pubDate>
            <description><![CDATA[JS 函数形参 arguments 的特点]]></description>
            <content:encoded><![CDATA[<p>今天看到一个小题目，加深了我对函数 arguments 的理解</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">function</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> handleArr</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">arr</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    arr[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> arr[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">2</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">]</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">function</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> foo</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">a</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">b</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">c</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    c </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 10</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">    handleArr</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">arguments</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> a </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">+</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> b </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">+</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> c</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">foo</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">2</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">2</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">2</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// 得到结果：22</span></span></code></pre></div>
<ul>
<li>在 JS 中函数参数变量和 arguments 是双向绑定的，改变参数变量 arguments 中的值会立即改变，改变 arguments 的值，参数变量也会响应改变。</li>
</ul>
<h2 id="拓展">拓展：</h2>
<ul>
<li>
<p>arguments并不是一个真正的数组，而是一个类数组对象，意味着 arguments 有长度属性并且属性的索引是从零开始的，但是它除了 length 属性和索引元素之外没有任何 Array 属性，例如 forEach() 方法和 map() 方法都是没有的。</p>
</li>
<li>
<p>arguments 对象是所有（非箭头）函数中都可用的局部变量。你可以使用 arguments 对象在函数中引用函数的参数。此对象包含传递给函数的每个参数，第一个参数在索引 0 处。</p>
</li>
<li>
<p>如果调用的参数多于正式声明接受的参数，则可以使用 arguments 对象。这种技术对于可以传递可变数量的参数的函数很有用。使用 arguments.length 来确定传递给函数参数的个数，然后使用 arguments 对象来处理每个参数。</p>
</li>
<li>
<p>可以使用 Array.from() 方法或扩展运算符将参数转换为真实数组</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">var</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> args </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> Array.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">from</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">arguments</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">var</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> args </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> [</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">...</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">arguments</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">];</span></span></code></pre></div>
</li>
<li>
<p>相关属性</p>
<ul>
<li>arguments.callee  指向参数所属的当前执行的函数。</li>
<li>arguments.length  传递给函数的参数数量。</li>
<li>arguments[@@iterator] 返回一个新的 Array 迭代器 对象，该对象包含参数中每个索引的值。</li>
</ul>
</li>
<li>
<p>当非严格模式中的函数有包含剩余参数、默认参数和解构赋值，那么 arguments 对象中的值不会跟踪参数的值（反之亦然）。</p>
</li>
</ul>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">function</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> func</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">a</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 55</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) {</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  arguments</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">] </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 99</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">; </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// updating arguments[0] does not also update a</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(a);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">func</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">10</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">); </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// 10</span></span></code></pre></div>]]></content:encoded>
            <author>moselikk@gmail.com (Moselikk)</author>
        </item>
        <item>
            <title><![CDATA[OpenWrt(X86_64) 软路由安装配置]]></title>
            <link>https://www.moselikk.com/blog/OpenWrt</link>
            <guid>https://www.moselikk.com/blog/OpenWrt</guid>
            <pubDate>Thu, 12 May 2022 12:18:00 GMT</pubDate>
            <description><![CDATA[OpenWrt(X86_64) 软路由安装配置]]></description>
            <content:encoded><![CDATA[<h2 id="1openwrt-介绍">1.OpenWrt 介绍</h2>
<blockquote>
<p><strong>OpenWrt</strong>是适合于嵌入式设备的一个Linux发行版。</p>
<p>相对原厂固件而言，OpenWrt 不是一个单一、静态的固件，而是提供了一个可添加软件包的可写的文件系统。这使使用者可以自由的选择应用程序和配置，而不必受设备提供商的限制，并且可以使用一些适合某方面应用的软件包来定制你的设备。对于开发者来说，OpenWrt 是一个框架，开发者不必麻烦地构建整个固件就能得到想要的应用程序；对于使用者来说，这意味着完全定制的能力，与以往不同的方式使用设备，OPKG包含超过3500个软件。 默认使用LuCI作为web交互界面。</p>
<p>OpenWrt 另有一个复刻分支项目，名为 LEDE，两者于2018年1月合并，合并后的项目使用 OpenWrt 的名字、LEDE 的源代码。
（来自维基百科）</p>
</blockquote>
<p><img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/202206192225206.png" alt="" loading="lazy" decoding="async"></p>
<h2 id="2工具准备">2.工具准备</h2>
<ol>
<li>硬件：路由本体一台（可以用废旧电脑，笔记本等X86设备本文以2个以上网口设备为例进行配置），U盘一个（>4G），计算机一台（Windows、mac、Linux 均可），网络畅通（具有国际网络环境访问条件更佳）。</li>
<li>软件：
<ul>
<li><a href="https://www.balena.io/etcher/">balenaEtcher</a></li>
</ul>
</li>
</ol>
<p><img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/202206192225204.png" alt="" loading="lazy" decoding="async"></p>
<h2 id="3固件下载">3.固件下载</h2>
<ol>
<li>官方固件： <a href="https://downloads.openwrt.org/releases/21.02.3/targets/x86/64/">OpenWrt 21.02.3</a></li>
<li>koolshare Lede X64：<a href="https://fw.koolcenter.com/LEDE_X64_fw867/">koolshare Lede X64</a></li>
<li>eSir 精品小包： <a href="https://drive.google.com/drive/folders/1uRXg_krKHPrQneI3F2GNcSVRoCgkqESr">Lean Code x86_64 Firmware</a></li>
</ol>
<p>上方推荐的三个固件中：</p>
<ol>
<li>官方固件最为纯净</li>
</ol>
<p><img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/202206192225208.png" alt="" loading="lazy" decoding="async"></p>
<ol start="2">
<li>koolshare Lede 为 koolshare 论坛基于 OpenWrt 开源代码定制编译而来，集成了<strong>酷软商店</strong>有丰富的软件可一键下载安装，功能强大。</li>
</ol>
<p><img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/202206192225202.png" alt="" loading="lazy" decoding="async"></p>
<ol start="3">
<li>Lean Code x86_64 Firmware by eSir：此固件为 <em>YouTuber</em>  <a href="https://www.youtube.com/c/eSirPlayGround">eSir</a> 基于<a href="https://github.com/coolsnowwolf/lede">Lean Code源码</a>编译而来，集成了常用的软件，功能强大。本文以eSir固件为例示范安装。</li>
</ol>
<p><img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/202206192225201.png" alt="" loading="lazy" decoding="async"></p>
<h2 id="4制作启动u盘">4.制作启动U盘</h2>
<p>将下载的文件解压，推荐使用 gzip 进行解压</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">gzip</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -d</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> openwrt-spp-spring[2022]-x86-64-generic-squashfs-uefi.img.gz</span></span>
<span class="line"></span></code></pre></div>
<p>安装并打开下载好的 balenaEtcher，将上一步解压出的img文件写入U盘。<strong>（注意：U盘数据会被清空）</strong></p>
<p><img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/202206192225204.png" alt="" loading="lazy" decoding="async"></p>
<h2 id="5安装并配置">5.安装并配置</h2>
<p>自行搜索自己设备进入 BIOS 的方法，重启软路由设备进入 BIOS，更改U盘为第一引导项并重启。</p>
<p><img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/202206192225200.png" alt="" loading="lazy" decoding="async"></p>
<p>看到屏幕有如下所示信息，OpenWrt 系统已经安装完成。</p>
<p><img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/202206192225209.png" alt="" loading="lazy" decoding="async"></p>
<p>使用网线将软路由与任意一台电脑网口连接，访问<a href="192.168.5.1">192.168.5.1</a>，输入默认密码 password 进入配置界面。（如果无法进入路由配置界面，尝试更换软路由网口后重试）</p>
<p>成功进入软路由后台后，使用网线连接软路由与光猫，点击 网络-接口 选项配置网络。</p>
<p><img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/202206192225205.png" alt="" loading="lazy" decoding="async"></p>
<ol>
<li>光猫为桥接模式 PPPoE 拨号网络：点击 网络-接口-WAN-修改-协议-PPPoE 填入宽带拨号账号密码即可。</li>
</ol>
<p><img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/202206192225203.png" alt="" loading="lazy" decoding="async"></p>
<ol start="2">
<li>光猫为路由模式：安装后无需额外配置，保持默认即可。</li>
</ol>
<p><img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/202206192240922.png" alt="" loading="lazy" decoding="async"></p>
<h2 id="6后记">6.后记</h2>
<p>OpenWrt 开放且功能强大，拥有海量的用户及第三方插件，大胆去探索更多功能吧。</p>]]></content:encoded>
            <author>moselikk@gmail.com (Moselikk)</author>
        </item>
        <item>
            <title><![CDATA[ElementUI 多页表格打印无表头]]></title>
            <link>https://www.moselikk.com/blog/ElementUI</link>
            <guid>https://www.moselikk.com/blog/ElementUI</guid>
            <pubDate>Thu, 17 Jun 2021 16:00:00 GMT</pubDate>
            <description><![CDATA[ElementUI 多页表格打印无表头]]></description>
            <content:encoded><![CDATA[<p>开发审批记录类系统过程中，使用者对于列表打印功能要求较多，虽然现在公司都为线上审批无纸化办公，但是难免还是会有需要将系统中的数据打印出来进行签字的需求，在传统制造业尤为明显。在自测过程中发现使用 Vue 加 element-ui 开发的产品，在打印长表格时打印多页会出现只有第一页有表头的情况。</p>
<p><img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/posts/2022-08-12%2011.00.22.png" alt="" loading="lazy" decoding="async"></p>
<p><img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/posts/2022-08-12%2011.00.31.png" alt="" loading="lazy" decoding="async"></p>
<p>在 HTML 中原生 table 表头若是用 thead 写，那打印时会自动优化将每页纸都加上表头，排查发现，element-ui 的表格组件为了实现表头浮动，将表头和表格内容部分分别放在两个 table 里且包在了两个 div 里，致使打印时无法自动为后续页添加表头</p>
<p><img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/posts/2022-08-12%2011.11.28.png" alt="" loading="lazy" decoding="async"></p>
<h2 id="解决思路">解决思路</h2>
<p>通过在打印时将原本的 thead 结构隐藏，并复制一份与 tbody 放在同一个 table 中，即可实现目标功能</p>
<p>复制结构：</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">/*</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">index.vue</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">el-table标签 ref="mytable"</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">*/</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">script</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">export default{</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// ...</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  mounted</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">() {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    this.$nextTick(() => { </span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">      let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> thead </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> this</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">.$refs.mytable.$el.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">querySelector</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'.el-table__header-wrapper thead'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">      let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> theadNew </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> thead.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">cloneNode</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">true</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">      this</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">.$refs.mytable.$el.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">querySelector</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'.el-table__body-wrapper table'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">).</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">appendChild</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(theadNew)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    })</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  }</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// ...</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">script</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span></code></pre></div>
<p>设置打印时 css 规则：</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">.el-table</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic"> >>></span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> .el-table__body-wrapper</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D"> table</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D"> thead</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">{</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  display</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">none</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> }</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">@media</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> print</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  .el-table</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic"> >>></span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> .el-table__header-wrapper</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">{</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">    display</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">none</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  }</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> .el-table</span><span style="--shiki-light:#B31D28;--shiki-light-font-style:italic;--shiki-dark:#FDAEB7;--shiki-dark-font-style:italic"> >>></span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> .el-table__body-wrapper</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D"> table</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D"> thead</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">{</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  display</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">table-header-group</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span></code></pre></div>
<h2 id="优化">优化</h2>
<p>项目中用到的地方少的话可以在组件中直接书写，若广泛使用，可封装为组件，方便维护</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">/* el-table-p.vue */</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">script</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">import {Table} from 'element-ui'</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">export default{</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  extends: Table,</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  mounted</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">() {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    this.$nextTick(() => { </span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">      let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> thead </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> this</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">.$el.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">querySelector</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'.el-table__header-wrapper thead'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">      let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> theadNew </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> thead.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">cloneNode</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">true</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)</span></span>
<span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">      this</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">.$el.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">querySelector</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'.el-table__body-wrapper table'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">).</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">appendChild</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(theadNew)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    })</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">script</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">style</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> scoped</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">.el-table >>> .el-table__body-wrapper table thead{</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  display: none;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">@media print {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  .el</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">table </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">>>></span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> .el</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">table__header</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">wrapper{</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    display: none;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> .el</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">table </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">>>></span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> .el</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">table__body</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">wrapper table thead{</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  display: table</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">header</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">group;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">style</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span></code></pre></div>
<p>注册为全局组件：</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">/* main.js */</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">import</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> ElTableP </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> './components/el-table-p.vue'</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">Vue.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">component</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'el-table-p'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, ElTableP)</span></span></code></pre></div>
<p>使用 table 时使用自定义的组件快速方便满足需求:</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">&#x3C;!--index.js=>template--></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  &#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">el-table-p</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">    :data</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"tableData"</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">    ref</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"mytable"</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">    style</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"width: 800px; margin:0px auto"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    &#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">el-table-column</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">      prop</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"date"</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">      label</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"日期"</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">      width</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"180"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    &#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">el-table-column</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    &#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">el-table-column</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">      prop</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"name"</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">      label</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"姓名"</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">      width</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"180"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    &#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">el-table-column</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    &#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">el-table-column</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">      prop</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"address"</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">      label</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"地址"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    &#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">el-table-column</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  &#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">el-table-p</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span></code></pre></div>
<p>实现了每页打印都有表头的效果</p>
<p><img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/posts/2022-08-12%2011.47.17.png" alt="" loading="lazy" decoding="async"></p>]]></content:encoded>
            <author>moselikk@gmail.com (Moselikk)</author>
        </item>
        <item>
            <title><![CDATA[百灵达 X32-笔记]]></title>
            <link>https://www.moselikk.com/blog/BEHRINGERX32</link>
            <guid>https://www.moselikk.com/blog/BEHRINGERX32</guid>
            <pubDate>Sun, 06 Jun 2021 02:12:00 GMT</pubDate>
            <description><![CDATA[百灵达 X32-笔记]]></description>
            <content:encoded><![CDATA[<ol>
<li>话筒常用底切 100Hz</li>
<li>话筒齿音过重 8140Hz 衰减 6dB</li>
<li>开机时同时按 SCENES 区域的 UNDO 旋钮归零系统</li>
<li>设置 bus 总线输出对应-ROUTING-analog out(本地16个模拟输出出口的设置)</li>
<li><a href="https://zhidao.baidu.com/question/1767257171284900060.html">百灵达x32如何出混响</a></li>
<li><a href="https://www.sohu.com/a/219372299_100010427">X32／XR系列 DSP效果插件最全解读，呈现经典唱片级音质现场连载（一）</a></li>
</ol>]]></content:encoded>
            <author>moselikk@gmail.com (Moselikk)</author>
        </item>
        <item>
            <title><![CDATA[调音&乐队&音响]]></title>
            <link>https://www.moselikk.com/blog/turn&amp;band&amp;sound</link>
            <guid>https://www.moselikk.com/blog/turn&amp;band&amp;sound</guid>
            <pubDate>Wed, 02 Jun 2021 07:23:00 GMT</pubDate>
            <description><![CDATA[调音&乐队&音响]]></description>
            <content:encoded><![CDATA[<ul>
<li>
<p>音响第一网</p>
<p><a href="http://www.ca001.com/">http://www.ca001.com/</a></p>
</li>
<li>
<p>耳机小白必读 一分钟看懂什么是RCA和XLR接口</p>
<p><a href="https://baijiahao.baidu.com/s?id=1635007557686672058&#x26;wfr=spider&#x26;for=pc">https://baijiahao.baidu.com/s?id=1635007557686672058&#x26;wfr=spider&#x26;for=pc</a></p>
</li>
<li>
<p>音乐制作人笔记：话放跟DI盒是用来干嘛的？</p>
<p><a href="https://www.bilibili.com/read/cv5214188">https://www.bilibili.com/read/cv5214188</a></p>
</li>
<li>
<p>制作人周记：话放跟DI盒是用来干嘛的？</p>
<p><a href="https://www.sohu.com/a/287324057_763990">https://www.sohu.com/a/287324057_763990</a></p>
</li>
<li>
<p>简单实用一招（一）聊聊话放上常被忽视的HPF</p>
<p><a href="https://zhuanlan.zhihu.com/p/50535669">https://zhuanlan.zhihu.com/p/50535669</a></p>
</li>
<li>
<p>数字调音台基本入门1-了解模拟调音台</p>
<p><a href="https://mp.weixin.qq.com/s?__biz=MzIyMzQ3MjE0Ng==&#x26;mid=2247484459&#x26;idx=1&#x26;sn=506e50cc2d7c83ca9932ae37f64d1bcb&#x26;chksm=e81cfb56df6b7240e7bfff8e7754b623b0bc2e5030b29151d78073c6acfb91833b3f8d46fba1&#x26;scene=21#wechat_redirect">https://mp.weixin.qq.com/s?__biz=MzIyMzQ3MjE0Ng==&#x26;mid=2247484459&#x26;idx=1&#x26;sn=506e50cc2d7c83ca9932ae37f64d1bcb&#x26;chksm=e81cfb56df6b7240e7bfff8e7754b623b0bc2e5030b29151d78073c6acfb91833b3f8d46fba1&#x26;scene=21#wechat_redirect</a></p>
</li>
<li>
<p>基础科普篇 | 调音台是什么</p>
<p><a href="https://zhuanlan.zhihu.com/p/38635272">https://zhuanlan.zhihu.com/p/38635272</a></p>
</li>
<li>
<p>你是效果器小白吗？看完这篇，你就不是了（建议收藏）</p>
<p><a href="https://zhuanlan.zhihu.com/p/210275442">https://zhuanlan.zhihu.com/p/210275442</a></p>
</li>
<li>
<p>基础科普篇 | 音频接口究竟是什么？</p>
<p><a href="http://mifanxing.com/p/1189636">mifanxing.com/p/1189636</a></p>
</li>
<li>
<p>基础科普篇 | 插件是什么？</p>
<p><a href="http://www.mifanxing.com/p/1220532">http://www.mifanxing.com/p/1220532</a></p>
</li>
<li>
<p>基础科普篇 | 麦克风的基本类型</p>
<p><a href="http://www.mifanxing.com/p/1224261">http://www.mifanxing.com/p/1224261</a></p>
</li>
<li>
<p>米饭星</p>
<p><a href="http://www.mifanxing.com/">http://www.mifanxing.com/</a></p>
</li>
<li>
<p>调音台入门</p>
<p><a href="http://www.360doc.com/content/15/0913/20/310177_498924146.shtml">http://www.360doc.com/content/15/0913/20/310177_498924146.shtml</a></p>
</li>
<li>
<p>从零开始学习百灵达X32数字调音台</p>
<p><a href="https://www.bilibili.com/video/BV1YW411A7KP?from=search&#x26;seid=9940274748369006634">https://www.bilibili.com/video/BV1YW411A7KP?from=search&#x26;seid=9940274748369006634</a></p>
</li>
<li>
<p>学习控制调音台（如图）应该怎样入门？有哪些资源推荐？</p>
<p><a href="https://www.zhihu.com/question/49812575">https://www.zhihu.com/question/49812575</a></p>
</li>
<li>
<p>一、音控摘要</p>
</li>
</ul>
<p>PA 系统</p>
<p>PA的定义：所谓的PA从不同专业层面理解有所不同，Professional Audio或Public Adress，也就是公共广播，PA的要求就是用高效率音响传达讯息给听众，所管的只是声音有传递出去，有被听众所接受到，至于好不好听就没有特别要求了。</p>
<p>要有好听的声音，因此出现了分音路高音质高效率的扬声器，让演唱会的声音可以更清楚且不失真的传到听众耳朵。</p>
<p>再来就是监听系统的诞生，在以前是没有监听系统的，所以乐手很难听到自己的声音，而监听系统的出现等于给了在台上表演的乐手另一对耳朵，让他们可以清楚地听到自己的声音。</p>
<p>早期的音响没有SR，因此演唱会上的音控师做的工作比较像是SR而不是PA（Public Adress），因为他们是要把好听的声音传递给听众，而不是单纯的把声音大声地播放出来而已。而表演当中P.A.人员却对这些并非从头到尾一直存在的声音浑然不觉缺乏敏感，也都可能大大影响到整体演出的水平。</p>
<p>随着时代潮流与科技的进步发现了以往的PA系统已经不符合听众高层次的需求了，因此才有SR强化声音的角色出现，SR的要求就不是单纯的把声音传递出去了，但可能是因为SR的观念比较少人知道。</p>
<p>除了让每个正在演奏中的乐器都尽可能能够被清晰听见在走什么旋律声线之外，每个段落该特别强调什么乐器的表现，哪一小节轮到谁站到前排Solo，她的声音就刚好适时地被推出来，这就已经需要先有一定程度的熟悉了。</p>
<p>光是在舞台上送到乐手耳中的监听喇叭中，每个乐手彼此要求需要听到哪些乐器音量的不同比例，就可能直接影响到乐团在台上会不会因为听不清楚某些声音而导致掉拍或走音的重大失误了。而台下会众所听到的声音，都是音控台将领会者、演唱者、贝司、爵士鼓、钢琴的声音讯号都以最适当的比例，传送到所有会众。</p>
<p><a href="https://www.sohu.com/a/337233846_99991918">https://www.sohu.com/a/337233846_99991918</a></p>]]></content:encoded>
            <author>moselikk@gmail.com (Moselikk)</author>
        </item>
        <item>
            <title><![CDATA[录音-演出（设备）]]></title>
            <link>https://www.moselikk.com/blog/voice-recording-equipment</link>
            <guid>https://www.moselikk.com/blog/voice-recording-equipment</guid>
            <pubDate>Fri, 28 May 2021 13:35:00 GMT</pubDate>
            <description><![CDATA[录音-演出（设备）]]></description>
            <content:encoded><![CDATA[<ul>
<li><a href="https://www.exound.com/articles/5abee606-444d-4a87-8f51-98225e63fb5b">离开美国产品，我们还能不能做音乐？</a>（叉烧网）</li>
</ul>
<p><img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/Untitled.png" alt="	https://less-1251975755.cos.ap-beijing.myqcloud.com/Untitled.png" loading="lazy" decoding="async"></p>
<ul>
<li><a href="https://www.exound.com/articles/cfcfd67e-a988-4b97-a473-c4f0dc87c614">“迷你线阵”：RunningMan SRM Flex 评测</a></li>
</ul>
<p><img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/Untitled%201.png" alt="	https://less-1251975755.cos.ap-beijing.myqcloud.com/Untitled%201.png" loading="lazy" decoding="async"></p>
<ul>
<li><a href="https://www.exound.com/articles/b6d10aed-bde3-4dcf-9a5d-dde00b8de519">揭开模块合成器神秘面纱！每个人都可以玩的 Reaktor 6.3 ！</a></li>
</ul>
<p><img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/Untitled%202.png" alt="	https://less-1251975755.cos.ap-beijing.myqcloud.com/Untitled%202.png" loading="lazy" decoding="async"></p>
<ul>
<li><a href="https://www.exound.com/articles/fb3f82a7-ac2a-402b-b00d-14edbde7ef2b">Radial 各系产品使用指南【移动设备篇】</a></li>
</ul>
<p><img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/Untitled%203.png" alt="	https://less-1251975755.cos.ap-beijing.myqcloud.com/Untitled%203.png" loading="lazy" decoding="async"></p>
<p><img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/Untitled%204.png" alt="	https://less-1251975755.cos.ap-beijing.myqcloud.com/Untitled%204.png" loading="lazy" decoding="async"></p>
<ul>
<li><a href="https://www.exound.com/articles/749a000a-e7e2-4505-b78e-36639bc4d138">实用的现场演出拾音技巧</a></li>
</ul>
<p><img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/Untitled%205.png" alt="	https://less-1251975755.cos.ap-beijing.myqcloud.com/Untitled%205.png" loading="lazy" decoding="async"></p>
<ul>
<li><a href="https://www.exound.com/articles/48c8343e-1fa7-478e-8947-cc1fc37523a2">比悲伤更悲伤的事，就是不知道怎么选DI盒</a></li>
</ul>
<p><img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/Untitled%206.png" alt="	https://less-1251975755.cos.ap-beijing.myqcloud.com/Untitled%206.png" loading="lazy" decoding="async"></p>
<ul>
<li><a href="https://www.exound.com/articles/8aef0f76-6d87-409d-a227-b631a6f08183">怡生好产品全面助力 2020 Hello崇礼·太舞·迷笛音乐季 Ι sE麦克风篇</a></li>
</ul>
<p><img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/Untitled%207.png" alt="	https://less-1251975755.cos.ap-beijing.myqcloud.com/Untitled%207.png" loading="lazy" decoding="async"></p>
<p><img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/Untitled%208.png" alt="	https://less-1251975755.cos.ap-beijing.myqcloud.com/Untitled%208.png" loading="lazy" decoding="async"></p>
<p><img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/Untitled%209.png" alt="	https://less-1251975755.cos.ap-beijing.myqcloud.com/Untitled%209.png" loading="lazy" decoding="async"></p>
<p><img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/Untitled%2010.png" alt="	https://less-1251975755.cos.ap-beijing.myqcloud.com/Untitled%2010.png" loading="lazy" decoding="async"></p>]]></content:encoded>
            <author>moselikk@gmail.com (Moselikk)</author>
        </item>
        <item>
            <title><![CDATA[无线电 A 类操作证考试难题本]]></title>
            <link>https://www.moselikk.com/blog/radio-certification</link>
            <guid>https://www.moselikk.com/blog/radio-certification</guid>
            <pubDate>Wed, 03 Mar 2021 02:12:00 GMT</pubDate>
            <description><![CDATA[无线电 A 类操作证考试难题本]]></description>
            <content:encoded><![CDATA[<p>📻</p>
<ul>
<li>A类业余无线电台允许发射的发射频率为：30-3000MHz范围内的各业余业务和卫星业余业务频段</li>
<li>申请设置业余无线电台应当具备的条件有：熟悉无线电管理规定、具备国家规定的操作技术能力、发射设备符合国家技术标准、法律和行政法规规定的其他条件</li>
<li>按照《业余电台管理办法》规定，申请设置使用配备有多台业余无线电发射设备的业余无线电台，应该：视为一个业余电台，指配一个电台呼号，但所有设备均应经过核定并将参数载入电台执照</li>
<li>个人申请设置业余无线电台应当提交的书面材料为：两种表格，身份证和操作证书的原件、复印件</li>
<li>设置在省、自治区、直辖市范围内通信的业余无线电台，审批机构为：设台地的地方无线电管理机构</li>
<li>业余无线电台执照有效期届满后需要继续使用的，应当在下列期限内向核发执照的无线电管理机构申请办理延续手续：有效期届满一个月前</li>
<li>业余无线电台使用的发射设备必须符合下列条件：商品设备应当具备《无线电发射设备型号核准证》，自制、改装、拼装设备应通过国家相关技术标准的检测</li>
<li>对业余无线电台专用无线电发射设备进行型号核准的依据为：国家《无线电频率划分规定》中有关无线电发射设备技术指标的规定</li>
<li>频率容限是发射设备的重要指标，通常用下述单位来表示：百万分之几（或者赫兹）</li>
<li>杂散域发射功率是发射设备的重要指标，通常用下述单位来表示：绝对功率dBm、低于载波发射功率的分贝值dBc、低于PEP发射功率的相对值dB</li>
<li>辐射（radiation）是指任何源的能量流以无线电波的形式向外发出。正确的说法是：闪电产生的电磁波干扰是一种辐射</li>
<li>业余无线电专用发射设备必须满足的主要技术指标要求包括：频率容限和杂散辐射不超过限值，发射频率不超出国家规定的业余频率</li>
<li>业余无线电台在业余业务、卫星业余业务作为次要业务使用的频率或者与其他主要业务共同使用的频率上发射操作时，应当注意：遵守无线电管理机构对该频率的使用规定</li>
<li>在无线电管理中，由国家将某个特定的频带列入频率划分表，规定该频带可在指定的条件下供业余业余业务或者卫星业余业务使用，这个过程称为：划分</li>
<li>在无线电管理中，将无线电频率或频道规定由一个或多个部门，在指定的区域内供地面或空间无线电通信业务在指定条件下使用，这个过程称为：分配</li>
<li>在无线电管理中，将无线电频率或频道批准给具体的业余无线电台在规定条件下使用，这个过程称为：指配</li>
<li>VHF段的频率范围是多少？30到300MHz</li>
<li>UHF段的频率范围是多少？300到3000MHz</li>
<li>HF段的频率范围是多少？3到30MHz</li>
<li>我国分配给业余业务和卫星业余业务专用的频段有：7MHz、14MHz、21MHz、28MHz、47GHz频段</li>
<li>我国分配给业余业务和卫星业余业务与其他业务共用、并且业余业务和卫星业余业务作为主要业务的VHF和UHF频段有：50MHz、144MHz</li>
<li>我国分配给业余业务和卫星业余业务与其他业务共用、并且业余业务和卫星业余业务作为唯一主要业务的频段的个数以及在3GHz以下的该类频段分别为：3个，144-146MHz</li>
<li>我国分配给业余业务和卫星业余业务与其他业务共用、并且业余业务和卫星业余业务作为次要业务的1200MHz以下频段有：135.7kHz、10.1MHz、430MHz</li>
<li>俗称的6米业余波段的频率范围以及业余业务和卫星业余业务的使用状态分别为：50-54MHz，主要业务</li>
<li>俗称的2米业余波段的频率范围以及我国业余业务和卫星业余业务的使用状态分别为：144-148MHz；其中144-146MHz为唯一主要业务，146-148MHz为与其他业务共同作为主要业务</li>
<li>俗称的0.7米业余波段的频率范围以及业余业务和卫星业余业务的使用状态分别为：430-440MHz，次要业务</li>
<li>在我国和多数其他国家的频率分配中，业余业务在430-440MHz频段中作为次要业务与其他业务共用。这个频段中我国分配的主要业务是：无线电定位和航空无线电导航</li>
<li>VHF业余无线电台在144MHz频段进行本地联络时应避免占用的频率为：144-144.035MHz和145.8-146MHz</li>
<li>UHF业余无线电台在430MHz频段进行本地联络时应避免占用的频率为：431.9-432.240MHz和435-438MHz</li>
<li>430MHz业余频段中留给业余卫星通信使用，话音及其他通信方式不应占用的频率段为：435MHz至438MHz</li>
<li>144MHz业余频段中留给业余卫星通信使用，话音及其他通信方式不应占用的频率段为：145.8MHz至146MHz</li>
<li>业余电台通信受到违法电台或者不明电台的有害干扰。正确的做法是：不予理睬，收集有关信息并向无线电管理机构举报</li>
<li>填写和邮寄QSL卡片时的正确做法有：迫切需要方卡回寄卡片时，应直接向对方地址邮寄卡片并附加SASE</li>
<li>对擅自设置、使用业余无线电台的单位或个人，国家无线电管理机构或者地方无线电管理机构可以根据其具体情况给予下列处罚：警告、查封或者没收设备、没收非法所得；情节严重的，可以并处一千元以上，五千元以下的罚款</li>
<li>超出核定范围使用频率或者有其他违反频率管理有关规定的行为的，无线电管理机构可以根据其具体情况给予设置业余无线电台的单位或个人下列处罚：责令限期改正，可以处警告或者三万元以下的罚款</li>
<li>询问“有人使用频率吗”？确认没有应答方能发起呼叫。下列英语短句中不能正确表达这一询问的是：Calling you, Roger？</li>
<li>业余电台之间进行通信，必须相互正确发送和接收的信息为：本台呼号、对方呼号、信号报告</li>
<li>“谁在呼叫我”的业余无线电通信Q简语为：QRZ?</li>
<li>我的电台位置是××××”的业余无线电通信Q简语为：QTH</li>
<li>……，国家无线电管理机构或者地方无线电管理机构可以根据其具体情况给予设置业余无线电台的单位或个人下列处罚：警告、查封或者没收设备、没收非法所得；情节严重的，可以并处一千元以上，五千元以下的罚款；（出现三万元时）选三万元。</li>
<li>业余电台违反无线电管制命令和无线电管制指令的，可以依法规受到下列处罚： 责令改正；拒不改正的，关闭、查封、暂扣或者拆除相关设备；情节严重的，吊销电台执照；违反治安管理规定的，由公安机关处罚</li>
<li>业余无线电常用缩语“ARDF”的意思是：业余无线电测向</li>
<li>业余无线电通信常用缩语“OM”的意思是：老朋友</li>
<li>“电台设备”的业余无线电通信常用缩语是：RIG</li>
<li>收信机”的业余无线电通信常用缩语是：RCVR，RX</li>
<li>发信机”的业余无线电通信常用缩语是：TX、XMTR</li>
<li>收发信机”的业余无线电通信常用缩语是：XCVR</li>
<li>业余无线电通信常用缩语“WX”的意思是：天气</li>
<li>业余无线电通信常用缩语“73”的意思是：向对方的致意、美好的祝愿</li>
<li>业余无线电通信中常用的天线种类的缩写DP代表：偶极天线</li>
<li>业余无线电通信中常用的天线种类的缩写GP代表：垂直接地天线</li>
<li>业余无线电通信中常用的天线种类的缩写BEAM代表：定向天线</li>
<li>业余无线电通信中常用的天线种类的缩写YAGI代表：八木天线</li>
<li>业余无线电通信中常用的天线种类的缩写VER代表：垂直天线</li>
<li>我国所属的“CQ分区”有：23,24,27</li>
<li>ITU分区”是IARU的活动计算通信成绩的基础。我国所属的“ITU分区”有：33、42、43、44、50（最长的）</li>
<li>业余无线电通信常用的梅登海德网格定位系统网格名称的格式为：2个字母和2位数字、2个字母和2位数字再加2个字母</li>
<li>5W可以表示为：37dBm</li>
<li>0.25W可以表示为：54dBμ</li>
<li>0.4kW可以表示为：86dBμ</li>
<li>电阻元件的“额定功率”参数是指：该元件正常工作时所能承受的最大功率</li>
<li>用通常的调频方式进行话音通信，必要带宽约为：6.25kHz</li>
<li>可以组成完整无线电接收系统的功能部件组合是：接收天线、解调器、输出部件</li>
<li>可以组成完整无线电发信系统的功能部件组合是：射频振荡器、调制器、发射天线</li>
<li>在整个频谱内具有连续的均匀频率分量的信号是：单个无限窄脉冲</li>
<li>包含多个频率分量的信号通过滤波器会发生下列现象：频率失真</li>
<li>下列几种图表中，最容易用来表达和解释模拟FM调制原理的是：频谱图</li>
<li>对于给定的FM发射设备，决定其射频输出信号实际占用带宽的因素是：所传输信号的最高频率越高、幅度越大，射频输出占用带宽越宽</li>
<li>无线电发射机的效率是指：输出到天线系统的信号功率与发射机所消耗的电源功率之比</li>
<li>静噪灵敏度是指：能够使静噪电路退出静噪状态的射频信号最小输入电平</li>
<li>衰减是指信号通过信道或电路后功率减少，衰落是指信号通过信道或电路后发生幅度随时间而起伏</li>
<li>无线电发信机在无调制情况下，在一个射频周期内供给天线馈线的平均功率称为：载波功率</li>
<li>调频发射机在发射的语音信号上附加一个人耳听不到的低频音频，用来打开接收机的静噪。这一技术的常用名词是：CTCSS</li>
<li>下列哪一项决定了FM信号的频偏？取决于被调制信号的幅度</li>
<li>下列哪一项术语表述了接收机区分不同信号的能力？选择性</li>
<li>以下哪种语音调制常被用于长距离弱信号的VHF或UHF联络？SSB</li>
<li>在给业余收发信机供电的整流电源中，开关电源可以做得比变压器直接降压整流的线性电源轻巧是因为：开关电源中变压器的工作频率高得多，可以缩小磁性材料截面和减少线圈匝数</li>
<li>由半波长偶极天线和馈电电缆构成的天馈系统，理想的工作状态是：天线上只有驻波，馈线上只有行波</li>
<li>在零仰角附近具有主辐射瓣的垂直接地天线，其振子的长度应为：1/4波长的奇数倍</li>
<li>在为业余电台选购射频电缆作为天线馈线时，最重要的两项电气参数是：特性阻抗和工作频率下单位长度的传输功率损耗</li>
<li>通常把垂直偶极天线或者垂直接地天线称为“全向天线”，是因为：它们在水平方向没有指向性，但在立体空间有方向性</li>
<li>振子电气长度为1/4波长的垂直接地天线的最大辐射方向为：在水平方向没有指向性，在垂直方向指向水平面</li>
<li>垂直接地天线（GP）的构造为电气长度为1/4波长的垂直振子加一个“接地”反射体，因其简单而被大量应用于手持和车载业余电台，但这种天线的实际工作情况往往与理论值相差较大，尤其在频率较低的频段。最常见的原因和改善办法是：缺乏有效的接地反射体。GP天线必须有足够大的接地反射体来形成振子镜像，否则谐振频率和阻抗都将与理论值有显著偏差，应尽量用大面积金属体与天线的接地端直接连接（选最长的）</li>
<li>增益指标以dBi为单位。其意义为：“相对于无方向性点源天线的增益”（理想点源天线）</li>
<li>增益指标以dBd为单位。其意义为：“相对于半波长偶极子天线的增益”</li>
<li>增益指标以dB为单位。其意义为：没有说清楚计算增益所采用的比较基准，缺乏实际意义</li>
<li>两款VHF垂直全向天线，用作发射。甲天线增益4.5dBd，乙天线增益为5.85dBi。它们在远处某接收天线中形成的信号功率差为：甲信号比乙信号强0.8dB</li>
<li>两款VHF垂直全向天线，用作发射。甲天线增益2.9dBd，乙天线增益为5.85dBi。它们在远处某接收天线中形成的信号功率差为：乙信号比甲信号强0.8dB</li>
<li>在业余无线电通信中，“驻波比”通常用来衡量：负载与传输线的匹配质量</li>
<li>天线与馈线完美匹配时，在驻波表中显示的驻波比是？1:1</li>
<li>和固体电介质同轴电缆相比，空气电介质同轴电缆的劣势是什么？空气电介质电缆要采取特别的手段来防止水分进入电缆</li>
<li>下列关于直立天线的陈述，哪一项是正确的？该天线发射的电磁波电场垂直于地面</li>
<li>就大多数手持电台随机附送的“橡皮天线”来说，它的劣势是什么？相对于全尺寸天线，它的发射和接收效率较低</li>
<li>天线的增益是什么意思？相对于参考天线，在某一方向上信号强度的增加</li>
<li>业余无线电普遍使用的同轴电缆的特性阻抗是？50欧姆</li>
<li>为什么同轴电缆在业余无线电界的使用相对于其他馈线来说更多？因为它使用方便，与周围环境之间的相互影响小</li>
<li>通过同轴电缆的信号频率越高，通常产生什么影响？损耗越高</li>
<li>对于400MHz以上的信号，通常会使用的同轴电缆连接器是：N型连接器</li>
<li>下列馈线中，哪一种在VHF和UHF频段的损耗最小？空气介质同轴硬电缆</li>
<li>常用业余频段的电波在同轴电缆中的传播速度大约是：真空波速的0.65倍</li>
<li>无线电波在自由空间中的传播路径损耗遵循下列规律：与距离的平方成正比，与频率的平方成正比（两个平方）</li>
<li>地波是沿地面传播的无线电波，其衰减因子取决于：电波频率、地面导电率和传播距离（地面导电率）</li>
<li>决定超短波视距传播距离极限的主要因素是：发射天线和接收天线离地面的相对高度值</li>
<li>多径传播对UHF波段或VHF波段数据通信的影响是：可能使误码率增大</li>
<li>如果你收到了一个从上千公里以外的距离传播过来的VHF信号，最可能的原因是：信号被突发E电离层反射过来</li>
<li>下列哪一个缩写经常在无线电工程文章中用来代表各种类型的无线电波？RF</li>
<li>收发信机面板上或设置菜单中的符号VOX代表什么功能？发信机声控，接入后将根据对话筒有无语音输入的判别自动控制收发转换</li>
<li>收发信机中的PTT是指什么信号？按键发射，有信号（一般为对地接通）时发射机由等待转为发射</li>
<li>收发信机面板上或设置菜单中的符号SQL代表什么功能？静噪控制，检测到接收信号低于一定电平时关断音频输出</li>
<li>有些调频接收机的参数设置菜单有NFM和WFM两种选择。它们的含义是：NFM为窄带调频方式，适用于信道带宽25kHz/12.5kHz的通信信号；WFM为宽带调频方式，适用于接收信道带宽180kHz左右的广播信号</li>
<li>缩写DTMF指的是：双音多频编码，由8个音调频率中的两个频率组合成的控制信号，代表16种状态之一，用于遥控和传输数字等简单字符</li>
<li>缩写CTCSS指的是：亚音调静噪，即从67-250.3Hz的38个亚音调频率中选取一个作为选通信号，代表38种状态之一，接收机没有收到特定的选通信号时自动关闭音频输出</li>
<li>关于是否可以在FM话音通信时单凭接收机听到对方语音的音量大小来准确判断对方信号的强弱，正确答案及其理由是：不能。因为鉴频输出大小只取决于射频信号的频偏，而且正常信号的幅度会被限幅电路切齐到同样大小</li>
<li>用设置在NFM方式的对讲机接收WFM信号，其效果为：可以听到信号，但当调制信号幅度较大、音调较高时会发生明显非线性失真</li>
<li>调频接收机没有接收到信号时，会输出强烈的噪声。关于这种噪声的描述是：由天线背景噪声和【机内电路噪声】的随机频率变化经鉴频形成，其大小与天线接收到的背景噪声幅度无关</li>
<li>如果业余中继台发射机被断断续续的干扰信号所启动，夹杂着不清楚的语音，根据覆盖区内其他业余电台的监听，确定中继台上行频率并没有电台工作。则：可能是中继台附近的两个其他发射机的强信号在中继台上行频率造成了互调干扰</li>
<li>如果对方报告你的调频电台发射的信号听起来失真严重、可辨度差，可能的原因是：三项都可能</li>
<li>“全频偏”和“半频偏”的选择，其表示的意义是：分别表示信道间隔为25kHz或者12.5kHz</li>
<li>家用微波炉一般的工作频带是：UHF（特高频）</li>
<li>移动车载电台通常使用的电源电压是？约12伏特</li>
<li>一般环境条件下允许持续接触的“安全特低电压”为：24V</li>
<li>要防止业余HF发射机的杂散发射干扰天线附近的电话机，应该在电话机和电话线之间之间串联：截止频率不高于1MHz的低通滤波器</li>
<li>按照我国国家标准《电磁辐射防护规定》，凡其功率大于豁免水平（3MHz以上等效辐射功率100瓦）的一切电磁波辐射体的所有者，必须：向所在地区的环境保护部门申报、登记，并接受监督</li>
<li>我国国家标准《电磁辐射防护规定》规定电磁辐射公众照射导出限值中，对环境电磁辐射场强一天24小时内任意6分钟内的平均值要求最严格的频率范围为：30MHz- 3GHz</li>
</ul>]]></content:encoded>
            <author>moselikk@gmail.com (Moselikk)</author>
        </item>
        <item>
            <title><![CDATA[区分 KB、MB、Mbps、Mb/s、MB/s]]></title>
            <link>https://www.moselikk.com/blog/KB-MB-Mbps</link>
            <guid>https://www.moselikk.com/blog/KB-MB-Mbps</guid>
            <pubDate>Sat, 13 Feb 2021 02:12:00 GMT</pubDate>
            <description><![CDATA[区分 KB、MB、Mbps、Mb/s、MB/s]]></description>
            <content:encoded><![CDATA[<p>存储/数据传输常用单位换算关系
<img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/202202011152926.png" alt="" loading="lazy" decoding="async"></p>
<ul>
<li>家庭宽带一般所述如 100M 宽带，此处M通常指 Mbps(Mbps = Mb/s)，按上图换算关系 100M 宽带理论下载速度满速为 12.5MB/s(100/8)</li>
</ul>
<p><img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/202202011159997.png" alt="" loading="lazy" decoding="async"></p>
<ul>
<li>
<p>**计算机中的位(bit):**二进制数系统中，每个0或1就是一个位(bit)，位是数据存储的最小单位。其中8bit就称为一个字节（Byte）。计算机中的CPU位数指的是CPU一次能处理的最大位数。例如32位计算机的CPU一次最多能处理32位(bit)数据(4Byte)。</p>
</li>
<li>
<p>**字节（Byte）:**是通过网络传输信息（或在硬盘或内存中存储信息）的单位。字节是计算机信息技术用于计量存储容量和传输容量的一种计量单位，1个字节等于8位二进制。在 ASCII 码中，一个英文字母（不分大小写）占一个字节的空间，一个中文汉字占两个字节的空间。英文标点占一个字节，中文标点占两个字节。</p>
</li>
<li>
<p><strong>KB:</strong> 是计算机中表储存容量大小的单位，用中文表示就是“千字节” 。</p>
</li>
<li>
<p><strong>MB:</strong> 就是兆字节，就是一种存储单位，1MB=1024KB</p>
</li>
<li>
<p><strong>字符:</strong> 字符是可使用多种不同字符方案或代码页来表示的抽象实体。例如：Unicode UTF-16 编码将字符表示为 16 位整数序 Unicode UTF-8 编码则将相同的字符表示为 8 位字节序列。公共语言运行库使用 Unicode UTF-16（Unicode 转换格式，16 位编码形式）表示字符。要弄清字符要想弄清字.你问什么是字符?那你怎么不问什么是字呢?字符就好像一个统称.</p>
</li>
</ul>]]></content:encoded>
            <author>moselikk@gmail.com (Moselikk)</author>
        </item>
        <item>
            <title><![CDATA[CLI 工具]]></title>
            <link>https://www.moselikk.com/blog/15-CLI-tools</link>
            <guid>https://www.moselikk.com/blog/15-CLI-tools</guid>
            <pubDate>Tue, 02 Feb 2021 07:23:00 GMT</pubDate>
            <description><![CDATA[CLI 工具]]></description>
            <content:encoded><![CDATA[<h2 id="一包管理工具">一、包管理工具</h2>
<blockquote>
<p>包管理器或包管理系统是一系列软件工具的集合, 这些软件工具用和电脑操做系统一致的方式, 使应用的安装, 升级, 配置和删除软件包的过程自动化, 它一般维护一个数据库软件的依赖和版本信息, 防止软件不匹配和没法跟踪.</p>
</blockquote>
<h3 id="1-homebrew--maclinux软件安装工具">1. Homebrew — Mac&#x26;Linux软件安装工具</h3>
<ul>
<li>安装</li>
</ul>
<blockquote>
<p>Homebrew会将软件包安装到独立目录，并将其文件软连接至/usr/localHomebrew不会将文件安装到它自己目录以外，因此您可将Homebrew安装到任意位置</p>
</blockquote>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D"> #! 安装</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">/bin/bash</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -c</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> "$(</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">curl</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -fsSL</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"</span></span></code></pre></div>
<ul>
<li>基础命令</li>
</ul>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">brew</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> install</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> xxx</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">    #! 安装xxx软件</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">brew</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> uninstall</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> xxx</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  #! 卸载xxx软件</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">brew</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> outdated</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">       #! 查询可更新的包</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">brew</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> search</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> /xxx/</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">   #! 搜索xxx软件包 </span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">brew</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> search</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> /wge</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">*</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">/</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">  #!*表示模糊搜索 </span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">brew</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> list</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> xxx</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">       #! 显示已安装软件列表</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">brew</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> update</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">         #! 更新brew，把所有的Formula目录更新，并且会对本机已经安装并有更新的软件用*标明</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">brew</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> upgrade</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">        #! 更新所有包</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">brew</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> upgrade</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> xxx</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">    #! 更新xxx软件</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">brew</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> cleanup</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">        #! 清理所有包旧版本</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">brew</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> cleanup</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -n</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">     #! 查看可清理的旧包版本，不执行实际操作</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">brew</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> cleanup</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> xxx</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">    #! 清理xxx包的旧版本</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">brew</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> info</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> xxx</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">       #! 查看xxx软件信息</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">brew</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> deps</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> xxx</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">       #! 查看xxx包依赖</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">brew</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> pin</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> xxx</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">        #! 锁定xxx包</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">brew</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> unpin</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> xxx</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">      #! 取消锁定xxx包</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">brew</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> help</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">           #! 帮助</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">brew</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -v</span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">             #! Homebrew版本</span></span>
<span class="line"></span></code></pre></div>
<ul>
<li>卸载Homebrew</li>
</ul>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">cd</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> brew</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --prefix</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">rm</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -rf</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> Cellar</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">brew</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> prune</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">rm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> git</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> ls-files</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">rm</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -r</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> Library/Homebrew</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> Library/Aliases</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> Library/Formula</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> Library/Contributions</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">rm</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -rf</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> .git</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">rm</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -rf</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> ~/Library/Caches/Homebrew</span></span></code></pre></div>
<ul>
<li>Tips</li>
</ul>
<aside>
💡 homebrew本身就是一个git仓库。使用homebrew安装软件包时，会自动先下载软件包，然后解压安装，但有时候下载会卡住，或者很慢，这个时候你可以通过其他工具先将所需的软件包下载 下来，注意版本一定要对应，homebrew放置软件包源码的路径为/Library/Caches/Homebrew/，只要你将所需要的软件包下载正 确的版本，放置在此目录下，那么再使用brew install xxx的时候，brew就能直接安装了，有时候brew install xxx卡在下载界面，这招很管用
</aside>
<h3 id="2-macports--用于在mac-操作系统上编译安装和升级基于命令行x11-或-aqua-的开源软件">2. MacPorts — 用于在<a href="http://www.apple.com/macos/">Mac 操作系统</a>上编译、安装和升级基于命令行、X11 或 Aqua 的开源软件</h3>
<blockquote>
<p>MacPorts类似与apt-get以及yum等软件包管理工具，可以方便的进行安装与卸载软件的功能，同时可以自动安装软件包的依赖，非常方便，同类的还有brew等工具。</p>
</blockquote>
<blockquote>
<p>Mac下面除了用dmg、pkg来安装软件外，比较方便的还有用MacPorts来帮助你安装其他应用程序，跟BSD中的ports道理一样。MacPorts就像apt-get、yum一样，可以快速安装些软件。</p>
</blockquote>
<h3 id="nvm-nodejs安装版本管理工具">nvm Node.js安装版本管理工具</h3>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">#安装最新稳定版node</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">$</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> nvm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> install</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> stable</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> </span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">#安装指定版本node</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">$</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> nvm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> install</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">versio</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">n</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  </span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">#临时版本 - 只在当前窗口生效指定版本</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">$</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> nvm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> use</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">versio</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">n</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  </span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">#永久版本 - 所有窗口生效指定版本</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">$</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> nvm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> alias</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> default</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">versio</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">n</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">#查看当前node版本及npm版本</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">$</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> nvm</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> use</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> system</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  </span></span></code></pre></div>
<h3 id="4-npm--js世界的包管理工具">4. npm — JS世界的包管理工具</h3>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>                Node.js 平台的默认包管理工具</span></span></code></pre></div>
<h3 id="5-yarn--包管理工具">5. yarn — 包管理工具</h3>
<h3 id="5-pip---python-平台的默认包管理工具">5. pip —  Python 平台的默认包管理工具</h3>
<h2 id="二常用cli工具">二、常用CLI工具</h2>
<h3 id="1文件下载工具-wget">1.文件下载工具 wget</h3>
<blockquote>
<p>GNU Wget 是一种网络实用程序，可使用 HTTP 和 FTP 这两种最广泛使用的 Internet 协议从万维网上检索文件。它以非交互方式工作，因此可以在注销后在后台工作。该程序支持对 Web 创作页面和 FTP 站点的递归检索——您可以使用 Wget 制作档案和主页的镜像，或者像 WWW 机器人一样在 Web 上移动，检查损坏的链接。</p>
</blockquote>
<aside>
🌐 [http://www.gnu.org/software/wget/](http://www.gnu.org/software/wget/)
</aside>
<blockquote>
<p>手册 <a href="https://www.gnu.org/software/wget/manual/">https://www.gnu.org/software/wget/manual/</a></p>
</blockquote>
<p>使用方法：</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">wget</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> [option]… [URL]…</span></span></code></pre></div>
<p>指令：</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">启动：</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -V,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --version</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">                   显示</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> Wget</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 的版本信息并退出</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -h,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --help</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">                      打印此帮助</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -b,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --background</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">                启动后转入后台</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -e,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --execute=命令</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">              运行一个“.wgetrc”风格的命令</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">日志和输入文件：</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -o,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --output-file=文件</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">          将日志信息写入</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> FILE</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -a,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --append-output=文件</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">        将信息添加至</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> FILE</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -d,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --debug</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">                     打印大量调试信息</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -q,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --quiet</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">                     安静模式</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (无信息输出)</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -v,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --verbose</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">                   详尽的输出</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (此为默认值)</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -nv,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --no-verbose</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">                关闭详尽输出，但不进入安静模式</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --report-speed</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">类型</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">         以</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">类</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">型</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 报告带宽。类型可以是</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> bits</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -i,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --input-file=文件</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">           下载本地或外部</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">文</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">件</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 中的</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> URL</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -F,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --force-html</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">                把输入文件当成</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> HTML</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 文件</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -B,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --base=URL</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">                  解析相对于</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> URL</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 的</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> HTML</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 输入文件链接</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (-i </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">-F</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --config</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">文件</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">               指定要使用的配置文件</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --no-cookies</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">                不读取任何配置文件</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --rejected-log</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">文件</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">         将拒绝</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> URL</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 的原因写入</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">文</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">件</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">。</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">下载：</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -t,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --tries=数字</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">                设置重试次数为</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">数</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">字</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (0 </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">代表无限制</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --retry-connrefused</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">         即使拒绝连接也是重试</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --retry-on-http-error</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">ERRORS</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">    提供以逗号分隔的列表，列出遇到时进行重试的</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> HTTP</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 错误</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -O,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --output-document=文件</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">      将文档写入</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> FILE</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -nc,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --no-clobber</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">                不要下载已存在将被覆盖的文件</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --no-netrc</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">                  不要尝试从</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> .netrc</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 获取凭据</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -c,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --continue</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">                  断点续传下载文件</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --start-pos</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">偏移量</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">          从由零计数的</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">偏移</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">量</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 开始下载</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --progress</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">类型</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">             选择进度条类型</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --show-progress</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">             在任意啰嗦状态下都显示进度条</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -N,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --timestamping</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">              只获取比本地文件新的文件</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --no-if-modified-since</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">      不要在时间戳</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (timestamping) 模式下使用</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">                                     if-modified-since get 条件请求</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --no-use-server-timestamps</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">  不用服务器上的时间戳来设置本地文件</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -S,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --server-response</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">           打印服务器响应</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --spider</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">                    不下载任何文件</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -T,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --timeout=SECONDS</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">           将所有超时设为</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> SECONDS</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 秒</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --dns-timeout</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">SECS</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">          设置</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> DNS</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 查寻超时为</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> SECS</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 秒</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --connect-timeout</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">SECS</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">      设置连接超时为</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> SECS</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 秒</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --read-timeout</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">SECS</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">         设置读取超时为</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> SECS</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 秒</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -w,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --wait=SECONDS</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">              wait</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> SECONDS</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> between</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> retrievals</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">                                     (</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">applies</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> if</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> more</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> then</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 1</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> URL</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> is</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> to</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> be</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> retrieved</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --waitretry</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">SECONDS</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">         wait</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 1..SECONDS</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> between</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> retries</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> of</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> a</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> retrieval</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">                                     (</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">applies</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> if</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> more</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> then</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 1</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> URL</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> is</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> to</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> be</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> retrieved</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --random-wait</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">               wait</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> from</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 0.5</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">*</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">WAIT...1.5</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">*</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">WAIT</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> secs</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> between</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> retrievals</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">                                     (</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">applies</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> if</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> more</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> then</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 1</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> URL</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> is</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> to</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> be</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> retrieved</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --no-proxy</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">                  禁止使用代理</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -Q,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --quota=数字</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">                设置获取配额为</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">数</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">字</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 字节</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --bind-address</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">ADDRESS</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">      绑定至本地主机上的</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> ADDRESS</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (主机名或是 </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">IP</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --limit-rate</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">RATE</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">           限制下载速率为</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> RATE</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --no-dns-cache</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">              关闭</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> DNS</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 查询缓存</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --restrict-file-names</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">系统</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  限定文件名中的字符为</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">系</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">统</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 允许的字符</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --ignore-case</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">               匹配文件/目录时忽略大小写</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -4,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --inet4-only</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">                仅连接至</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> IPv4</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 地址</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -6,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --inet6-only</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">                仅连接至</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> IPv6</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 地址</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --prefer-family</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">地址族</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">      首先连接至指定家族（IPv6，IPv4</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 或</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> none）的地址</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --user</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">用户</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">                 将</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> ftp</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 和</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> http</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 的用户名均设置为</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">用</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">户</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --password</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">密码</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">             将</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> ftp</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 和</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> http</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 的密码均设置为</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">密</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">码</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --ask-password</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">              提示输入密码</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --use-askpass</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">命令</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">          指定用于请求用户名和密码的凭据管理器。</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">                                     如果没有提供指定命令，程序将使用</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> WGET_ASKPASS</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 或</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">                                     SSH_ASKPASS</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 环境变量。</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --no-iri</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">                    关闭</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> IRI</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 支持</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --local-encoding</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">ENC</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">        使用</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> ENC</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 作为</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> IRI</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (国际化资源标识符) 的本地编码</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --remote-encoding</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">ENC</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       使用</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> ENC</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 作为默认远程编码</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --unlink</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">                    覆盖前移除文件</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --xattr</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">                     在文件的拓展属性中储存元数据</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">目录：</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -nd,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --no-directories</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">            不创建目录</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -x,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --force-directories</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">         强制创建目录</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -nH,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --no-host-directories</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">       不要创建主</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (host) 目录</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --protocol-directories</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">      在目录中使用协议名称</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -P,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --directory-prefix=前缀</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">     保存文件到</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">前</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">缀</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">/..</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --cut-dirs</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">数字</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">             忽略远程目录中</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">数</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">字</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 个目录层。</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">HTTP</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 选项：</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --http-user</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">用户</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">            设置</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> http</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 用户名为</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">用</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">户</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --http-password</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">密码</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">        设置</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> http</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 密码为</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">密</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">码</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --no-cache</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">                  不使用服务器缓存的数据。</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --default-page</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">NAME</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">         改变默认页</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (通常是“index.html”)。</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -E,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --adjust-extension</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">          以合适的扩展名保存</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> HTML/CSS</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 文档</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --ignore-length</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">             忽略头部的‘Content-Length’区域</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --header</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">字符串</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">             在头部插入</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">字符</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">串</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --compression</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">类型</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">          选择压缩类型，值可以为</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> auto、gzip</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 和</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> none。（默认：none）</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --max-redirect</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">              每页所允许的最大重定向</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --proxy-user</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">用户</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">           使用</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">用</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">户</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 作为代理用户名</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --proxy-password</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">密码</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       使用</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">密</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">码</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 作为代理密码</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --referer</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">URL</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">               在</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> HTTP</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 请求头包含‘Referer:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> URL’</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --save-headers</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">              将</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> HTTP</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 头保存至文件。</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -U,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --user-agent=代理</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">           标识自己为</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">代</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">理</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 而不是</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> Wget/VERSION。</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --no-http-keep-alive</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">        禁用</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> HTTP</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> keep-alive</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (持久连接)。</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --no-cookies</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">                不使用</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> cookies。</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --load-cookies</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">文件</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">         会话开始前从</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">文</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">件</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 中载入</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> cookies。</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --save-cookies</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">文件</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">         会话结束后保存</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> cookies</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 至</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> FILE。</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --keep-session-cookies</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">      载入并保存会话</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (非永久) cookies。</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --post-data</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">字符串</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">          使用</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> POST</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 方式；把</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">字</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">串</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">作为数据发送。</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --post-file</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">文件</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">            使用</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> POST</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 方式；发送</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">文</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">件</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 内容。</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --method</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">HTTP方法</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">           在请求中使用指定的</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">HTTP</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 方</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">法</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">。</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --post-data</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">字符串</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">          把</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">字</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">串</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 作为数据发送，必须设置</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --method</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --post-file</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">文件</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">            发送</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">文</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">件</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 内容，必须设置</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --method</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --content-disposition</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">       当选择本地文件名时允许</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> Content-Disposition</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">                                   头部</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (实验中)。</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --content-on-error</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">          在服务器错误时输出接收到的内容</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --auth-no-challenge</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">         不先等待服务器询问就发送基本</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> HTTP</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 验证信息。</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">HTTPS</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (SSL/TLS) 选项：</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --secure-protocol</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">PR</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">         选择安全协议，值可以是</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> auto、SSLv2、</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">                                    SSLv3、TLSv1、TLSv1_1、TLSv1_2</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 或</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> PFS</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --https-only</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">                 只跟随安全的</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> HTTPS</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 链接</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --no-check-certificate</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">       不要验证服务器的证书。</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --certificate</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">文件</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">           客户端证书文件。</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --certificate-type</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">类型</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">      客户端证书类型，PEM</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 或</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> DER。</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --private-key</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">文件</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">           私钥文件。</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --private-key-type</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">类型</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">      私钥文件类型，PEM</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 或</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> DER。</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --ca-certificate</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">文件</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">        带有一组</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> CA</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 证书的文件。</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --ca-directory</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">DIR</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">           保存</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> CA</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 证书的哈希列表的目录。</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --ca-certificate</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">文件</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">        带有一组</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> CA</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 证书的文件。</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --pinnedpubkey</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">文件/散列值</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  用于验证节点的公钥（PEM/DER）文件或</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">                                   任何数量的</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> sha256</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 散列值，以</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> base64</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 编码、</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">                                   “sha256//”</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 开头、用“</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">”间隔</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --random-file</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">文件</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">           用于初始化</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> SSL</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 伪随机数生成器（PRNG）的文件，</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">                                      应含有随机数据</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --ciphers</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">STR</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">           直接设置</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> priority</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> string</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (GnuTLS) 或 cipher list string (</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">OpenSSL</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)。</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">                                   请小心使用。该选项会覆盖</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --secure-protocol。</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">                                   其具体格式和字符串语法取决于对应的</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> SSL/TLS</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 引擎。</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">HSTS</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 选项：</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --no-hsts</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">                   禁用</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> HSTS</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --hsts-file</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">                 HSTS</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 数据库路径（将覆盖默认值）</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">FTP</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 选项：</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --ftp-user</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">用户</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">             设置</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> ftp</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 用户名为</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">用</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">户</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">。</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --ftp-password</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">密码</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">         设置</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> ftp</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 密码为</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">密</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">码</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --no-remove-listing</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">         不要删除‘.listing’文件</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --no-glob</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">                   不在</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> FTP</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 文件名中使用通配符展开</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --no-passive-ftp</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">            禁用“passive”传输模式</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --preserve-permissions</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">      保留远程文件的权限</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --retr-symlinks</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">             递归目录时，获取链接的文件</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (而非目录)</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">FTPS</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 选项：</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --ftps-implicit</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">                 使用隐式</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> FTPS（默认端口</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 990）</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --ftps-resume-ssl</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">               打开数据连接时继续控制连接中的</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> SSL/TLS</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 会话</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --ftps-clear-data-connection</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">    只加密控制信道；数据传输使用明文</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --ftps-fallback-to-ftp</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">          回落到</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> FTP，如果目标服务器不支持</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> FTPS</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">WARC</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 选项：</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --warc-file</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">文件名</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">          在一个</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> .warc.gz</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 文件里保持请求/响应数据</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --warc-header</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">字符串</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">        在头部插入</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">字符</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">串</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --warc-max-size</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">数字</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">        将</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> WARC</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 的最大尺寸设置为</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> &#x3C;</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">数</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">字</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --warc-cdx</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">                  写入</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> CDX</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 索引文件</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --warc-dedup</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">文件名</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">         不要记录列在此</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> CDX</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 文件内的记录</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --no-warc-compression</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">       不要</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> GZIP</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 压缩</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> WARC</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 文件</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --no-warc-digests</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">           不要计算</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> SHA1</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 摘要</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --no-warc-keep-log</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">          不要在</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> WARC</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 记录中存储日志文件</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --warc-tempdir</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">目录</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">         WARC</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 写入器的临时文件目录</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">递归下载：</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -r,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --recursive</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">                 指定递归下载</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -l,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --level=数字</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">                最大递归深度</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (inf </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">或</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 0</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 代表无限制，即全部下载</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)。</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --delete-after</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">              下载完成后删除本地文件</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -k,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --convert-links</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">             让下载得到的</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> HTML</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 或</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> CSS</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 中的链接指向本地文件</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --convert-file-only</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">         只转换</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> URL</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 的文件部分（一般叫做“基础名”/basename）</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --backups</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">N</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">                 写入文件</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> X</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 前，轮换移动最多</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> N</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 个备份文件</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -K,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --backup-converted</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">          在转换文件</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> X</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 前先将它备份为</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> X.orig。</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -m,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --mirror</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">                    -N</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -r</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> -l</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> inf</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --no-remove-listing</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 的缩写形式。</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -p,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --page-requisites</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">           下载所有用于显示</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> HTML</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 页面的图片之类的元素。</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --strict-comments</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">           用严格方式</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (SGML) 处理 HTML 注释。</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">递归接受/拒绝：</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -A,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --accept=列表</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">               逗号分隔的可接受的扩展名列表</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -R,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --reject=列表</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">               逗号分隔的要拒绝的扩展名列表</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --accept-regex</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">REGEX</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">        匹配接受的</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> URL</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 的正则表达式</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --reject-regex</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">REGEX</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">        匹配拒绝的</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> URL</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 的正则表达式</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --regex-type</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">类型</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">           正则类型</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (posix)</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -D,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --domains=列表</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">              逗号分隔的可接受的域名列表</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --exclude-domains</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">列表</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">      逗号分隔的要拒绝的域名列表</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --follow-ftp</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">                跟踪</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> HTML</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 文档中的</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> FTP</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 链接</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --follow-tags</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">列表</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">          逗号分隔的跟踪的</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> HTML</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 标识列表</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">       --ignore-tags</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">列表</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">          逗号分隔的忽略的</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> HTML</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 标识列表</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -H,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --span-hosts</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">                递归时转向外部主机</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -L,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --relative</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">                  仅跟踪相对链接</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -I,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --include-directories=列表</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">  允许目录的列表</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">       --trust-server-names</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">        使用重定向</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> URL</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 的最后一段作为本地文件名</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -X,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">  --exclude-directories=列表</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">  排除目录的列表</span></span>
<span class="line"><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">  -np,</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> --no-parent</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">                 不追溯至父目录</span></span></code></pre></div>
<h3 id="2-curl--用于传输用-url-语法指定的数据">2. curl — 用于传输用 URL 语法指定的数据</h3>
<blockquote>
<p>curl 是常用的命令行工具，用来请求 Web 服务器。它的名字就是客户端（client）的 URL 工具的意思。它的功能非常强大，命令行参数多达几十种。如果熟练的话，完全可以取代 Postman 这一类的图形界面工具。</p>
</blockquote>
<blockquote>
<p><strong>curl</strong> is a tool for transferring data from or to a server. It supports these protocols: DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET or TFTP. The command is designed to work without user interaction.
curl offers a busload of useful tricks like proxy support, user authentication, FTP upload, HTTP post, SSL connections, cookies, file transfer resume and more. As you will see below, the number of features will make your head spin!
curl is powered by libcurl for all transfer-related features.</p>
</blockquote>
<p><strong>-limit-rate</strong></p>
<p><code>-limit-rate</code>用来限制 HTTP 请求和回应的带宽，模拟慢网速的环境。</p>
<p>-o</p>
<p><code>-o</code>参数将服务器的回应保存成文件，等同于<code>wget</code>命令。</p>
<p>-O</p>
<p><code>-O</code>参数将服务器回应保存成文件，并将 URL 的最后部分当作文件名。</p>
<h2 id="mac-web服务器">mac web服务器</h2>
<ul>
<li>sudo apachectl start</li>
<li>sudo apachectl stop</li>
<li>sudo apachectl restart</li>
</ul>
<p>Apache服务器默认的web根目录在：/Library/WebServer/Documents</p>
<p>Apache的配置文件在：/etc/apache2</p>
<p>浏览器输入：<a href="http://localhost/">http://localhost</a></p>]]></content:encoded>
            <author>moselikk@gmail.com (Moselikk)</author>
        </item>
        <item>
            <title><![CDATA[前端速查自用]]></title>
            <link>https://www.moselikk.com/blog/front-end-base</link>
            <guid>https://www.moselikk.com/blog/front-end-base</guid>
            <pubDate>Sun, 08 Nov 2020 02:56:00 GMT</pubDate>
            <description><![CDATA[前端速查自用]]></description>
            <content:encoded><![CDATA[<h2 id="html">HTML</h2>
<ol>
<li><strong>系统结构</strong>
<ul>
<li>
<p>B/S架构
Browser / Server</p>
</li>
<li>
<p>C/S架构
Client / Server</p>
<p><em>企业一般用B/S架构</em></p>
<p><em>游戏 、APP等用C/S架构</em></p>
</li>
</ul>
</li>
</ol>
<hr>
<ul>
<li>
<p>ASP是Active Server Page的缩写，意为“活动服务器网页”，ASP的网页文件的格式是.asp，现在常用于各种动态网站中。与HTML相比，ASP网页具有6大特点。
ASP是Active Server Page的缩写，意为“活动服务器网页”。ASP是微软公司开发的代替CGI脚本程序的一种应用,它可以与数据库和其它程序进行交互，是一种简单、方便的编程工具。ASP的网页文件的格式是.asp，现在常用于各种动态网站中。 ASP是一种服务器端脚本编写环境，可以用来创建和运行动态网页或web应用程序。ASP网页可以包含HTML标记、普通文本、脚本命令以及COM组件等。利用ASP可以向网页中添加交互式内容（如在线表单），也可以创建使用HTML网页作为用户界面的web应用程序。
与HTML相比，ASP网页具有以下特点：</p>
<ol>
<li>利用ASP可以实现突破静态网页的一些功能限制，实现动态网页技术；</li>
<li>ASP文件是包含在HTML代码所组成的文件中的，易于修改和测试；</li>
<li>服务器上的ASP解释程序会在服务器端制定ASP程序，并将结果以HTML格式传送到客户端浏览器上，因此使用各种浏览器都可以正常浏览ASP所产生的网页；</li>
<li>ASP提供了一些内置对象，使用这些对象可以使服务器端脚本功能更强。例如可以从web浏览器中获取用户通过HTML表单提交的信息，并在脚本中对这些信息进行处理，然后向web浏览器发送信息；</li>
<li>ASP可以使用服务器端ActiveX组建来执行各种各样的任务，例如存取数据库、发现哦那个Email或访问文件系统等。</li>
<li>由于服务器是将ASP程序执行的结果以HTML格式传回客户端浏览器，因此使用者不会看到ASP所编写的原始程序代码，可放置ASP程序代码被窃取。</li>
</ol>
</li>
<li>
<p>HTML ul li标签可用于菜单栏（apple官网 w3school）</p>
</li>
</ul>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    &#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">div</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> id</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"navfirst"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    &#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">ul</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> id</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"menu"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    &#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">li</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> id</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"h"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>&#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">a</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> href</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"/h.asp"</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> title</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"HTML 系列教程"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>HTML 系列教程&#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">a</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>&#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">li</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    &#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">li</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> id</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"b"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>&#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">a</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> href</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"/b.asp"</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> title</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"浏览器脚本教程"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>浏览器脚本&#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">a</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>&#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">li</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    &#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">li</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> id</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"s"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>&#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">a</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> href</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"/s.asp"</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> title</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"服务器脚本教程"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>服务器脚本&#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">a</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>&#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">li</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    &#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">li</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> id</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"p"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>&#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">a</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> href</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"/p.asp"</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> title</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"编程教程"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>编程教程&#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">a</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>&#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">li</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    &#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">li</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> id</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"x"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>&#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">a</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> href</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"/x.asp"</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> title</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"XML 系列教程"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>XML 系列教程&#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">a</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>&#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">li</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    &#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">li</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> id</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"w"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>&#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">a</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> href</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"/w.asp"</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> title</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"建站手册"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>建站手册&#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">a</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>&#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">li</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    &#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">li</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> id</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"r"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>&#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">a</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> href</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"/r.asp"</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> title</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"参考手册"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>参考手册&#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">a</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>&#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">li</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    &#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">ul</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    &#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">div</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span></code></pre></div>
<ul>
<li>
<p>JS使用事件监听器(一种事件绑定方式)时，使用函数时不带有'()'，因为'()'表示函数会在页面加载到这里时运行，而不是事件触发时执行。匿名函数不同，虽然也有小括号，但其只会在事件触发时执行。</p>
</li>
<li>
<p>JS将事件绑定的到元素的方式有三种：HTML事件处理程序（老式方法以不再使用，旧代码中可能会有）；传统的DOM事件处理程序：DOM监听器。</p>
</li>
<li>
<p>如果需要向事件处理程序或事件监听器所调用的函数传递参数，就需要把方法调用封装在“匿名函数”中。（将命名函数封装成匿名函数） 例：function() {checkUsername(5)}</p>
</li>
<li>
<p>value 值</p>
</li>
<li>
<p>source 源头，来源</p>
</li>
<li>
<p>element 元素，基本部分</p>
</li>
<li>
<p>event 事件</p>
</li>
<li>
<p>selector 选择器</p>
</li>
<li>
<p>node 节点</p>
</li>
<li>
<p>query 查询指令</p>
</li>
</ul>
<h2 id="javascript-的组成分为三个部分">JavaScript 的组成分为三个部分：</h2>
<ul>
<li>ECMAScript</li>
<li>DOM：标签元素相关的API</li>
<li>BOM：浏览器相关的API</li>
</ul>
<h2 id="nodejs-的组成分为">Node.js 的组成分为：</h2>
<ul>
<li><strong>ECMAScript</strong>。ECMAScript 的所有语法在 Node 环境中都可以使用。</li>
<li><strong>Node 环境</strong>提供的一些<strong>附加 API</strong>(包括文件、网络等相关的 API)。</li>
</ul>
<h2 id="form表单">Form表单</h2>
<ul>
<li><code>&#x3C;fieldset></code> 标签将表单里的内容进行打包，代表一组；而<code>&#x3C;legend></code>标签的则是 fieldset 里的元素定义标题。</li>
</ul>
<h3 id="表单属性"><strong>表单属性</strong></h3>
<ul>
<li><code>placeholder</code> 占位符（提示文字）</li>
<li><code>autofocus</code> 自动获取焦点</li>
<li><code>multiple</code> 文件上传多选或多个邮箱地址</li>
<li><code>autocomplete</code> 自动完成（填充的）。on 开启（默认），off 取消。用于表单元素，也可用于表单自身(on/off)</li>
<li><code>form</code> 指定表单项属于哪个form，处理复杂表单时会需要</li>
<li><code>novalidate</code> 关闭默认的验证功能（只能加给form）</li>
<li><code>required</code> 表示必填项</li>
<li><code>pattern</code> 自定义正则，验证表单。</li>
</ul>
<h3 id="表单事件"><strong>表单事件</strong></h3>
<ul>
<li><code>oninput()</code>：用户输入内容时触发，可用于输入字数统计。</li>
<li><code>oninvalid()</code>：验证不通过时触发。比如，如果验证不通过时，想弹出一段提示文字，就可以用到它。</li>
</ul>
<h2 id="多媒体"><strong>多媒体</strong></h2>
<p>在HTML5之前，在网页上播放音频/视频的通用方法是利用Flash来播放。但是大多情况下，并非所有用户的浏览器都安装了Flash插件，由此使得音频、视频播放的处理变得非常复杂；并且移动设备的浏览器并不支持Flash插件。H5里面提供了视频和音频的标签。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">audio</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> src</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"music/yinyue.mp3"</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> autoplay</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> controls</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">> &#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">audio</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span></code></pre></div>
<p><audio src="music/yinyue.mp3" autoplay controls> </audio></p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">video</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> src</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"video/movie.mp4"</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> controls</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> autoplay</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>&#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">video</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span></code></pre></div>
<p><video src="video/movie.mp4" controls autoplay></video></p>
<h2 id="dom-操作"><strong>DOM 操作</strong></h2>
<h3 id="获取元素"><strong>获取元素</strong></h3>
<ul>
<li><code>document.querySelector("selector")</code> 通过CSS选择器获取符合条件的第一个元素。</li>
<li><code>document.querySelectorAll("selector")</code> 通过CSS选择器获取符合条件的所有元素，以类数组形式存在。</li>
</ul>
<h3 id="类名操作"><strong>类名操作</strong></h3>
<ul>
<li><code>Node.classList.add("class")</code> 添加class</li>
<li><code>Node.classList.remove("class")</code> 移除class</li>
<li><code>Node.classList.toggle("class")</code> 切换class，有则移除，无则添加</li>
<li><code>Node.classList.contains("class")</code> 检测是否存在class</li>
</ul>
<h3 id="自定义属性"><strong>自定义属性</strong></h3>
<p>js 里可以通过 <code>box1.index=100;</code> <code>box1.title</code> 来自定义属性和获取属性。</p>
<p>H5可以直接在标签里添加自定义属性，<strong>但必须以 <code>data-</code> 开头</strong>。</p>
<h3 id="css关键词">CSS关键词</h3>
<p>BOX 盒模型</p>
<ul>
<li><code>width</code>宽&#x26;<code>height</code>高  <code>content</code>内容</li>
<li><code>padding</code>：内边距</li>
<li><code>border</code>：边框</li>
<li><code>margin</code>：外边距</li>
<li><code>border</code>属性：宽度 样式 颜色（样式：<code>solid</code>实线、<code>dashed</code>点画线、<code>dotted</code>虚线）</li>
</ul>
<p><strong>浮</strong></p>
<ul>
<li>float 浮动属性 （值：left right）</li>
</ul>
<p>定位属性</p>
<ul>
<li><code>position</code> 位置</li>
<li><code>absolute</code> 绝对的</li>
<li><code>relative</code> 相对的</li>
<li><code>fixed</code> 使···固定，确定的</li>
<li><code>flat</code>  水平的</li>
<li><code>infinite</code> 无限的</li>
<li><code>count</code>  数数</li>
<li><code>normal</code> 正常</li>
<li><code>alternate</code> 反向</li>
<li><code>steps</code> 迈步（动画不连续执行-间断执行）</li>
<li><code>opacity:</code> 0.3; 设置图片不透明度 值0-1 0:完全透明 1:完全不透明</li>
</ul>
<p>JS <strong>生成 [x, y) 之间的随机数</strong></p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">Math.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">round</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(Math.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">random</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">()</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(y</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">x)</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">+</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">x)</span></span></code></pre></div>
<h3 id="重要生成-x-y之间的随机整数"><strong>【重要】生成 [x, y]之间的随机整数</strong></h3>
<p>也就是说：生成两个整数之间的随机整数，<strong>并且要包含这两个整数</strong>。</p>
<p>这个功能很常用，我们可以将其封装成一个方法，代码实现如下：</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">    /*</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">    * 生成两个整数之间的随机整数，并且要包含这两个整数</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">    */</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    function</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> getRandom</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">min</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">max</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) {</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">        return</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> Math.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">floor</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(Math.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">random</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">() </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">*</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (max </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> min </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">+</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">+</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> min;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    }</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">getRandom</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">10</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">));</span></span></code></pre></div>
<h3 id="时间戳的定义和作用"><strong>时间戳的定义和作用</strong></h3>
<p><strong>时间戳</strong>：指的是从格林威治标准时间的<code>1970年1月1日，0时0分0秒</code>到当前日期所花费的<strong>毫秒数</strong>（1秒 = 1000毫秒）。</p>
<p>计算机底层在保存时间时，使用的都是时间戳。时间戳的存在，就是为了<strong>统一</strong>时间的单位。</p>
<p>我们经常会利用时间戳来计算时间，因为它更精确。而且，在实战开发中，接口返回给前端的日期数据，都是以时间戳的形式。</p>
<h3 id="获取当前时间的时间戳"><strong>获取当前时间的时间戳</strong></h3>
<p>如果我们要获取<strong>当前时间</strong>的时间戳，除了上面的几种方式之外，还有另一种方式。代码如下：</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// 方式六：获取当前时间的时间戳（很常用的写法）</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(Date.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">now</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">()); </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// 打印结果举例：1589448165370</span></span></code></pre></div>
<p>上面这种方式六，用得也很多。只不过，<code>Date.now()</code>是H5标准中新增的特性，如果你的项目需要兼容低版本的IE浏览器，就不要用了。这年头，谁还用IE呢？</p>
<h3 id="利用时间戳检测代码的执行时间"><strong>利用时间戳检测代码的执行时间</strong></h3>
<p>我们可以在业务代码的前面定义 <code>时间戳1</code>，在业务代码的后面定义 <code>时间戳2</code>。把这两个时间戳相减，就能得出业务代码的执行时间。</p>
<h3 id="举例1模拟日历"><strong>举例1：模拟日历</strong></h3>
<p>要求每天打开这个页面，都能定时显示当前的日期。</p>
<p>代码实现：</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">&#x3C;!</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">DOCTYPE</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> html</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">html</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    &#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">head</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> lang</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"en"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">        &#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">meta</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> charset</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"UTF-8"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> /></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">        &#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">title</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>&#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">title</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">        &#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">style</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">            div {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">                width: 800px;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">                margin: 200px auto;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">                color: red;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">                text</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">-</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">align: center;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">                font: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">600</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> 30px</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">/</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">30px </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'simsun'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">            }</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">        &#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">style</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    &#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">head</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    &#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">body</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">        &#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">div</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>&#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">div</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">        &#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">script</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">            //模拟日历</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">            //需求：每天打开这个页面都能定时显示年月日和星期几</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">            function getCurrentDate() {</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">                //1.创建一个当前日期的日期对象</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">                const date </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> Date</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">();</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">                //2.然后获取其中的年、月、日和星期</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">                const year </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> date.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">getFullYear</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">();</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">                const month </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> date.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">getMonth</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">();</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">                const hao </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> date.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">getDate</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">();</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">                const week </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> date.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">getDay</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">();</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">                //        console.log(year+" "+month+" "+hao+" "+week);</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">                //3.赋值给div</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">                const arr </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> [</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'星期日'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'星期一'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'星期二'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'星期三'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'星期四'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'星期五'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'星期六'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">];</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">                const div </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> document.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">getElementsByTagName</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'div'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)[</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">0</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">];</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">                return </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'今天是：'</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> year </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">+</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> '年'</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (month </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">+</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> 1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">) </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">+</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> '月'</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> hao </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">+</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> '日 '</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> +</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> arr[week];</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">            }</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">            const div = document.getElementsByTagName('div')[0];</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">            div.innerText = getCurrentDate();</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">        &#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">script</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    &#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">body</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">html</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span></code></pre></div>
<h3 id="数组">数组</h3>
<p><strong>使用字面量创建数组</strong></p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">var</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> arr1 </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> []; </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// 创建一个空的数组</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">var</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> arr2 </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> [</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">2</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">]; </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// 创建带初始值的数组</span></span></code></pre></div>
<p><strong>使用构造函数创建数组</strong></p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> arr </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> Array</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(参数);</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> arr </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> Array</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(参数);</span></span></code></pre></div>
<p>如果<strong>参数为空</strong>，则表示创建一个空数组；如果参数是<strong>一个数值</strong>时，表示数组的长度；如果有多个参数时，表示数组中的元素。</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// 方式一</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">var</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> arr1 </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> [</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">11</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">12</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">13</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">];</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// 方式二</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">var</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> arr2 </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> Array</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(); </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// 参数为空</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">var</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> arr3 </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> Array</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">4</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">); </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// 参数为一个数值</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">var</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> arr4 </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> new</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> Array</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">15</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">16</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">17</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">); </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// 参数为多个数值</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">typeof</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> arr1); </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// 打印结果：object</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'arr1 = '</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> +</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> JSON</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">stringify</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(arr1));</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'arr2 = '</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> +</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> JSON</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">stringify</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(arr2));</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'arr3 = '</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> +</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> JSON</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">stringify</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(arr3));</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'arr4 = '</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> +</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> JSON</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">stringify</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(arr4));</span></span></code></pre></div>
<p>结果：</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">object;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">arr1 </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> [</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">11</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">12</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">13</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">];</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">arr2 </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> [];</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">arr3 </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> [</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">null</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">null</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">null</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">null</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">];</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">arr4 </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> [</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">15</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">16</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">17</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">];</span></span></code></pre></div>
<ul>
<li><code>***JSON.stringify(arr)</code>  将数组转换为字符串       ————***!!!</li>
</ul>
<p>数组转字符串方式</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">字符串 </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> 数组.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">toString</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">();</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">字符串 </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> String</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(数组);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">字符串 </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> 数组.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">join</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">','</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">); </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// 将数组转为字符串，每一项用 英文逗号 分隔</span></span></code></pre></div>
<ul>
<li>
<p><code>A instanceof B</code>来判断 A 是否属于 B 类型</p>
</li>
<li>
<p><strong>数组合并的另一种方式</strong>：</p>
<p>我们可以使用<code>...</code>这种展开语法，将两个数组进行合并。举例如下：</p>
</li>
</ul>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> arr1</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> [</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">1</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">2</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">3</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">];</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> result</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> [</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'a'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'b'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'c'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">...</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">arr1];</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">JSON</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">stringify</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(result)); </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// 打印结果：["a","b","c",1,2,3]</span></span></code></pre></div>
<ul>
<li>数组排序</li>
</ul>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">&#x3C;!</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">DOCTYPE</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> html</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">html</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> lang</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"en"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    &#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">head</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">        &#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">meta</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> charset</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"UTF-8"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> /></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">        &#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">meta</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> name</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"viewport"</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> content</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"width=device-width, initial-scale=1.0"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> /></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">        &#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">title</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>Document&#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">title</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    &#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">head</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    &#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">body</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">        &#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">script</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">            let dataList = [</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">                {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">                    title: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'品牌鞋子，高品质低价入手'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">                    publishTime: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">200</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">                },</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">                {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">                    title: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'不是很贵，但是很暖'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">                    publishTime: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">100</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">                },</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">                {</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">                    title: </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'无法拒绝的美食，跟我一起吃吃'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">                    publishTime: </span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">300</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">                },</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">            ];</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">            console.log('example 排序前的数组：' + JSON.stringify(dataList));</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">            // 将dataList 数组，按照 publishTime 字段，从小到大排序。（会改变原数组）</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">            dataList.sort((a, b) => parseInt(a.publishTime) - parseInt(b.publishTime));</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">            console.log('example 排序后的数组：' + JSON.stringify(dataList));</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">        &#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">script</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    &#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">body</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">html</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span></code></pre></div>
<p>打印结果：</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">example 排序前的数组：[</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    {</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"title"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"窗前明月光"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"publishTime"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">200</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">},</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    {</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"title"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"疑是地上霜"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"publishTime"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">100</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">},</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    {</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"title"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"举头望明月"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"publishTime"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">300</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">]</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">example 排序后的数组：[</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    {</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"title"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"疑是地上霜"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"publishTime"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">100</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">},</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    {</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"title"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"窗前明月光"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"publishTime"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">200</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">},</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    {</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"title"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"举头望明月"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"publishTime"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">:</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF">300</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">}</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">]</span></span></code></pre></div>
<p>上方代码中，有人可能会问： publishTime 字段已经是 int 类型了，为啥在排序前还要做一次 parseInt() 转换？这是因为，这种数据，一般是后台接口返回给前端的，数据可能是 int 类型、也可能是字符串类型，所以还是统一先做一次 partInt() 比较保险。这是一种良好的工作习惯。</p>
<ul>
<li>将一个字符串数组输出为<code>|</code>分割的形式</li>
</ul>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">var</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> arr </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> [</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'jay'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'gem'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'jj'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">];</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(arr.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">join</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'|'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">));</span></span></code></pre></div>
<ul>
<li>
<p><strong>创建数组对象：</strong>
1.使用字面量创建数组        <code>var arr = [1,2,3];</code>
2.使用构造函数创建数组   <code>let arr = new Array(参数);</code></p>
</li>
<li>
<p>DOM设置节点的属性值</p>
</li>
</ul>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">		元素节点.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">setAttribute</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"属性名"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">, </span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"新的属性值"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">		//举例：</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">		myNode.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">setAttribute</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"src"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"images/3.jpg"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    myNode.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">setAttribute</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"class"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"image3-box"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    myNode.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">setAttribute</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"id"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">,</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"你好"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);</span></span></code></pre></div>
<ul>
<li><strong>如果是节点的“原始属性”</strong>（比如 普通标签的<code>class/className</code>属性、普通标签的<code>style</code>属性、普通标签的 title属性、img 标签的<code>src</code>属性、超链接的<code>href</code>属性等），<strong>方式1和方式2是等价的</strong>，可以混用。怎么理解混用呢？比如说：用 <code>div.title = '我是标题'</code>设置属性，用 <code>div.getAttribute('title')</code>获取属性，就是混用。
“非原始属性”，在使用这两种方式时，是有区别的。
非原始属性需要get值和set值必须使用同一种方法。</li>
<li>**innerHTML和innerText的区别
1.**value：标签的value属性。
2.<strong>innerHTML</strong>：双闭合标签里面的内容（包含标签）。
3.<strong>innerText</strong>：双闭合标签里面的内容（不包含标签）。（老版本的火狐用textContent）</li>
</ul>
<h2 id="es6">ES6</h2>
<h3 id="let-和-const-的特点重要"><strong>let 和 const 的特点【重要】</strong></h3>
<ul>
<li>不属于顶层对象 Window</li>
<li>不允许重复声明</li>
<li>不存在变量提升</li>
<li>暂时性死区</li>
<li>支持块级作用域</li>
</ul>
<p>相反， 用<code>var</code>声明的变量：存在变量提升、可以重复声明、<strong>没有块级作用域</strong>。</p>
<h3 id="varletconst-的共同点"><strong>var/let/const 的共同点</strong></h3>
<ul>
<li>全局作用域中定义的变量，可以在函数中使用。</li>
<li>函数中声明的变量，只能在函数及其子函数中使用，外部无法使用。</li>
</ul>
<h2 id="异步编程">异步编程</h2>
<h3 id="1浏览器兼容处理低版本的浏览器显示问题一直是前端开发人员头痛的问题之一移动设备兼容性较好ie6已经越来越少人用了服务器分类及php入门">1.浏览器兼容：处理低版本的浏览器显示问题一直是前端开发人员头痛的问题之一。移动设备兼容性较好，ie6已经越来越少人用了。<strong>服务器分类及PHP入门</strong></h3>
<h3 id="cs架构"><strong>C/S架构</strong></h3>
<p>是Client/Server这两个单词的首字母，指的是客户端，服务器。</p>
<p>优点:</p>
<ul>
<li>性能较高：可以将一部分的计算工作放在客户端上,这样服务器只需要处理数据即可。</li>
<li>界面酷炫:客户端可以使用更多系统提供的效果,做出更为炫目的效果。</li>
</ul>
<p>缺点:</p>
<ul>
<li>更新软件：如果有新的功能，就要推出新的版本。</li>
<li>不同设备访问：如果使用其他的电脑，没有安装客户端的话就无法登陆软件。</li>
</ul>
<h3 id="bs架构"><strong>B/S架构</strong></h3>
<p>是Browser/Server的这两个单词的首字母。指的是浏览器、服务器，是WEB兴起之后的一种架构。</p>
<p>现在所有的网站都是B/S架构，较为常见的例子有百度、知乎、网易云音乐Web等等，只需要通过浏览器即可使用.</p>
<p>优点：</p>
<ul>
<li>更新简洁：如果需要更新内容了,对开发人员而言需要更改服务器的内容，对用户而言只需要刷新浏览器即可。</li>
<li>多设备同步：所有数据都在网上,只要能够使用浏览器即可登录使用。</li>
</ul>
<p>缺点:</p>
<ul>
<li>性能较低：相比于客户端应用性能较低,但是随着硬件性能的提升,这个差距在缩小。</li>
<li>浏览器兼容：处理低版本的浏览器显示问题一直是前端开发人员头痛的问题之一。移动设备兼容性较好，ie6已经越来越少人用了。</li>
</ul>
<h2 id="服务器分类"><strong>服务器分类</strong></h2>
<p>项目开发时，有三套环境：</p>
<ul>
<li>Development 开发环境</li>
<li>Test 测试环境</li>
<li>Production 生产环境</li>
</ul>
<p>程序员平时干活儿用开发环境；开发完成后，部署到测试环境；测试完成后，产品上线，部署到生产环境。</p>
<p>三套环境意味着三个服务器。</p>
<h3 id="服务器类型"><strong>服务器类型</strong></h3>
<p>按类型分：</p>
<ul>
<li>文件服务器</li>
<li>数据库服务器</li>
<li>邮件服务器</li>
<li>Web 服务器等</li>
</ul>
<p>按软件分：</p>
<ul>
<li>Apache 服务器</li>
<li>Nginx 服务器</li>
<li>IIS 服务器</li>
<li>Tomcat 服务器</li>
<li>Node 服务器等</li>
</ul>
<p>按操作系统分：</p>
<ul>
<li>Linux服务器</li>
<li>Windows服务器等</li>
</ul>
<h3 id="服务器软件"><strong>服务器软件</strong></h3>
<p>**提供了某种服务的计算器，我们称之为服务器。**那么这些赋予计算器各种服务功能的软件主要有哪一些呢？</p>
<p>常见的服务器软件有：</p>
<ul>
<li>文件服务器：Server-U、FileZilla、VsFTP等
<em>ming: freeNAS</em></li>
<li>数据库服务器：Oracle、MySQL、PostgreSQL、MSSQL等；</li>
<li>邮件服务器：Postfix、Sendmail等；</li>
<li>HTTP 服务器：Apache（免费、开源）、Nginx、IIS（微软的.net服务器）、Tomcat（java编程的服务器）、NodeJS 等。</li>
</ul>
<h2 id="ajax">Ajax</h2>
<ul>
<li>
<p><strong>Ajax：Asynchronous Javascript And XML（异步 JavaScript 和 XML)</strong>
它并不是凭空出现的新技术，而是对于现有技术的结合。Ajax 的核心是 js 对象：<strong>XMLHttpRequest</strong>。</p>
</li>
<li>
<p><strong>发送 Ajax 请求的五个步骤</strong>：</p>
<p>（1）创建异步对象，即 XMLHttpRequest 对象。</p>
<p>（2）使用 open 方法设置请求参数。<code>open(method, url, async)</code>。参数解释：请求的方法、请求的 url、是否异步。第三个参数如果不写，则默认为 true。</p>
<p>（3）发送请求：<code>send()</code>。</p>
<p>（4）注册事件：注册 onreadystatechange 事件，状态改变时就会调用。</p>
<p>如果要在数据完整请求回来的时候才调用，我们需要手动写一些判断的逻辑。</p>
<p>（5）服务端响应，获取返回的数据。</p>
</li>
</ul>
<h2 id="deno">deno</h2>
<ul>
<li>deno为node.js作者做的 和node.js功能类似</li>
</ul>
<h2 id="定律haha">—定律—haha</h2>
<ul>
<li>Jeff Atwood 在 2007 年提出了著名的 Atwood 定律：<strong>任何能够用 JavaScript 实现的应用系统，最终都必将用 JavaScript 实现</strong>。 Jeff Atwood 是谁不重要（他是 Stack Overflow 网站的联合创始人），重要的是这条定律。</li>
</ul>
<h2 id="es6-1">ES6</h2>
<p>现在有了 ES6 语法，字符串拼接可以这样写：</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">var</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> name </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 'Taylor'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">    var</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> age </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> '18'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">;</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'name:'</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">+</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">name</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">+</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">',age:'</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">+</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">age);   </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">//传统写法</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">    console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">`name:${</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">name</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">},age:${</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">age</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">}`</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">);  </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">//ES6 写法</span></span></code></pre></div>
<p>注意，上方代码中，倒数第二行用的是单引号，最后一行用的是反引号（在tab键的上方）。</p>
<h2 id="组件">组件</h2>
<ul>
<li>组件：构成页面局部功能的代码和资源的集合</li>
</ul>
<h3 id="对象">对象</h3>
<ul>
<li>一般对象</li>
<li>数组对象</li>
<li>函数对象</li>
</ul>
<h2 id="jsx语法规则">JSX语法规则：</h2>
<ol>
<li>创建虚拟DOM时，不要写引号；</li>
<li>标签中要混入js表达式，要是用{}</li>
<li>标签中样式的类名要用className指定</li>
<li>标签中的内联样式要用<code>style=\{\{color:'white'\}\}</code>，注意属性名转为小驼峰</li>
<li>只能有一个根标签</li>
<li>标签必须闭合</li>
<li>关于标签首字母</li>
</ol>
<ul>
<li>若首字母小写，那么React就会去寻找与之同名的html标签
若找见，直接转为html同名元素
若未找见，报错</li>
<li>若首字母大写，那么React就会去寻找与之同名的组件
若找见，那么就是用组件
若未找见，报错</li>
</ul>
<h2 id="模板字符串">模板字符串</h2>
<p>模板字符串（template string）是增强版的字符串，用反引号（`）标识。它可以当作普通字符串使用，也可以用来定义多行字符串，或者在字符串中嵌入变量。</p>
<ul>
<li>示例：<code>我的名字是${name}</code></li>
</ul>
<h3 id="解构赋值">解构赋值</h3>
<ul>
<li>
<p>const {isHot} = this.state</p>
<p>对象和数组可以解构赋值</p>
<p>必须保证等号右边是对象或数组，对象用{}， 数组用[],逗号占位[,,3],拿的是第三个</p>
<p>实质是：const isHot = this.state.isHot</p>
<p>连续解构赋值：{state:{isHot}} = this</p>
</li>
<li>
<p>{isHot ? ‘炎热’ : ‘凉爽’}</p>
</li>
</ul>
<h3 id="react绑定事件监听">React绑定事件监听</h3>
<ol>
<li>React对原生事件进行了二次封装，使用小驼峰命名。例如：onClick</li>
<li>事件绑定函数用{}包裹，不可以加()，加了会立马执行。例如：onClick={show}</li>
<li>ES原生绑定事件有三种</li>
</ol>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;!</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">DOCTYPE</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> html</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">html</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">	&#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">head</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">		&#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">meta</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> charset</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"UTF-8"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> /></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">		&#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">title</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>Document&#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">title</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">	&#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">head</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">	&#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">body</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">		&#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">button</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> id</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"btn"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">>点我&#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">button</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">		&#x3C;</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">script</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0"> type</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">"text/javascript"</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> ></span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">			const</span><span style="--shiki-light:#005CC5;--shiki-dark:#79B8FF"> btn</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> document.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">getElementById</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF">'btn'</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">			btn.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">onclick</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583"> =</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> (</span><span style="--shiki-light:#E36209;--shiki-dark:#FFAB70">event</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">)</span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=></span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">{</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">				console.</span><span style="--shiki-light:#6F42C1;--shiki-dark:#B392F0">log</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">(event)</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">			}</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">			/* btn.addEventListener('click',()=>{</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">				alert(1)</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">			}) */</span></span>
<span class="line"></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">			/* function show() {</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">				alert(1)</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">			} */</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">		&#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">script</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">	&#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">body</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">&#x3C;/</span><span style="--shiki-light:#22863A;--shiki-dark:#85E89D">html</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">></span></span></code></pre></div>
<ul>
<li>类里边赋值语句，是增加类的属性，等号左边为属性名，等号右边为属性值</li>
</ul>
<h2 id="严格模式-use-strict">严格模式 ’use strict’</h2>
<ul>
<li>严格模式可以局部开启</li>
<li>类中所有定义的方法，浏览器在运行时 ，全都加上了 ‘ use strict’</li>
</ul>
<h2 id="js类">JS类</h2>
<ul>
<li>类里边的方法，都在类的原型上</li>
<li>改变this指向：call，apply，bind(更改this指向，但是不调用)</li>
</ul>
<h2 id="展开语法">...展开语法</h2>
<ul>
<li>
<p>可以展开数组，有@@iterator迭代器</p>
</li>
<li>
<p>...默认不能展开对象，但是包在另外一个对象里可以展开另一个对象。浅克隆对象</p>
<p>可以修改，合并对象</p>
</li>
<li>
<p>打包，拆包</p>
</li>
</ul>
<h3 id="回调函数三个特点">回调函数三个特点</h3>
<ol>
<li>自己定义的</li>
<li>自己没调用</li>
<li>得执行</li>
</ol>
<h3 id="箭头函数">箭头函数</h3>
<ul>
<li>箭头函数没有自的this，用this会向外层找</li>
<li>箭头函数只有一个参数可以省略()，只有一行代码可以省略{}</li>
</ul>
<h3 id="对象属性">对象属性</h3>
<ul>
<li>对象中的属性名都是字符串</li>
<li>操作对象属性，一种是Person.a  |  一种是Person[a] (可读变量)</li>
</ul>
<h2 id="对象简写方式">对象简写方式</h2>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> a </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#032F62;--shiki-dark:#9ECBFF"> 'abcde'</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> obj </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {a:a}</span></span>
<span class="line"><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">let</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> obj </span><span style="--shiki-light:#D73A49;--shiki-dark:#F97583">=</span><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8"> {a} </span><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">//变量与属性同名可简写</span></span></code></pre></div>
<h3 id="react状态提升">React状态提升</h3>
<ul>
<li>和兄弟组件公用的状态放在父组件，或祖组件里</li>
</ul>
<h3 id="jsx">JSX</h3>
<ul>
<li>JSX不能直接渲染对象，需要是数组</li>
</ul>
<h2 id="项目">项目</h2>
<ul>
<li>一般做项目在最开始写静态页面之前，要重置样式
github项目minireset.css</li>
</ul>]]></content:encoded>
            <author>moselikk@gmail.com (Moselikk)</author>
        </item>
        <item>
            <title><![CDATA[Mac 企业监管机屏蔽弹窗]]></title>
            <link>https://www.moselikk.com/blog/mac-MDM</link>
            <guid>https://www.moselikk.com/blog/mac-MDM</guid>
            <pubDate>Fri, 21 Aug 2020 09:33:00 GMT</pubDate>
            <description><![CDATA[Mac 企业监管机屏蔽弹窗]]></description>
            <content:encoded><![CDATA[<p>曾在某鱼购买 mac 被坑，买到企业监管机，虽然已经成功退货，但当时用那台机器折腾了下成功屏蔽了监管机弹窗，方法分享给有需要的人。</p>
<p>（TIPS: mac重装系统可以发现是不是监管机，大家买二手建议仔细甄别，尽量避免被忽悠，浪费时间和精力。）</p>
<ol>
<li>
<p>解除系统的rootless限制，即SIP（system integrity protection）系统完整性保护。
方法是：关机，按住【Cmd+R】键重启，进入recovery恢复模式，在菜单【实用工具】中打开终端，输入<code>csrutil disable</code>禁用它，然后查看<code>csrutil status</code>是否已经禁用成功，然后退出重启（输入<code>reboot</code>）,重新启动 。</p>
</li>
<li>
<p>正常进入系统，打开终端，尝试sudo nano或者sudo vi你的文件，看看能不能保存，如果还不行的话就执行sudo mount -uw /把系统挂载为可写，直到重启前都有效。
超级管理员权限Sudo -s
更改/System/Library/读写权限
是因为苹果系统认为这些文件太重要，于是就限定了所有被修改和操作的可能。注意这里限定是指restricted，而不是lock锁定。
使用<code>ls -lO /system/...filepath</code>可以查看到系统文件的属性中都带有restricted字样，这种文件sudo也动不了。
很多教程中说要改的plist文件都是限定的文件.</p>
</li>
<li>
<p>去应用介面，找到其他里的“终端”启用并插入以下代码：</p>
</li>
</ol>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span>sudo mkdir /System/Library/LaunchAgentsDisabled; sudo mkdir /System/Library/LaunchDaemonsDisabled; </span></span>
<span class="line"><span>sudo mv /System/Library/LaunchAgents/com.apple.ManagedClientAgent.agent.plist /System/Library/LaunchAgentsDisabled; </span></span>
<span class="line"><span>sudo mv /System/Library/LaunchAgents/com.apple.ManagedClientAgent.enrollagent.plist /System/Library/LaunchAgentsDisabled; </span></span>
<span class="line"><span>sudo mv /System/Library/LaunchDaemons/com.apple.ManagedClient.cloudconfigurationd.plist /System/Library/LaunchDaemonsDisabled; </span></span>
<span class="line"><span>sudo mv /System/Library/LaunchDaemons/com.apple.ManagedClient.enroll.plist /System/Library/LaunchDaemonsDisabled; </span></span>
<span class="line"><span>sudo mv /System/Library/LaunchDaemons/com.apple.ManagedClient.plist /System/Library/LaunchDaemonsDisabled; </span></span>
<span class="line"><span>sudo mv /System/Library/LaunchDaemons/com.apple.ManagedClient.startup.plist /System/Library/LaunchDaemonsDisabled</span></span></code></pre></div>
<ol start="4">
<li>设置完毕重新开启SIP
与关闭的步骤类似，只是在第一步中输入<code>csrutil enable</code>即可。</li>
</ol>]]></content:encoded>
            <author>moselikk@gmail.com (Moselikk)</author>
        </item>
        <item>
            <title><![CDATA[类 Unix 系统]]></title>
            <link>https://www.moselikk.com/blog/Unix-like-system</link>
            <guid>https://www.moselikk.com/blog/Unix-like-system</guid>
            <pubDate>Sun, 22 Sep 2019 03:12:00 GMT</pubDate>
            <description><![CDATA[类 Unix 系统]]></description>
            <content:encoded><![CDATA[<h2 id="386bsd-bsd系统">386BSD (BSD系统)</h2>
<h3 id="freebsd">FreeBSD</h3>
<h2 id="gnu">GNU</h2>
<h3 id="linuxgnulinux">Linux(GNU/Linux)</h3>
<ul>
<li>Ubuntu</li>
<li>Debian Linux</li>
<li>RedHat Linux</li>
<li>CentOS</li>
<li>Fedora</li>
<li>Kali Linux</li>
</ul>
<p><img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/Unix_history-simple.svg" alt="Unix_history-simple.svg" loading="lazy" decoding="async"></p>
<h3 id="linux-中的-diff-命令">Linux 中的 diff 命令</h3>
<p><code>diff</code> 是一个非常方便的命令。假定有两个文件，它们包含几乎相同的信息，你没有办法找出区别。</p>
<p><code>diff</code> 会处理文件，然后告诉你有差异的地方。</p>]]></content:encoded>
            <author>moselikk@gmail.com (Moselikk)</author>
        </item>
        <item>
            <title><![CDATA[VSCode 强制折叠代码块]]></title>
            <link>https://www.moselikk.com/blog/vscode-code-folding</link>
            <guid>https://www.moselikk.com/blog/vscode-code-folding</guid>
            <pubDate>Mon, 02 Sep 2019 14:10:00 GMT</pubDate>
            <description><![CDATA[VSCode 强制折叠代码块]]></description>
            <content:encoded><![CDATA[<p>开发中 vscode 有时注释代码块无法折叠
有时需要一次性折叠多个兄弟代码块
可使用以下注释标记进行折叠</p>
<div class="highlight"><pre class="shiki shiki-themes github-light github-dark" style="--shiki-light:#24292e;--shiki-dark:#e1e4e8;--shiki-light-bg:#fff;--shiki-dark-bg:#24292e" tabindex="0"><code><span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// #region</span></span>
<span class="line"><span style="--shiki-light:#24292E;--shiki-dark:#E1E4E8">  需要折叠的代码块</span></span>
<span class="line"><span style="--shiki-light:#6A737D;--shiki-dark:#6A737D">// #endregion</span></span></code></pre></div>]]></content:encoded>
            <author>moselikk@gmail.com (Moselikk)</author>
        </item>
        <item>
            <title><![CDATA[3DS 官方汉化游戏一览]]></title>
            <link>https://www.moselikk.com/blog/Chinese-3DS</link>
            <guid>https://www.moselikk.com/blog/Chinese-3DS</guid>
            <pubDate>Sat, 18 Aug 2018 13:00:00 GMT</pubDate>
            <description><![CDATA[3DS 官方汉化游戏一览]]></description>
            <content:encoded><![CDATA[<ul>
<li>
<h3 id="路易吉洋馆2">路易吉洋馆2</h3>
<h4 id="luigis-mansion-dark-moon">(Luigi's Mansion: Dark Moon)</h4>
<p><em>2013-03-20</em>  Nintendo 3DS  日本<br>
<img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/202108182021656.jpg" alt="Luigi&#x27;s Mansion: Dark Moon" loading="lazy" decoding="async"></p>
</li>
<li>
<h3 id="马力欧卡丁车-7">马力欧卡丁车 7</h3>
<h4 id="mario-kart-7">(Mario Kart 7)</h4>
<p><em>2011-12-01</em>  Nintendo 3DS  日本<br>
<img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/202108182023794.jpg" alt="Mario Kart 7" loading="lazy" decoding="async"></p>
</li>
<li>
<h3 id="名侦探皮卡丘">名侦探皮卡丘</h3>
<h4 id="detective-pikachu">(Detective Pikachu)</h4>
<p><em>2018-03-22</em>  Nintendo 3DS  日本<br>
<img src="https://less-1251975755.cos.ap-beijing.myqcloud.com/202108182018842.jpg" alt="Detective Pikachu" loading="lazy" decoding="async"></p>
</li>
</ul>]]></content:encoded>
            <author>moselikk@gmail.com (Moselikk)</author>
        </item>
        <item>
            <title><![CDATA[Welcome to myblog]]></title>
            <link>https://www.moselikk.com/blog/welcome-to-myblog</link>
            <guid>https://www.moselikk.com/blog/welcome-to-myblog</guid>
            <pubDate>Mon, 18 Jun 2018 12:00:00 GMT</pubDate>
            <description><![CDATA[Welcome to myblog]]></description>
            <content:encoded><![CDATA[<p>The first post.</p>]]></content:encoded>
            <author>moselikk@gmail.com (Moselikk)</author>
        </item>
    </channel>
</rss>