<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>其他</title>
    <link>https://llinux.cn/%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/%E5%85%B6%E5%AE%83/</link>
    <description>阿征的运维笔记</description>
    <language>zh</language>
    <atom:link href="https://llinux.cn/%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/%E5%85%B6%E5%AE%83/index.xml" rel="self" type="application/rss+xml" />
    
    <item>
      <title>ASCII &amp; Unicode</title>
      <link>https://llinux.cn/%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/%E5%85%B6%E5%AE%83/ascii--unicode/</link>
      
      <guid>https://llinux.cn/%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/%E5%85%B6%E5%AE%83/ascii--unicode/</guid>
      <description>&lt;h2 id=&#34;ascii&#34;&gt;ASCII&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#ascii&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;ASCII的全称是“美国信息交换标准代码”（American Standard Code for Information Interchange）。它是一种字符编码标准，使用7位二进制代码来表示文本和控制字符，用于计算机、通信设备和其他使用文本的设备之间的通信。ASCII最早在1960年代初开发，自那以后一直被广泛用作字符编码方案。&lt;/p&gt;&#xA;&lt;p&gt;以下是有关ASCII的一些关键点：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;字符集&lt;/strong&gt;：ASCII定义了一个包括控制字符（如回车和换行）和可打印字符（如字母、数字、标点符号和符号）在内的128个字符的集合。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;二进制表示&lt;/strong&gt;：每个ASCII字符都使用7位二进制数表示。这意味着有128个（2^7）可能的ASCII字符。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;兼容性&lt;/strong&gt;：ASCII与大多数现代字符编码系统兼容，包括UTF-8，它是一种可变长度编码，扩展了ASCII以支持更广泛的字符范围，包括来自其他语言的字符。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;：ASCII最初是为电信和早期计算机系统开发的。它仍然在各种应用中使用，特别是在计算机系统和编程语言中用于文本和控制代码的基本表示。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;扩展ASCII&lt;/strong&gt;：有ASCII的扩展版本，如ISO 8859-1（Latin-1）和Windows-1252，它们包括各种语言和符号的附加字符。这些扩展使用第八位（位7）来表示附加字符。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;限制&lt;/strong&gt;：ASCII仅支持英语语言和一些基本符号的表示。它不支持非拉丁文字，如中文、阿拉伯文或西里尔文的字符。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;以下是一些ASCII字符及其相应的十进制值的示例：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&amp;lsquo;A&amp;rsquo;在ASCII中表示为65。&lt;/li&gt;&#xA;&lt;li&gt;&amp;lsquo;a&amp;rsquo;在ASCII中表示为97。&lt;/li&gt;&#xA;&lt;li&gt;&amp;lsquo;0&amp;rsquo;在ASCII中表示为48。&lt;/li&gt;&#xA;&lt;li&gt;&amp;lsquo;$&amp;lsquo;在ASCII中表示为36。&lt;/li&gt;&#xA;&lt;li&gt;控制字符如“CR”（回车）和“LF”（换行）的十进制值分别为13和10。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;在现代计算中，ASCII已经在国际化和多语言应用方面被更广泛的字符编码标准如UTF-8取代或补充，UTF-8可以表示各种语言和脚本的广泛字符范围，因此更适用于国际化和多语言应用。&lt;/p&gt;&#xA;&lt;h2 id=&#34;unicode&#34;&gt;Unicode&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#unicode&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Unicode是一种字符编码标准，用于表示世界上几乎所有已知的书写系统中的字符（因此又称&lt;strong&gt;万国码&lt;/strong&gt;）。它旨在为全球各种语言、符号和表意文字提供一个统一的编码方案，以便计算机和其他设备能够正确地表示和处理这些字符。Unicode解决了传统字符编码标准（如ASCII和ISO 8859系列）的局限性，这些标准只能表示有限的字符集。&lt;/p&gt;&#xA;&lt;p&gt;以下是关于Unicode的一些关键信息：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;字符集&lt;/strong&gt;：Unicode定义了一个巨大的字符集，包括几乎所有世界上使用的书写系统的字符，以及许多特殊符号、表情符号和控制字符。它的字符范围从基本的拉丁字母到汉字、阿拉伯字母、希腊字母、数学符号等等。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;编码方案&lt;/strong&gt;：Unicode字符用唯一的代码点（code point）来表示。每个字符都有一个独一无二的整数值，称为代码点，通常以前缀&amp;quot;U+&amp;ldquo;加上十六进制数字表示，例如U+0041代表拉丁字母&amp;quot;A&amp;rdquo;。Unicode字符可以使用不同的编码方案来存储，最常见的编码方案之一是UTF-8。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;UTF-8&lt;/strong&gt;：UTF-8（Unicode Transformation Format - 8-bit）是一种可变长度的字符编码方案，用于将Unicode字符映射到字节序列。它是最常见的Unicode编码方案之一，在互联网和计算机系统中广泛使用。UTF-8可以表示所有Unicode字符，而且对英文字母和ASCII字符与传统的ASCII编码兼容。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;UTF-16&lt;/strong&gt;：UTF-16是另一种Unicode编码方案，它使用16位（两个字节）来表示大多数Unicode字符，但对于一些较大的字符（称为补充字符或代理对），需要使用两个16位编码单元来表示。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;UTF-32&lt;/strong&gt;：UTF-32使用32位（四个字节）来表示每个Unicode字符，确保每个字符都有相同的固定长度。这种编码方案在某些特定应用中使用，但通常需要更多的存储空间。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;应用领域&lt;/strong&gt;：Unicode在计算机应用程序、互联网、国际化软件、操作系统、数据库、移动设备和各种其他领域中得到广泛应用。它使不同语言之间的文本交互和处理变得更容易，同时也支持多语言和多文化的内容。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;Unicode的设计和维护由Unicode Consortium负责，该组织定期发布新版本的Unicode标准，以包含新字符和改进编码方案。这有助于确保Unicode继续适应不断发展的多语言和多文化需求。&lt;/p&gt;&#xA;&lt;h2 id=&#34;字符集与字符集编码&#34;&gt;字符集与字符集编码&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#%e5%ad%97%e7%ac%a6%e9%9b%86%e4%b8%8e%e5%ad%97%e7%ac%a6%e9%9b%86%e7%bc%96%e7%a0%81&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;字符集和字符集编码是两个不同层面的概念，尽管它们在字符处理和编码方面密切相关。让我们更详细地了解这两个概念：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;字符集（Character Set）&lt;/strong&gt;：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;二进制和字符的对应关系，不关注最终的存储形式&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;字符集是一种抽象概念，表示一组字符的集合。这些字符可以包括字母、数字、标点符号、符号、表情符号以及其他文本和控制字符。字符集是用于表示和识别文本字符的逻辑集合。&lt;/li&gt;&#xA;&lt;li&gt;例子：Unicode字符集包括世界上几乎所有已知的字符，从不同语言的字母到数学符号、表情符号等。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;字符集编码（Character Encoding）&lt;/strong&gt;：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;实现如何将字符转化为实际的二进制进行存储或相反，编码决定了空间的使用大小&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;字符集编码是将字符集中的字符映射到计算机内部使用的二进制数据的过程。它将字符集中的每个字符分配一个唯一的编码值或代码点，并定义了如何将这些编码值表示为字节序列。&lt;/li&gt;&#xA;&lt;li&gt;例子：UTF-8、UTF-16、ASCII等都是字符集编码，它们定义了如何将Unicode字符集中的字符表示为字节序列。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;关键区别：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;字符集是字符的抽象集合，用于描述可用字符的范围，而不涉及具体的二进制表示。&lt;/li&gt;&#xA;&lt;li&gt;字符集编码是字符集的实际物理表示，它将字符映射到具体的二进制值以便计算机能够处理和存储它们。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;在实际应用中，字符集编码是将字符集中的字符在计算机中进行传输、存储和处理所必需的，因为计算机只能理解和处理二进制数据。字符集编码定义了如何在计算机中表示字符，并确保字符可以正确地转换回原始字符集，以便进行文本的显示和处理。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Base64</title>
      <link>https://llinux.cn/%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/%E5%85%B6%E5%AE%83/base64/</link>
      
      <guid>https://llinux.cn/%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/%E5%85%B6%E5%AE%83/base64/</guid>
      <description>&lt;p&gt;Base64是一种二进制到文本的编码方案，通常用于将二进制数据表示为ASCII字符串格式。在Base64编码中，原始二进制数据中的每组连续三个字节会被转换为来自预定义的64个不同字符集中的四个字符。此编码用于确保数据可以安全地传输或存储在可能不支持所有类型二进制数据的系统中。&lt;/p&gt;&#xA;&lt;p&gt;Base64字符集包括26个大写字母（A-Z）、26个小写字母（a-z）、10个数字（0-9）和两个额外字符，通常是“+”和“/”。此外，还会使用填充字符（如“=”）以确保编码数据的总长度为四的倍数。&lt;/p&gt;&#xA;&lt;p&gt;编码过程涉及将二进制数据转换为一系列8位字节块，然后根据它们的数值将每个块映射到其对应的Base64字符。生成的Base64编码字符串是原始二进制数据的文本表示，可以通过基于文本的协议（如电子邮件、XML或URL）安全地传输，而无需担心字符被错误解释或引发问题。&lt;/p&gt;&#xA;&lt;p&gt;以下是一个简单的示例：&lt;/p&gt;&#xA;&lt;p&gt;假设我们要将字符串“Hello, World!”编码为Base64：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;将每个字符转换为其ASCII值：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&amp;lsquo;H&amp;rsquo; -&amp;gt; 72&lt;/li&gt;&#xA;&lt;li&gt;&amp;rsquo;e&amp;rsquo; -&amp;gt; 101&lt;/li&gt;&#xA;&lt;li&gt;&amp;rsquo;l&amp;rsquo; -&amp;gt; 108&lt;/li&gt;&#xA;&lt;li&gt;&amp;rsquo;l&amp;rsquo; -&amp;gt; 108&lt;/li&gt;&#xA;&lt;li&gt;&amp;lsquo;o&amp;rsquo; -&amp;gt; 111&lt;/li&gt;&#xA;&lt;li&gt;&amp;lsquo;,&amp;rsquo; -&amp;gt; 44（逗号）&lt;/li&gt;&#xA;&lt;li&gt;&amp;rsquo; &amp;rsquo; -&amp;gt; 32（空格）&lt;/li&gt;&#xA;&lt;li&gt;&amp;lsquo;W&amp;rsquo; -&amp;gt; 87&lt;/li&gt;&#xA;&lt;li&gt;&amp;lsquo;o&amp;rsquo; -&amp;gt; 111&lt;/li&gt;&#xA;&lt;li&gt;&amp;lsquo;r&amp;rsquo; -&amp;gt; 114&lt;/li&gt;&#xA;&lt;li&gt;&amp;rsquo;l&amp;rsquo; -&amp;gt; 108&lt;/li&gt;&#xA;&lt;li&gt;&amp;rsquo;d&amp;rsquo; -&amp;gt; 100&lt;/li&gt;&#xA;&lt;li&gt;&amp;lsquo;!&amp;rsquo; -&amp;gt; 33&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;将ASCII值转换为二进制表示：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;72 -&amp;gt; 01001000&lt;/li&gt;&#xA;&lt;li&gt;101 -&amp;gt; 01100101&lt;/li&gt;&#xA;&lt;li&gt;108 -&amp;gt; 01101100&lt;/li&gt;&#xA;&lt;li&gt;&amp;hellip;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;将二进制值合并为连续的字符串：&#xA;01001000 01100101 01101100 01101100 01101111 00101100 00100000 01010111 01101111 01110010 01101100 01100100 00100001&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>Jinja2</title>
      <link>https://llinux.cn/%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/%E5%85%B6%E5%AE%83/jinja2/</link>
      
      <guid>https://llinux.cn/%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/%E5%85%B6%E5%AE%83/jinja2/</guid>
      <description>&lt;h2 id=&#34;jinja2-语言&#34;&gt;jinja2 语言&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#jinja2-%e8%af%ad%e8%a8%80&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;http://jinja.pocoo.org/&#34;&gt;http://jinja.pocoo.org/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://jinja.palletsprojects.com/en/2.11.x/&#34;&gt;https://jinja.palletsprojects.com/en/2.11.x/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;字面量&#34;&gt;字面量&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#%e5%ad%97%e9%9d%a2%e9%87%8f&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;jinja2 语言使用字面量，有下面形式：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;字符串：使用单引号或双引号&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;数字：整数，浮点数&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;列表：[item1, item2, &amp;hellip;]&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;元组：(item1, item2, &amp;hellip;)&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;字典：{key1:value1, key2:value2, &amp;hellip;}&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;布尔型：true/false&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;算术运算：+, -, *, /, //, %, **&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;比较操作：==, !=, &amp;gt;, &amp;gt;=, &amp;lt;, &amp;lt;=&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;逻辑运算：and，or，not&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;流表达式：For，If，When&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;表达式最简单的形式就是字面量。字面量表示诸如字符串和数值的 Python 对象。如&amp;quot;Hello World&amp;quot;&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;双引号或单引号中间的一切都是字符串。无论何时你需要在模板中使用一个字符串（比如函数调用、过滤器或只是包含或继承一个模板的参数），如42，42.23&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;数值可以为整数和浮点数。如果有小数点，则为浮点数，否则为整数。在 Python 里， 42 和 42.0 是不一样的&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;算术运算&#34;&gt;算术运算&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#%e7%ae%97%e6%9c%af%e8%bf%90%e7%ae%97&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Jinja 允许用计算值。支持下面的运算符&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;+：把两个对象加到一起。通常对象是素质，但是如果两者是字符串或列表，你可以用这 种方式来衔接它们。无论如何这不是首选的连接字符串的方式！连接字符串见 ~ 运算符。 {{ 1 + 1 }} 等于 2&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;-：用第一个数减去第二个数。 {{ 3 - 2 }} 等于 1&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>JSON</title>
      <link>https://llinux.cn/%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/%E5%85%B6%E5%AE%83/json/</link>
      
      <guid>https://llinux.cn/%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/%E5%85%B6%E5%AE%83/json/</guid>
      <description>&lt;h2 id=&#34;json-概述&#34;&gt;JSON 概述&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#json-%e6%a6%82%e8%bf%b0&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;&lt;a href=&#34;https://www.json.org/&#34;&gt;https://www.json.org/&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;JSON（JavaScript Object Notation）是一种轻量级的数据交换格式，它是一种文本格式，用于表示结构化数据。JSON 最初是为 JavaScript 开发的，但已成为跨编程语言的通用数据格式，因为它易于阅读、编写和解析。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;数据结构&lt;/strong&gt;：JSON 数据以键值对的形式组织，其中键是字符串，值可以是字符串、数字、布尔值、对象、数组或 null。这种键值对的集合可以嵌套，以创建复杂的数据结构。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;用途&lt;/strong&gt;：JSON 在网络通信和数据交换中广泛使用，例如：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;在前端和后端之间传输数据，特别是在 AJAX 请求中。&lt;/li&gt;&#xA;&lt;li&gt;存储配置文件和数据。&lt;/li&gt;&#xA;&lt;li&gt;作为 RESTful API 的数据格式。&lt;/li&gt;&#xA;&lt;li&gt;在各种编程语言之间传递数据。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;注意事项：&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;JSON 不支持注释&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;json-数据类型&#34;&gt;JSON 数据类型&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#json-%e6%95%b0%e6%8d%ae%e7%b1%bb%e5%9e%8b&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;这些基本数据类型可以组合在一起，构成复杂的 JSON 结构，用于表示各种数据。例如，可以在对象中嵌套数组，或者在数组中包含对象，从而构建更复杂的数据结构。 JSON 是一种通用的数据格式，广泛用于数据交换和配置文件等场景。&lt;/p&gt;&#xA;&lt;h2 id=&#34;字符串string&#34;&gt;字符串（String）&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#%e5%ad%97%e7%ac%a6%e4%b8%b2string&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;字符串是由双引号 &lt;code&gt;&amp;quot;&lt;/code&gt; 包围的一串字符，可以有转义字符。&lt;/p&gt;&#xA;&lt;h3 id=&#34;范例---1&#34;&gt;范例 - 1&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#%e8%8c%83%e4%be%8b---1&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&#xA;&#xA;&#xA;&lt;div class=&#34;highlight code-sample&#34;&gt;&#xA;  &#xA;  &lt;div class=&#34;includecode&#34; &gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-json&#34; data-lang=&#34;json&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;Hello, World!&amp;#34;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/div&gt;&lt;h3 id=&#34;范例---2&#34;&gt;范例 - 2&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#%e8%8c%83%e4%be%8b---2&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h3&gt;&#xA;&lt;p&gt;JSON 字符串可以包含转义字符。转义字符是一种特殊的字符序列，以反斜杠符号 &lt;code&gt;\&lt;/code&gt; 开头，后跟一个字符，用于表示一些特殊字符或控制字符。以下是一些常见的 JSON 字符串转义字符：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;code&gt;\&amp;quot;&lt;/code&gt;：表示双引号字符 &lt;code&gt;&amp;quot;&lt;/code&gt;，用于在字符串中包含双引号。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;\\&lt;/code&gt;：表示反斜杠字符 &lt;code&gt;\&lt;/code&gt;，用于在字符串中包含反斜杠。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;\/&lt;/code&gt;：表示斜杠字符 &lt;code&gt;/&lt;/code&gt;，尽管 JSON 规范不要求转义斜杠，但它仍然可以被转义以增强字符串的可读性。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;\b&lt;/code&gt;：表示退格（backspace）字符。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;\f&lt;/code&gt;：表示换页符（form feed）字符。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;\n&lt;/code&gt;：表示换行符（newline）字符。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;\r&lt;/code&gt;：表示回车符（carriage return）字符。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;\t&lt;/code&gt;：表示制表符（tab）字符。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;例如，以下是一个包含转义字符的 JSON 字符串的示例：&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>yaml</title>
      <link>https://llinux.cn/%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/%E5%85%B6%E5%AE%83/yaml/</link>
      
      <guid>https://llinux.cn/%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/%E5%85%B6%E5%AE%83/yaml/</guid>
      <description>&lt;h2 id=&#34;yaml-语言概述&#34;&gt;yaml 语言概述&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#yaml-%e8%af%ad%e8%a8%80%e6%a6%82%e8%bf%b0&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;YAML（YAML Ain&amp;rsquo;t Markup Language）是一种人类可读的数据序列化格式，通常用于配置文件和数据交换。它的设计目标是使得数据的表示清晰易懂，同时尽可能地简洁。&lt;/li&gt;&#xA;&lt;li&gt;目前很多软件中采有此格式的文件，如:ubuntu，anisble，docker，k8s等&lt;/li&gt;&#xA;&lt;li&gt;YAML 文件扩展名通常为 yml 或 yaml&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;YAML 语言特性：&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;可读性好&lt;/li&gt;&#xA;&lt;li&gt;和脚本语言的交互性好&lt;/li&gt;&#xA;&lt;li&gt;使用实现语言的数据类型&lt;/li&gt;&#xA;&lt;li&gt;有一个一致的信息模型&lt;/li&gt;&#xA;&lt;li&gt;易于实现&lt;/li&gt;&#xA;&lt;li&gt;可以基于流来处理&lt;/li&gt;&#xA;&lt;li&gt;表达能力强，扩展性好&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;&lt;strong&gt;YAML 官方网站：&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;http://www.yaml.org&#34;&gt;http://www.yaml.org&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;yaml-语法&#34;&gt;yaml 语法&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#yaml-%e8%af%ad%e6%b3%95&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;h2 id=&#34;基本规则&#34;&gt;基本规则&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#%e5%9f%ba%e6%9c%ac%e8%a7%84%e5%88%99&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;缩进：&lt;/strong&gt; YAML 使用缩进来表示层次关系，使用空格而不是制表符（Tab）进行缩进。&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;注意：缩进必须是统一的，不能空格和tab混用。缩进的级别也必须是一致的，同样的缩进代表同样的级别，程序判别配置的级别是通过缩进结合换行来实现的。&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;大小写敏感：&lt;/strong&gt; YAML 是大小写敏感的，比如 &lt;code&gt;True&lt;/code&gt; 和 &lt;code&gt;true&lt;/code&gt; 是不同的值。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;注释：&lt;/strong&gt; 使用 &lt;code&gt;#&lt;/code&gt; 符号表示注释。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;开始和结束的指示符&#34;&gt;开始和结束的指示符&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#%e5%bc%80%e5%a7%8b%e5%92%8c%e7%bb%93%e6%9d%9f%e7%9a%84%e6%8c%87%e7%a4%ba%e7%ac%a6&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;在 YAML 中，&lt;code&gt;---&lt;/code&gt; 和 &lt;code&gt;...&lt;/code&gt; 分别用作文档开始和结束的指示符。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;code&gt;---&lt;/code&gt;：&lt;/strong&gt; 表示 YAML 文档的开始。它通常出现在文件的开头，表示接下来的内容是一个新的 YAML 文档。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;code&gt;...&lt;/code&gt;：&lt;/strong&gt; 表示 YAML 文档的结束。它通常出现在文件的结尾，表示当前 YAML 文档已结束。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;这两个指示符通常用于将多个 YAML 文档组合在一个文件中。例如，一个文件中可以包含多个 YAML 文档，每个文档用 &lt;code&gt;---&lt;/code&gt; 分隔开，而最后一个文档的结尾可以用 &lt;code&gt;...&lt;/code&gt; 来表示。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>进制</title>
      <link>https://llinux.cn/%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/%E5%85%B6%E5%AE%83/%E8%BF%9B%E5%88%B6/</link>
      
      <guid>https://llinux.cn/%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/%E5%85%B6%E5%AE%83/%E8%BF%9B%E5%88%B6/</guid>
      <description>&lt;h2 id=&#34;前言&#34;&gt;前言&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#%e5%89%8d%e8%a8%80&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;计算机所涉及到的进制类型有以下几种：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;二进制（base-2）：计算机中最常用的进制，由0和1组成。计算机内部使用二进制存储和处理数据。&lt;/li&gt;&#xA;&lt;li&gt;八进制（base-8）：由0-7组成，每个八进制位相当于二进制位的3个，常用于Unix/Linux系统中的文件权限设置。&lt;/li&gt;&#xA;&lt;li&gt;十进制（base-10）：由0-9组成，是我们日常生活中使用的进制，计算机中也会使用十进制进行数值计算。&lt;/li&gt;&#xA;&lt;li&gt;十六进制（base-16）：由0-9和A-F（或a-f）组成，每个十六进制位相当于二进制位的4个，常用于表示内存地址和颜色值等。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;除了上述四种进制类型，还有一些较少使用的进制类型，比如三进制、四进制、五进制等。但是在计算机中，使用的进制类型主要是二进制和十六进制。&lt;/p&gt;&#xA;&lt;p&gt;PS：应该重点掌握二进制和十六进制&lt;/p&gt;&#xA;&lt;h2 id=&#34;8421口诀&#34;&gt;8421口诀&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#8421%e5%8f%a3%e8%af%80&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;8421口诀是一种常用的二进制编码权值表示方法，它用来表示一个二进制数中每一位所代表的权值。这个口诀是指：&lt;/p&gt;&#xA;&lt;p&gt;每一位的权值分别为：8、4、2、1。从高位到低位依次对应这四个数字。以一个8位二进制数为例，从左至右依次为第1位到第8位，对应的权值分别为：128、64、32、16、8、4、2、1。&lt;/p&gt;&#xA;&lt;p&gt;具体来说，每一位的权值都是前一位权值的一半。也就是说，第一位的权值是2的7次方（2的指数从0开始计数），第二位的权值是2的6次方，第三位的权值是2的5次方，以此类推，直到最后一位的权值是2的0次方，即1。&lt;/p&gt;&#xA;&lt;p&gt;以一个四位二进制数为例，这个口诀的应用如下：&lt;/p&gt;&#xA;&lt;p&gt;假设一个四位二进制数的值为1010，按照8421口诀可以得到它的权值分别为8、0、2、0，因此它的十进制表示就是10。&lt;/p&gt;&#xA;&lt;p&gt;在数字电路的设计、计算机科学以及数字信号处理等领域，8421口诀被广泛应用，可以帮助人们更快速、更准确地理解和计算二进制数的权值。&lt;/p&gt;&#xA;&lt;h2 id=&#34;二进制&#34;&gt;二进制&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#%e4%ba%8c%e8%bf%9b%e5%88%b6&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;逢二进一&lt;/p&gt;&#xA;&lt;p&gt;二进制是一种基于2个数字（0和1）的数字系统，也称为base-2。它是计算机内部处理和存储数据的基础。在计算机中，所有的数字、文字、图像和声音都是以二进制的形式存储和处理的。&lt;/p&gt;&#xA;&lt;p&gt;在二进制中，每个数字位表示的是2的n次方，其中n表示这个数字位从右向左的位数，从0开始。比如，一个8位的二进制数可以表示256种不同的数字组合，因为2的8次方等于256。从右向左第一位是2的0次方，第二位是2的1次方，第三位是2的2次方，以此类推。&lt;/p&gt;&#xA;&lt;p&gt;例如，二进制数1101，它的每一位表示的是2的n次方，从右往左依次是2的0次方、2的1次方、2的2次方、2的3次方，所以它表示的是13（1x2^0 + 0x2^1 + 1x2^2 + 1x2^3 = 13）。&lt;/p&gt;&#xA;&lt;p&gt;在计算机内部，二进制数字是通过电子开关（或称为二极管）的开和关状态来表示的。开关打开表示1，关闭表示0。这些开关可以组合在一起，形成复杂的电路，用于存储和处理数据。&lt;/p&gt;&#xA;&lt;p&gt;二进制的转换也很容易。例如，将二进制数1101转换为十进制数，只需要按照上面的公式计算即可：1x2^0 + 0x2^1 + 1x2^2 + 1x2^3 = 13。同样地，将十进制数13转换为二进制数，可以将13不断除以2，然后将余数记录下来，直到商为0。最后将余数倒序排列，就得到了二进制数1101。&lt;/p&gt;&#xA;&lt;p&gt;二进制在计算机科学中具有重要的地位，因为计算机中的所有数据和指令都是以二进制的形式进行传输和处理的。因此，对于从事计算机编程和计算机科学的人员来说，掌握二进制是非常基本和必要的技能。&lt;/p&gt;&#xA;&lt;h2 id=&#34;八进制&#34;&gt;八进制&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#%e5%85%ab%e8%bf%9b%e5%88%b6&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;逢八进一&lt;/p&gt;&#xA;&lt;p&gt;八进制是一种基于8个数字（0、1、2、3、4、5、6、7）的数字系统，也称为base-8。它类似于二进制和十六进制，是计算机中处理数据的另一种方式。&lt;/p&gt;&#xA;&lt;p&gt;在八进制中，每个数字位表示的是8的n次方，其中n表示这个数字位从右向左的位数，从0开始。比如，一个三位的八进制数可以表示512种不同的数字组合，因为8的3次方等于512。从右向左第一位是8的0次方，第二位是8的1次方，第三位是8的2次方，以此类推。&lt;/p&gt;&#xA;&lt;p&gt;例如，八进制数173，它的每一位表示的是8的n次方，从右往左依次是8的0次方、8的1次方、8的2次方，所以它表示的是123（3x8^0 + 7x8^1 + 1x8^2 = 123）。&lt;/p&gt;&#xA;&lt;p&gt;在八进制中，逢八进一是一种重要的运算。当一个位上的数值达到8时，就需要向高位进位，即将该位上的数值归零，同时将进位后的数值加到高一位上。&lt;/p&gt;&#xA;&lt;p&gt;例如，将八进制数776和546相加，得到的结果是1432。在最低位相加时，6+6=14（即逢八进一），所以这一位上的值为4，同时将进位的值1加到次一位上。接着，7+4+5=16（再次逢八进一），所以次一位上的值为6，同时将进位的值1加到更高位上。以此类推，直到所有的位数都相加完成。&lt;/p&gt;&#xA;&lt;p&gt;在计算机内部，八进制通常不是被直接使用的数字系统。相反，八进制通常被用作二进制数的一种紧凑表示方法。由于八进制每个数字位表示的是三个二进制数字位，因此，八进制可以将一个二进制数中的三个数字位压缩为一个数字位，从而减少了存储和传输数据的大小。&lt;/p&gt;&#xA;&lt;h2 id=&#34;十进制&#34;&gt;十进制&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#%e5%8d%81%e8%bf%9b%e5%88%b6&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;逢十进一&lt;/p&gt;&#xA;&lt;p&gt;十进制是最常见的数字系统，也称为base-10，是指每个数位的权值都是10的幂，从右到左依次为个位、十位、百位等等，权值依次增大。在十进制中，每个数位上的数值为0-9，通过将这些数值组合起来，可以表示任何实数，包括整数、分数和无理数等。&lt;/p&gt;&#xA;&lt;p&gt;例如，数字6387，可以被解读为：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;6×1000（即6×10的3次方）表示六千&lt;/li&gt;&#xA;&lt;li&gt;3×100（即3×10的2次方）表示三百&lt;/li&gt;&#xA;&lt;li&gt;8×10（即8×10的1次方）表示八十&lt;/li&gt;&#xA;&lt;li&gt;7×1（即7×10的0次方）表示七&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;将它们加起来得到6387。换句话说，十进制中的每个数字位表示的是相应的权值，该权值与该数字位上的数字相乘，然后将它们相加得到最终的值。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>通配符</title>
      <link>https://llinux.cn/%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/%E5%85%B6%E5%AE%83/%E9%80%9A%E9%85%8D%E7%AC%A6/</link>
      
      <guid>https://llinux.cn/%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/%E5%85%B6%E5%AE%83/%E9%80%9A%E9%85%8D%E7%AC%A6/</guid>
      <description>&lt;p&gt;Linux通配符是一种用于匹配文件和目录名的特殊字符，常用于命令行中执行文件操作和搜索。通配符允许你根据一定的模式匹配文件名，以便执行批量操作。以下是一些常见的Linux通配符：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;*&lt;/code&gt;：星号通配符代表零个或多个字符。例如，&lt;code&gt;*.txt&lt;/code&gt;将匹配所有以&lt;code&gt;.txt&lt;/code&gt;结尾的文件。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;?&lt;/code&gt;：问号通配符代表一个字符。例如，&lt;code&gt;file?.txt&lt;/code&gt;将匹配类似于&lt;code&gt;file1.txt&lt;/code&gt;、&lt;code&gt;fileA.txt&lt;/code&gt;等文件。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;[]&lt;/code&gt;：方括号通配符允许你指定一个字符集合，只匹配其中的一个字符。例如，&lt;code&gt;[aeiou]&lt;/code&gt;将匹配任何一个元音字母，而&lt;code&gt;[0-9]&lt;/code&gt;将匹配任何一个数字。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;[!]&lt;/code&gt;或&lt;code&gt;[^]&lt;/code&gt;：在方括号内使用感叹号或脱字符，表示不匹配其中任何一个字符。例如，&lt;code&gt;[!aeiou]&lt;/code&gt;将匹配不包含元音字母的字符。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;{}&lt;/code&gt;：花括号通配符允许你指定一组字符串，用逗号分隔。这对于创建多个匹配模式非常有用。例如，&lt;code&gt;{file1,file2}.txt&lt;/code&gt;将匹配&lt;code&gt;file1.txt&lt;/code&gt;和&lt;code&gt;file2.txt&lt;/code&gt;。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;以下是一些通配符的示例用法：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;*.jpg&lt;/code&gt;：匹配所有以&lt;code&gt;.jpg&lt;/code&gt;结尾的文件。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;file?.txt&lt;/code&gt;：匹配类似于&lt;code&gt;file1.txt&lt;/code&gt;、&lt;code&gt;fileA.txt&lt;/code&gt;等文件。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;[0-9]*.txt&lt;/code&gt;：匹配以数字开头并以&lt;code&gt;.txt&lt;/code&gt;结尾的文件。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;{cat,dog}*.txt&lt;/code&gt;：匹配以&lt;code&gt;cat&lt;/code&gt;或&lt;code&gt;dog&lt;/code&gt;开头，并以&lt;code&gt;.txt&lt;/code&gt;结尾的文件。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;请注意，通配符在不同的shell（例如Bash、Zsh、Fish等）中可能会有些许不同的行为，具体取决于你正在使用的shell。通配符通常与命令一起使用，例如&lt;code&gt;ls&lt;/code&gt;、&lt;code&gt;cp&lt;/code&gt;、&lt;code&gt;mv&lt;/code&gt;、&lt;code&gt;rm&lt;/code&gt;等，以执行文件操作或搜索文件。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;通配符匹配文件名，正则表达式匹配文件内容&lt;/strong&gt;&lt;/p&gt;&#xA;&#xA;&#xA;&#xA;&lt;div class=&#34;highlight code-sample&#34;&gt;&#xA;  &#xA;  &lt;div class=&#34;includecode&#34; &gt;&#xA;    &lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#常用通配符&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;*        &lt;span class=&#34;c1&#34;&gt;#匹配0个或多个任意字符，但不包括&amp;#39;.&amp;#39;开头的文件，即隐藏文件&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;？       &lt;span class=&#34;c1&#34;&gt;#匹配0个或1个任意字符&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;~        &lt;span class=&#34;c1&#34;&gt;#当前用户的家目录&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;~azheng  &lt;span class=&#34;c1&#34;&gt;#azheng的家目录&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;~+或.    &lt;span class=&#34;c1&#34;&gt;#当前工作目录&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;~-或-    &lt;span class=&#34;c1&#34;&gt;#上一个工作目录（cd切换目录时~-会静默切换，-切换后会打印目录名）&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;0-9&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;    &lt;span class=&#34;c1&#34;&gt;#匹配数字范围&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;a-z&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;    &lt;span class=&#34;c1&#34;&gt;#小写字母&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;A-Z&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;    &lt;span class=&#34;c1&#34;&gt;#大写字母&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;xiang&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;#匹配列表中的任何一个字符&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;^xiang&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;#匹配列表中字符以外的字符&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#另外还有在Linux系统中预定义的字符类：man 7 glob&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;:digit:&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;#十进制数字，[0-9]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;:lower:&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;#任意小写字母,相当于[a-z]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;:upper:&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;#任意大写字母&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;:alpha:&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;#代表任何英文大小写字符，即 A-Z, a-z&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;:alnum:&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;#任意字母和数字&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;:blank:&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;#空白字符（空格和制表符）&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;:space:&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;#水平和垂直的空白字符（比[:blank:]包含的范围广）&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;:punct:&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;#标点符号&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;:print:&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;#可打印字符&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;:cntrl:&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;#控制非打印字符（退格、删除、警铃...）&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;:graph:&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;  &lt;span class=&#34;c1&#34;&gt;#图像字符&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;:xdigit:&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt; &lt;span class=&#34;c1&#34;&gt;#十六进制数字&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&#xA;  &lt;/div&gt;&#xA;&lt;/div&gt;&lt;h2 id=&#34;范例&#34;&gt;范例&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#%e8%8c%83%e4%be%8b&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;这些通配符都用在类Unix系统（如Linux）的shell中，用于匹配文件和目录。以下是这些通配符的含义：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;**/*.py&lt;/code&gt;：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;**&lt;/code&gt;匹配零个或多个目录级别。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;/*&lt;/code&gt;匹配目录之后的任何文件。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;.py&lt;/code&gt;匹配以&lt;code&gt;.py&lt;/code&gt;为扩展名的文件。&#xA;这个通配符将匹配所有目录及其子目录中以&lt;code&gt;.py&lt;/code&gt;为扩展名的Python文件。例如，&lt;code&gt;dir1/dir2/file.py&lt;/code&gt;和&lt;code&gt;dir3/file.py&lt;/code&gt;都会匹配。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;**/?.py&lt;/code&gt;：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;**&lt;/code&gt;匹配零个或多个目录级别。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;/&lt;/code&gt;匹配目录之后的一个字符。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;?.py&lt;/code&gt;匹配以一个字符开头，然后是&lt;code&gt;.py&lt;/code&gt;为扩展名的文件。&#xA;这个通配符将匹配所有目录及其子目录中，文件名长度为2且以&lt;code&gt;.py&lt;/code&gt;为扩展名的文件。例如，&lt;code&gt;dir1/a.py&lt;/code&gt;和&lt;code&gt;dir2/b.py&lt;/code&gt;都会匹配。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;**/*.*&lt;/code&gt;：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;**&lt;/code&gt;匹配零个或多个目录级别。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;/*&lt;/code&gt;匹配目录之后的任何文件。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;*.*&lt;/code&gt;匹配带有扩展名的文件。&#xA;这个通配符将匹配所有目录及其子目录中，带有任何扩展名的文件。例如，&lt;code&gt;dir1/dir2/file.txt&lt;/code&gt;和&lt;code&gt;dir3/file.jpg&lt;/code&gt;都会匹配。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;code&gt;**/[a-z].??&lt;/code&gt;：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;**&lt;/code&gt;匹配零个或多个目录级别。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;/&lt;/code&gt;匹配目录之后的一个字符。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;[a-z]&lt;/code&gt;匹配一个小写字母。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;.??&lt;/code&gt;匹配一个点后面跟着两个字符的文件扩展名。&#xA;这个通配符将匹配所有目录及其子目录中，文件名以小写字母开头，并且扩展名由两个字符组成的文件。例如，&lt;code&gt;dir1/a.ab&lt;/code&gt;和&lt;code&gt;dir2/b.cd&lt;/code&gt;都会匹配。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;请注意，通配符的行为取决于你所使用的shell和文件系统，不同的shell可能会有略微不同的行为。&lt;/p&gt;</description>
    </item>
    
    <item>
      <title>正则表达式</title>
      <link>https://llinux.cn/%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/%E5%85%B6%E5%AE%83/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/</link>
      
      <guid>https://llinux.cn/%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/%E5%85%B6%E5%AE%83/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/</guid>
      <description>&lt;h2 id=&#34;正则表达式概述&#34;&gt;正则表达式概述&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#%e6%ad%a3%e5%88%99%e8%a1%a8%e8%be%be%e5%bc%8f%e6%a6%82%e8%bf%b0&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;p&gt;正则表达式（Regular Expression，简称为RegExp或Regex）是一种用于匹配、搜索、替换文本的强大工具。它由一系列字符和特殊符号组成，可以描述字符串的模式，从而实现对字符串的复杂操作。正则表达式在编程和文本处理领域广泛应用，包括文本编辑器、编程语言、命令行工具等。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;正则表达式和通配符的区别&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;正则表达式（Regular Expression）和通配符（Wildcard）都是用于字符串匹配和模式匹配的工具，但它们在语法和功能上有一些区别。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;语法：&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;正则表达式使用一系列的字符和特殊符号来构建匹配模式，可以更精确地描述字符串的模式。正则表达式提供了更丰富的语法，允许指定字符的数量、位置、逻辑关系等。&lt;/li&gt;&#xA;&lt;li&gt;通配符通常是单个字符的占位符。在大多数情况下，通配符使用特定字符（如&lt;code&gt;*&lt;/code&gt;或&lt;code&gt;?&lt;/code&gt;）来表示模式，而不提供像正则表达式那样丰富的语法。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;功能：&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;正则表达式的功能更强大，可以实现复杂的模式匹配、替换、分组等操作。正则表达式支持范围、字符集、量词、分组、反向引用等高级功能，能够精确匹配多种模式。&lt;/li&gt;&#xA;&lt;li&gt;通配符的功能相对较简单。常见的通配符是&lt;code&gt;*&lt;/code&gt;和&lt;code&gt;?&lt;/code&gt;，&lt;code&gt;*&lt;/code&gt;表示任意长度的字符序列（包括空字符串），&lt;code&gt;?&lt;/code&gt;表示匹配任意一个字符。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;应用范围：&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;正则表达式广泛应用于文本处理、编程语言、命令行工具等领域，适用于需要进行复杂字符串匹配和处理的情况。&lt;/li&gt;&#xA;&lt;li&gt;通配符通常用于文件系统中的文件名匹配，例如在Linux中用于&lt;code&gt;ls&lt;/code&gt;命令的文件名匹配，或在Windows中用于文件搜索。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;例子：&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;正则表达式示例：匹配邮箱地址 &lt;code&gt;[\w\.-]+@[\w\.-]+&lt;/code&gt;，匹配日期 &lt;code&gt;\d{4}-\d{2}-\d{2}&lt;/code&gt;。&lt;/li&gt;&#xA;&lt;li&gt;通配符示例：在Linux中，&lt;code&gt;*.txt&lt;/code&gt;匹配所有以&lt;code&gt;.txt&lt;/code&gt;结尾的文件名；&lt;code&gt;file?.txt&lt;/code&gt;匹配类似于&lt;code&gt;file1.txt&lt;/code&gt;、&lt;code&gt;fileA.txt&lt;/code&gt;的文件名。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;总的来说，正则表达式比通配符更灵活、功能更强大，但也更复杂。通配符则更适合简单的文件名匹配。根据具体的需求，选择适合的工具可以提高匹配效率和准确度。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;基本正则表达式和扩展正则表达式有什么区别&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;基本正则表达式和扩展正则表达式最大的区别：基本正则需要加&amp;quot;\&amp;ldquo;转义符，扩展正则不需要加转义符&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;基本正则表达式（Basic Regular Expressions，BRE）和扩展正则表达式（Extended Regular Expressions，ERE）是两种不同的正则表达式语法，用于在不同的工具和环境中进行字符串匹配和处理。它们在语法和支持的功能上有一些区别。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;基本正则表达式（BRE）：&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;基本正则表达式是最早的正则表达式语法，最初由Unix的&lt;code&gt;ed&lt;/code&gt;编辑器引入，然后扩展到其他Unix工具如&lt;code&gt;grep&lt;/code&gt;、&lt;code&gt;sed&lt;/code&gt;和&lt;code&gt;awk&lt;/code&gt;中。BRE具有以下特点：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;元字符功能受限：&lt;/strong&gt; 基本正则表达式中的元字符（如&lt;code&gt;*&lt;/code&gt;、&lt;code&gt;+&lt;/code&gt;、&lt;code&gt;?&lt;/code&gt;、&lt;code&gt;|&lt;/code&gt;等）的特殊功能在一些情况下需要使用反斜杠进行转义，才能实现其本身的含义。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;不支持捕获分组：&lt;/strong&gt; 基本正则表达式不支持捕获分组（使用括号进行分组），因此在匹配和提取文本时有限制。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;strong&gt;扩展正则表达式（ERE）：&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;扩展正则表达式是在基本正则表达式的基础上进行了扩展，它添加了更多的功能和语法，使得正则表达式更强大和易用。ERE最初由&lt;code&gt;egrep&lt;/code&gt;命令引入，现在也广泛应用于许多工具和编程语言中。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;元字符更直观：&lt;/strong&gt; 在扩展正则表达式中，元字符的功能更直观，无需使用额外的转义字符。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;支持捕获分组：&lt;/strong&gt; 扩展正则表达式支持使用圆括号进行捕获分组，这样可以更方便地提取匹配的部分。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;更多的量词和字符类：&lt;/strong&gt; 扩展正则表达式支持更多种类的量词（如&lt;code&gt;{n}&lt;/code&gt;、&lt;code&gt;{n,}&lt;/code&gt;、&lt;code&gt;{n,m}&lt;/code&gt;）和字符类（如&lt;code&gt;\d&lt;/code&gt;、&lt;code&gt;\w&lt;/code&gt;、&lt;code&gt;\s&lt;/code&gt;等）。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;综上所述，扩展正则表达式相对于基本正则表达式来说，功能更强大且更易用，它是在许多现代工具和编程语言中广泛使用的标准正则表达式语法。在使用正则表达式时，要注意所使用的工具和环境，以确保选择适合的正则表达式语法。&lt;/p&gt;&#xA;&lt;h2 id=&#34;元字符&#34;&gt;元字符&lt;a class=&#34;td-heading-self-link&#34; href=&#34;#%e5%85%83%e5%ad%97%e7%ac%a6&#34; aria-label=&#34;Heading self-link&#34;&gt;&lt;/a&gt;&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;代码&lt;/th&gt;&#xA;          &lt;th&gt;说明&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;.&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;匹配任意单个字符（除了换行符）&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;\d&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;匹配任意一个数字字符（相当于 &lt;code&gt;[0-9]&lt;/code&gt;）&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;\D&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;除了数字的其他字符（相当于 &lt;code&gt;[^0-9]&lt;/code&gt;）&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;\w&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;匹配任意一个字母、数字或下划线字符（相当于&lt;code&gt;[a-Z0-9_]&lt;/code&gt;，注意 Z 为大写）&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;\W&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;除了字母、数字、下划线、汉字的其他字符&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;\s&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;匹配任意一个空白字符（空格、制表符、换行等）。&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;\S&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;除了空白符 的其他字符&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;[]&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;匹配指定范围内的任意单个字符，例如 &lt;code&gt;[a-z]&lt;/code&gt; 表示匹配任意一个小写字母。&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;[^]&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;匹配指定范围外的任意单个字符，例如 &lt;code&gt;[^0-9]&lt;/code&gt; 表示匹配任意一个非数字字符。&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;[:alnum:]&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;所有字母和数字，即 A-Z、a-z、0-9&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;[:alpha:]&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;所有英文大小写字符，即 A-Z、a-z&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;[:lower:]&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;所有英文小写字母&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;[:upper:]&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;所有英文大写字母&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;[:blank:]&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;空白字符（空格和制表符）&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;[:space:]&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;水平和垂直的空白字符（比[:blank:]包含的范围广）&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;[:cntrl:]&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;不可打印的控制字符（退格、删除、警铃&amp;hellip;）&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;[:digit:]&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;十进制数字&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;[:xdigit:]&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;十六进制数字&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;[:graph:]&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;可打印的非空白字符&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;[:print:]&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;可打印字符&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;&lt;code&gt;[:punct:]&lt;/code&gt;&lt;/td&gt;&#xA;          &lt;td&gt;标点符号&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;你的总结关于正则表达式中的元字符和一些预定义字符类是非常准确的，涵盖了许多常见的情况。这些元字符和字符类在正则表达式中用于匹配特定类型的字符，从而实现不同类型的字符串匹配。&lt;/p&gt;</description>
    </item>
    
  </channel>
</rss>
