1212 lines
513 KiB
HTML
1212 lines
513 KiB
HTML
<!DOCTYPE html>
|
||
<html><head><title>安装配置</title><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1.0"/><meta property="og:title" content="安装配置"/><meta property="og:description" content="Postgresql 安装配置."/><meta property="og:image" content="https://wiki.7wate.com/static/og-image.png"/><meta property="og:width" content="1200"/><meta property="og:height" content="675"/><link rel="icon" href="../../../static/icon.png"/><meta name="description" content="Postgresql 安装配置."/><meta name="generator" content="Quartz"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com"/><script async src="https://umami.7wate.com/script.js" data-website-id="c061efdc-95dd-4d21-9d04-a1ffda0a85b9"></script><script>
|
||
var _hmt = _hmt || [];
|
||
(function() {
|
||
var hm = document.createElement("script");
|
||
hm.src = "https://hm.baidu.com/hm.js?94d8ccb156eb7c65abf317e6e01cdba9";
|
||
var s = document.getElementsByTagName("script")[0];
|
||
s.parentNode.insertBefore(hm, s);
|
||
})();
|
||
</script><script async src="https://www.googletagmanager.com/gtag/js?id=G-MHMEL0F832"></script><script>
|
||
(function() {
|
||
window.dataLayer = window.dataLayer || [];
|
||
function gtag() {
|
||
window.dataLayer.push(arguments);
|
||
}
|
||
gtag('js', new Date());
|
||
gtag('config', 'G-MHMEL0F832');
|
||
})();
|
||
</script><link href="../../../index.css" rel="stylesheet" type="text/css" spa-preserve/><link href="https://cdn.jsdelivr.net/npm/katex@0.16.0/dist/katex.min.css" rel="stylesheet" type="text/css" spa-preserve/><link href="https://fonts.googleapis.com/css2?family=IBM Plex Mono&family=Schibsted Grotesk:wght@400;700&family=Source Sans Pro:ital,wght@0,400;0,600;1,400;1,600&display=swap" rel="stylesheet" type="text/css" spa-preserve/><script src="../../../prescript.js" type="application/javascript" spa-preserve></script><script type="application/javascript" spa-preserve>const fetchData = fetch(`../../../static/contentIndex.json`).then(data => data.json())</script></head><body data-slug="Tech/database-system/PostgreSQL/安装配置"><div id="quartz-root" class="page"><div id="quartz-body"><div class="left sidebar"><h1 class="page-title "><a href="../../..">📚 X·Eden</a></h1><div class="spacer mobile-only"></div><div class="search "><div id="search-icon"><p>Search</p><div></div><svg tabIndex="0" aria-labelledby="title desc" role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19.9 19.7"><title id="title">Search</title><desc id="desc">Search</desc><g class="search-path" fill="none"><path stroke-linecap="square" d="M18.5 18.3l-5.4-5.4"></path><circle cx="8" cy="8" r="7"></circle></g></svg></div><div id="search-container"><div id="search-space"><input autocomplete="off" id="search-bar" name="search" type="text" aria-label="Search for something" placeholder="Search for something"/><div id="results-container"></div></div></div></div><div class="darkmode "><input class="toggle" id="darkmode-toggle" type="checkbox" tabIndex="-1"/><label id="toggle-label-light" for="darkmode-toggle" tabIndex="-1"><svg xmlns="http://www.w3.org/2000/svg" xmlnsXlink="http://www.w3.org/1999/xlink" version="1.1" id="dayIcon" x="0px" y="0px" viewBox="0 0 35 35" style="enable-background:new 0 0 35 35;" xmlSpace="preserve"><title>Light mode</title><path d="M6,17.5C6,16.672,5.328,16,4.5,16h-3C0.672,16,0,16.672,0,17.5 S0.672,19,1.5,19h3C5.328,19,6,18.328,6,17.5z M7.5,26c-0.414,0-0.789,0.168-1.061,0.439l-2,2C4.168,28.711,4,29.086,4,29.5 C4,30.328,4.671,31,5.5,31c0.414,0,0.789-0.168,1.06-0.44l2-2C8.832,28.289,9,27.914,9,27.5C9,26.672,8.329,26,7.5,26z M17.5,6 C18.329,6,19,5.328,19,4.5v-3C19,0.672,18.329,0,17.5,0S16,0.672,16,1.5v3C16,5.328,16.671,6,17.5,6z M27.5,9 c0.414,0,0.789-0.168,1.06-0.439l2-2C30.832,6.289,31,5.914,31,5.5C31,4.672,30.329,4,29.5,4c-0.414,0-0.789,0.168-1.061,0.44 l-2,2C26.168,6.711,26,7.086,26,7.5C26,8.328,26.671,9,27.5,9z M6.439,8.561C6.711,8.832,7.086,9,7.5,9C8.328,9,9,8.328,9,7.5 c0-0.414-0.168-0.789-0.439-1.061l-2-2C6.289,4.168,5.914,4,5.5,4C4.672,4,4,4.672,4,5.5c0,0.414,0.168,0.789,0.439,1.06 L6.439,8.561z M33.5,16h-3c-0.828,0-1.5,0.672-1.5,1.5s0.672,1.5,1.5,1.5h3c0.828,0,1.5-0.672,1.5-1.5S34.328,16,33.5,16z M28.561,26.439C28.289,26.168,27.914,26,27.5,26c-0.828,0-1.5,0.672-1.5,1.5c0,0.414,0.168,0.789,0.439,1.06l2,2 C28.711,30.832,29.086,31,29.5,31c0.828,0,1.5-0.672,1.5-1.5c0-0.414-0.168-0.789-0.439-1.061L28.561,26.439z M17.5,29 c-0.829,0-1.5,0.672-1.5,1.5v3c0,0.828,0.671,1.5,1.5,1.5s1.5-0.672,1.5-1.5v-3C19,29.672,18.329,29,17.5,29z M17.5,7 C11.71,7,7,11.71,7,17.5S11.71,28,17.5,28S28,23.29,28,17.5S23.29,7,17.5,7z M17.5,25c-4.136,0-7.5-3.364-7.5-7.5 c0-4.136,3.364-7.5,7.5-7.5c4.136,0,7.5,3.364,7.5,7.5C25,21.636,21.636,25,17.5,25z"></path></svg></label><label id="toggle-label-dark" for="darkmode-toggle" tabIndex="-1"><svg xmlns="http://www.w3.org/2000/svg" xmlnsXlink="http://www.w3.org/1999/xlink" version="1.1" id="nightIcon" x="0px" y="0px" viewBox="0 0 100 100" style="enable-background='new 0 0 100 100'" xmlSpace="preserve"><title>Dark mode</title><path d="M96.76,66.458c-0.853-0.852-2.15-1.064-3.23-0.534c-6.063,2.991-12.858,4.571-19.655,4.571 C62.022,70.495,50.88,65.88,42.5,57.5C29.043,44.043,25.658,23.536,34.076,6.47c0.532-1.08,0.318-2.379-0.534-3.23 c-0.851-0.852-2.15-1.064-3.23-0.534c-4.918,2.427-9.375,5.619-13.246,9.491c-9.447,9.447-14.65,22.008-14.65,35.369 c0,13.36,5.203,25.921,14.65,35.368s22.008,14.65,35.368,14.65c13.361,0,25.921-5.203,35.369-14.65 c3.872-3.871,7.064-8.328,9.491-13.246C97.826,68.608,97.611,67.309,96.76,66.458z"></path></svg></label></div><div class="explorer desktop-only"><button type="button" id="explorer" data-behavior="collapse" data-collapsed="collapsed" data-savestate="true" data-tree="[{"path":"Basics","collapsed":true},{"path":"Basics/english","collapsed":true},{"path":"Blog","collapsed":true},{"path":"Book","collapsed":true},{"path":"Book/个人成长","collapsed":true},{"path":"Book/医学健康","collapsed":true},{"path":"Book/历史","collapsed":true},{"path":"Book/哲学宗教","collapsed":true},{"path":"Book/心理","collapsed":true},{"path":"Book/政治军事","collapsed":true},{"path":"Book/教育学习","collapsed":true},{"path":"Book/文学","collapsed":true},{"path":"Book/生活百科","collapsed":true},{"path":"Book/社会文化","collapsed":true},{"path":"Book/科学技术","collapsed":true},{"path":"Book/经济理财","collapsed":true},{"path":"Book/艺术","collapsed":true},{"path":"Book/计算机","collapsed":true},{"path":"Company","collapsed":true},{"path":"Company/信息化","collapsed":true},{"path":"Company/信息化/规范","collapsed":true},{"path":"Culture","collapsed":true},{"path":"Government","collapsed":true},{"path":"Government/中国","collapsed":true},{"path":"Government/中国/标准","collapsed":true},{"path":"Government/中国/法律","collapsed":true},{"path":"Journal","collapsed":true},{"path":"Journal/2022","collapsed":true},{"path":"Journal/2022/W34","collapsed":true},{"path":"Journal/2022/W35","collapsed":true},{"path":"Journal/2022/W36","collapsed":true},{"path":"Journal/2022/W37","collapsed":true},{"path":"Journal/2022/W38","collapsed":true},{"path":"Journal/2022/W39","collapsed":true},{"path":"Journal/2022/W41","collapsed":true},{"path":"Journal/2022/W42","collapsed":true},{"path":"Journal/2022/W43","collapsed":true},{"path":"Journal/2022/W44","collapsed":true},{"path":"Journal/2022/W45","collapsed":true},{"path":"Journal/2022/W46","collapsed":true},{"path":"Journal/2022/W47","collapsed":true},{"path":"Journal/2022/W48","collapsed":true},{"path":"Journal/2022/W49","collapsed":true},{"path":"Journal/2022/W50","collapsed":true},{"path":"Journal/2023","collapsed":true},{"path":"Journal/2023/W2","collapsed":true},{"path":"Journal/2023/W3","collapsed":true},{"path":"Journal/2023/W5","collapsed":true},{"path":"Journal/2023/W6","collapsed":true},{"path":"Journal/2023/W7","collapsed":true},{"path":"Journal/2023/W8","collapsed":true},{"path":"Journal/2023/W10","collapsed":true},{"path":"Journal/2023/W12","collapsed":true},{"path":"Journal/2023/W14","collapsed":true},{"path":"Journal/2023/W16","collapsed":true},{"path":"Journal/2023/W22","collapsed":true},{"path":"Journal/2023/W23","collapsed":true},{"path":"Journal/2023/W24","collapsed":true},{"path":"Journal/2023/W25","collapsed":true},{"path":"Journal/2023/W26","collapsed":true},{"path":"Journal/2023/W31","collapsed":true},{"path":"Journal/2023/W32","collapsed":true},{"path":"Journal/2023/W33","collapsed":true},{"path":"Journal/2023/W35","collapsed":true},{"path":"Journal/2023/W36","collapsed":true},{"path":"Journal/2023/W37","collapsed":true},{"path":"Journal/2023/W40","collapsed":true},{"path":"Journal/2023/W45","collapsed":true},{"path":"Journal/2023/W46","collapsed":true},{"path":"Journal/2023/W48","collapsed":true},{"path":"Journal/2023/W49","collapsed":true},{"path":"Journal/2023/W50","collapsed":true},{"path":"Journal/2024","collapsed":true},{"path":"Journal/2024/W8","collapsed":true},{"path":"Journal/2024/W10","collapsed":true},{"path":"Journal/2024/W11","collapsed":true},{"path":"Journal/2024/W12","collapsed":true},{"path":"Journal/2024/W14","collapsed":true},{"path":"Journal/2024/W16","collapsed":true},{"path":"Journal/2024/W17","collapsed":true},{"path":"Journal/2024/W22","collapsed":true},{"path":"Journal/2024/W23","collapsed":true},{"path":"Journal/2024/W24","collapsed":true},{"path":"Life","collapsed":true},{"path":"Scholar","collapsed":true},{"path":"Tech","collapsed":true},{"path":"Tech/cloud-service","collapsed":true},{"path":"Tech/cloud-service/基础","collapsed":true},{"path":"Tech/computer-network","collapsed":true},{"path":"Tech/computer-network/Nginx","collapsed":true},{"path":"Tech/computer-network/应用服务","collapsed":true},{"path":"Tech/computer-network/网络协议","collapsed":true},{"path":"Tech/computer-network/网络基础","collapsed":true},{"path":"Tech/computer-security","collapsed":true},{"path":"Tech/computer-security/信息安全","collapsed":true},{"path":"Tech/computer-security/信息安全/OpenPGP","collapsed":true},{"path":"Tech/computer-security/密码学","collapsed":true},{"path":"Tech/computer-security/用户安全","collapsed":true},{"path":"Tech/computer-security/用户安全/权限设计","collapsed":true},{"path":"Tech/computer-security/用户安全/用户鉴权","collapsed":true},{"path":"Tech/computer-security/系统安全","collapsed":true},{"path":"Tech/computer-security/系统安全/防火墙","collapsed":true},{"path":"Tech/computer-security/网络安全","collapsed":true},{"path":"Tech/computer-security/网络安全/OpenSSH","collapsed":true},{"path":"Tech/computer-security/网络安全/OpenSSL","collapsed":true},{"path":"Tech/database-system","collapsed":true},{"path":"Tech/database-system/PostgreSQL","collapsed":true},{"path":"Tech/database-system/SQL 语言","collapsed":true},{"path":"Tech/database-system/基础","collapsed":true},{"path":"Tech/getting-started","collapsed":true},{"path":"Tech/getting-started/命令行工具","collapsed":true},{"path":"Tech/getting-started/命令行工具/PowerShell","collapsed":true},{"path":"Tech/getting-started/命令行工具/Shell","collapsed":true},{"path":"Tech/getting-started/命令行工具/Vim","collapsed":true},{"path":"Tech/getting-started/开源指南","collapsed":true},{"path":"Tech/getting-started/文本处理","collapsed":true},{"path":"Tech/getting-started/版本控制","collapsed":true},{"path":"Tech/getting-started/版本控制/Git","collapsed":true},{"path":"Tech/getting-started/版本控制/Git/入门","collapsed":true},{"path":"Tech/getting-started/版本控制/Git/进阶","collapsed":true},{"path":"Tech/operating-system","collapsed":true},{"path":"Tech/operating-system/Automation","collapsed":true},{"path":"Tech/operating-system/Docker","collapsed":true},{"path":"Tech/operating-system/Docker/基础","collapsed":true},{"path":"Tech/operating-system/Docker/进阶","collapsed":true},{"path":"Tech/operating-system/Docker/高级","collapsed":true},{"path":"Tech/operating-system/Linux","collapsed":true},{"path":"Tech/operating-system/Linux/0.文化","collapsed":true},{"path":"Tech/operating-system/Linux/1.安装","collapsed":true},{"path":"Tech/operating-system/Linux/2.基础操作","collapsed":true},{"path":"Tech/operating-system/Linux/3.系统管理","collapsed":true},{"path":"Tech/operating-system/Linux/4.安全配置","collapsed":true},{"path":"Tech/operating-system/Linux/5.网络管理","collapsed":true},{"path":"Tech/operating-system/Linux/7.存储管理","collapsed":true},{"path":"Tech/operating-system/Linux/8.虚拟化","collapsed":true},{"path":"Tech/operating-system/Virtualization","collapsed":true},{"path":"Tech/operating-system/Virtualization/1.虚拟化概述","collapsed":true},{"path":"Tech/operating-system/Virtualization/2.KVM虚拟化","collapsed":true},{"path":"Tech/operating-system/Windows","collapsed":true},{"path":"Tech/operating-system/Windows/文化","collapsed":true},{"path":"Tech/programming-language","collapsed":true},{"path":"Tech/programming-language/Python","collapsed":true},{"path":"Tech/programming-language/Python/入门","collapsed":true},{"path":"Tech/programming-language/Python/文化","collapsed":true},{"path":"Tech/programming-language/Python/模块","collapsed":true},{"path":"Tech/programming-language/Python/模块/WEB开发","collapsed":true},{"path":"Tech/programming-language/Python/模块/数据处理","collapsed":true},{"path":"Tech/programming-language/Python/模块/文本处理","collapsed":true},{"path":"Tech/programming-language/Python/模块/系统交互","collapsed":true},{"path":"Tech/programming-language/Python/模块/网络处理","collapsed":true},{"path":"Tech/programming-language/Python/进阶","collapsed":true},{"path":"Tech/programming-language/Python/项目","collapsed":true},{"path":"Tech/programming-language/Python/项目/虚拟环境","collapsed":true},{"path":"Tech/programming-language/Python/项目/风格指南","collapsed":true},{"path":"Tech/software-engineering","collapsed":true},{"path":"Tech/software-engineering/协作规范","collapsed":true},{"path":"Tech/software-engineering/技术文档","collapsed":true},{"path":"Tech/structures-algorithms","collapsed":true},{"path":"Work","collapsed":true},{"path":"Work/data-engineer","collapsed":true},{"path":"Work/full-stack","collapsed":true},{"path":"Work/full-stack/基础","collapsed":true},{"path":"Work/full-stack/工具","collapsed":true},{"path":"Work/full-stack/文化","collapsed":true},{"path":"Work/roadmap","collapsed":true},{"path":"Work/roadmap/权益保障","collapsed":true},{"path":"Work/roadmap/求职经验","collapsed":true},{"path":"Work/roadmap/简历攻略","collapsed":true},{"path":"Work/roadmap/职业规划","collapsed":true},{"path":"Work/roadmap/职场心得","collapsed":true},{"path":"Work/roadmap/薪酬攻略","collapsed":true},{"path":"Work/roadmap/面试法则","collapsed":true},{"path":"Work/sre-engineer","collapsed":true}]"><h1>Explorer</h1><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="fold"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div id="explorer-content"><ul class="overflow" id="explorer-ul"><li><div><div class="folder-outer open"><ul style="padding-left:0;" class="content" data-folderul><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Basics"><button class="folder-button"><p class="folder-title">Basics</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Basics"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Basics/english"><button class="folder-button"><p class="folder-title">english</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Basics/english"><li><li><a href="../../../Basics/english/字母音标" data-for="Basics/english/字母音标">字母音标</a></li></li><li><li><a href="../../../Basics/english/语法基础" data-for="Basics/english/语法基础">语法基础</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Blog"><button class="folder-button"><p class="folder-title">Blog</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Blog"><li><li><a href="../../../Blog/「引用」博客的本质是电线杆子" data-for="Blog/「引用」博客的本质是电线杆子">「引用」博客的本质是电线杆子</a></li></li><li><li><a href="../../../Blog/「救赎之路」更名「向阳而生」" data-for="Blog/「救赎之路」更名「向阳而生」">「救赎之路」更名「向阳而生」</a></li></li><li><li><a href="../../../Blog/11月28日晚-星期三-霾" data-for="Blog/11月28日晚-星期三-霾">11月28日 晚 星期三 霾</a></li></li><li><li><a href="../../../Blog/2021" data-for="Blog/2021">2021</a></li></li><li><li><a href="../../../Blog/2022" data-for="Blog/2022">2022</a></li></li><li><li><a href="../../../Blog/2023-年度微信读书报告" data-for="Blog/2023-年度微信读书报告">2023 年度微信读书报告</a></li></li><li><li><a href="../../../Blog/回顾-2023" data-for="Blog/回顾-2023">2023 年终总结</a></li></li><li><li><a href="../../../Blog/2023-年终问答" data-for="Blog/2023-年终问答">2023 年终问答</a></li></li><li><li><a href="../../../Blog/BombSquad-炸弹人小分队" data-for="Blog/BombSquad-炸弹人小分队">BombSquad-炸弹人小分队</a></li></li><li><li><a href="../../../Blog/CityWalk——公车挑战" data-for="Blog/CityWalk——公车挑战">CityWalk——公车挑战:探索未知的城市</a></li></li><li><li><a href="../../../Blog/Docusaurus-搭建" data-for="Blog/Docusaurus-搭建">Docusaurus 搭建</a></li></li><li><li><a href="../../../Blog/Don`t-Starve-饥荒" data-for="Blog/Don`t-Starve-饥荒">Don't Starve-饥荒</a></li></li><li><li><a href="../../../Blog/Halo-主题-Redemption-首发版" data-for="Blog/Halo-主题-Redemption-首发版">Halo 主题 Redemption 首发版</a></li></li><li><li><a href="../../../Blog/Hello-Halo" data-for="Blog/Hello-Halo">Hello Halo</a></li></li><li><li><a href="../../../Blog/Obsidian-使用-Templater-插件的个性化脚本" data-for="Blog/Obsidian-使用-Templater-插件的个性化脚本">Obsidian 使用 Templater 插件的个性化脚本</a></li></li><li><li><a href="../../../Blog/Python-项目终极部署解决方案" data-for="Blog/Python-项目终极部署解决方案">Python 项目终极部署解决方案</a></li></li><li><li><a href="../../../Blog/Redemption" data-for="Blog/Redemption">Redemption</a></li></li><li><li><a href="../../../Blog/Redemption-主题-0.2.1-版本" data-for="Blog/Redemption-主题-0.2.1-版本">Redemption 主题 0.2.1 版本</a></li></li><li><li><a href="../../../Blog/VIVO-IQOO-Neo3-开箱测评" data-for="Blog/VIVO-IQOO-Neo3-开箱测评">VIVO IQOO Neo3 开箱测评</a></li></li><li><li><a href="../../../Blog/YubiKey-漂流记" data-for="Blog/YubiKey-漂流记">YubiKey 历险记</a></li></li><li><li><a href="../../../Blog/一命二运三风水" data-for="Blog/一命二运三风水">一命二运三风水</a></li></li><li><li><a href="../../../Blog/一线城市拥有一亩三分地是什么体验" data-for="Blog/一线城市拥有一亩三分地是什么体验">一线城市拥有一亩三分地是什么体验</a></li></li><li><li><a href="../../../Blog/三步为你博客文章分析情感关键字" data-for="Blog/三步为你博客文章分析情感关键字">三步为你博客文章分析情感关键字</a></li></li><li><li><a href="../../../Blog/上有天堂、下有苏杭" data-for="Blog/上有天堂、下有苏杭">上有天堂、下有苏杭</a></li></li><li><li><a href="../../../Blog/不要在饿的时候吃螺蛳粉!" data-for="Blog/不要在饿的时候吃螺蛳粉!">不要在饿的时候吃螺蛳粉!</a></li></li><li><li><a href="../../../Blog/不要把幸福建立在别人的痛苦之上" data-for="Blog/不要把幸福建立在别人的痛苦之上">不要把幸福建立在别人的痛苦之上</a></li></li><li><li><a href="../../../Blog/中国传统历法" data-for="Blog/中国传统历法">中国传统历法</a></li></li><li><li><a href="../../../Blog/为什么不推开那扇门?" data-for="Blog/为什么不推开那扇门?">为什么不推开那扇门?</a></li></li><li><li><a href="../../../Blog/乌兰哈达火山银河之旅" data-for="Blog/乌兰哈达火山银河之旅">乌兰哈达火山银河之旅</a></li></li><li><li><a href="../../../Blog/习惯养成第一步" data-for="Blog/习惯养成第一步">习惯养成第一步</a></li></li><li><li><a href="../../../Blog/人在囧途——青海湖" data-for="Blog/人在囧途——青海湖">人在囧途——青海湖</a></li></li><li><li><a href="../../../Blog/人格类型测试" data-for="Blog/人格类型测试">人格类型测试</a></li></li><li><li><a href="../../../Blog/你愿意嫁给自己么?" data-for="Blog/你愿意嫁给自己么?">你愿意嫁给自己么</a></li></li><li><li><a href="../../../Blog/你还记得曾经的梦想么?" data-for="Blog/你还记得曾经的梦想么?">你还记得曾经的梦想么?</a></li></li><li><li><a href="../../../Blog/使用-Docusaurus-搭建优秀个人wiki" data-for="Blog/使用-Docusaurus-搭建优秀个人wiki">使用 Docusaurus 搭建优秀个人wiki</a></li></li><li><li><a href="../../../Blog/关于感情的事情" data-for="Blog/关于感情的事情">关于感情的事情</a></li></li><li><li><a href="../../../Blog/关于花" data-for="Blog/关于花">关于花</a></li></li><li><li><a href="../../../Blog/关于郑州的互联网记忆" data-for="Blog/关于郑州的互联网记忆">关于郑州的互联网记忆</a></li></li><li><li><a href="../../../Blog/再游嵩山" data-for="Blog/再游嵩山">再游嵩山</a></li></li><li><li><a href="../../../Blog/最近半年的生活" data-for="Blog/最近半年的生活">最近半年的生活</a></li></li><li><li><a href="../../../Blog/最近在折腾什么……" data-for="Blog/最近在折腾什么……">最近在折腾什么……</a></li></li><li><li><a href="../../../Blog/最近的生活" data-for="Blog/最近的生活">最近的生活</a></li></li><li><li><a href="../../../Blog/写十万字的博客是一种什么感觉" data-for="Blog/写十万字的博客是一种什么感觉">写十万字的博客是一种什么感觉</a></li></li><li><li><a href="../../../Blog/写博客的正确姿势" data-for="Blog/写博客的正确姿势">写博客的正确姿势</a></li></li><li><li><a href="../../../Blog/写博客的正确姿势---先行版" data-for="Blog/写博客的正确姿势---先行版">写博客的正确姿势 - 先行版</a></li></li><li><li><a href="../../../Blog/写博客的正确姿势---测试版" data-for="Blog/写博客的正确姿势---测试版">写博客的正确姿势 - 测试版</a></li></li><li><li><a href="../../../Blog/冰箱,让你我错过了多少新鲜的生活?" data-for="Blog/冰箱,让你我错过了多少新鲜的生活?">冰箱,让你我错过了多少新鲜的生活?</a></li></li><li><li><a href="../../../Blog/初号机,起飞!" data-for="Blog/初号机,起飞!">初号机,起飞!</a></li></li><li><li><a href="../../../Blog/原点" data-for="Blog/原点">原点</a></li></li><li><li><a href="../../../Blog/吉普赛满天星" data-for="Blog/吉普赛满天星">吉普赛满天星</a></li></li><li><li><a href="../../../Blog/唯有热爱可抵岁月漫长" data-for="Blog/唯有热爱可抵岁月漫长">唯有热爱、可抵岁月漫长</a></li></li><li><li><a href="../../../Blog/回首-2022-展望-2023" data-for="Blog/回首-2022-展望-2023">回首 2022 展望 2023</a></li></li><li><li><a href="../../../Blog/夏日花记" data-for="Blog/夏日花记">夏日花记</a></li></li><li><li><a href="../../../Blog/夜泊西湖听雨声" data-for="Blog/夜泊西湖听雨声">夜泊西湖听雨声</a></li></li><li><li><a href="../../../Blog/大学回忆录" data-for="Blog/大学回忆录">大学回忆录</a></li></li><li><li><a href="../../../Blog/如何不写错别字!" data-for="Blog/如何不写错别字!">如何不写错别字!</a></li></li><li><li><a href="../../../Blog/如何免费创建一个属于自己的网站" data-for="Blog/如何免费创建一个属于自己的网站">如何免费创建一个属于自己的网站</a></li></li><li><li><a href="../../../Blog/如何免费获得-Jetbrains-正版授权" data-for="Blog/如何免费获得-Jetbrains-正版授权">如何免费获得 Jetbrains 正版授权</a></li></li><li><li><a href="../../../Blog/如何开好一场会?" data-for="Blog/如何开好一场会?">如何开好一场会?</a></li></li><li><li><a href="../../../Blog/如何打破信息茧房?" data-for="Blog/如何打破信息茧房?">如何打破信息茧房?</a></li></li><li><li><a href="../../../Blog/如何拍好一张照片" data-for="Blog/如何拍好一张照片">如何拍好一张照片</a></li></li><li><li><a href="../../../Blog/家里的三块地" data-for="Blog/家里的三块地">家里的三块地</a></li></li><li><li><a href="../../../Blog/富人的红灯与穷人的绿灯" data-for="Blog/富人的红灯与穷人的绿灯">富人的红灯与穷人的绿灯</a></li></li><li><li><a href="../../../Blog/岁月是把猪饲料,把我喂的嘎嘎胖" data-for="Blog/岁月是把猪饲料,把我喂的嘎嘎胖">岁月是把猪饲料,把我喂的嘎嘎胖</a></li></li><li><li><a href="../../../Blog/师从-ChatGPT" data-for="Blog/师从-ChatGPT">师从 ChatGPT</a></li></li><li><li><a href="../../../Blog/幸福的事情都是需要等待的" data-for="Blog/幸福的事情都是需要等待的">幸福的事情都是需要等待的</a></li></li><li><li><a href="../../../Blog/开源软件之道" data-for="Blog/开源软件之道">开源软件之道</a></li></li><li><li><a href="../../../Blog/我又从-Ubunut-换成了-Fedora" data-for="Blog/我又从-Ubunut-换成了-Fedora">我又从 Ubunut 换成了 Fedora</a></li></li><li><li><a href="../../../Blog/我开发的第一款软件" data-for="Blog/我开发的第一款软件">我开发的第一款软件</a></li></li><li><li><a href="../../../Blog/我是关系户" data-for="Blog/我是关系户">我是关系户</a></li></li><li><li><a href="../../../Blog/我的一天" data-for="Blog/我的一天">我的一天</a></li></li><li><li><a href="../../../Blog/我的小羊肖恩" data-for="Blog/我的小羊肖恩">我的小羊肖恩</a></li></li><li><li><a href="../../../Blog/我站立的地方是中国" data-for="Blog/我站立的地方是中国">我站立的地方是中国</a></li></li><li><li><a href="../../../Blog/我要拔智齿!!!" data-for="Blog/我要拔智齿!!!">我要拔智齿!!!</a></li></li><li><li><a href="../../../Blog/我还在……" data-for="Blog/我还在……">我还在……</a></li></li><li><li><a href="../../../Blog/打工三年记" data-for="Blog/打工三年记">打工三年记</a></li></li><li><li><a href="../../../Blog/拾月游记" data-for="Blog/拾月游记">拾月游记</a></li></li><li><li><a href="../../../Blog/揭晓你的博客一年之最,尽在-EndOfYear!" data-for="Blog/揭晓你的博客一年之最,尽在-EndOfYear!">揭晓你的博客一年之最,尽在 EndOfYear!</a></li></li><li><li><a href="../../../Blog/数字文化遗产" data-for="Blog/数字文化遗产">数字文化遗产</a></li></li><li><li><a href="../../../Blog/数据恢复杂谈" data-for="Blog/数据恢复杂谈">数据恢复杂谈</a></li></li><li><li><a href="../../../Blog/新冠笔记" data-for="Blog/新冠笔记">新冠笔记</a></li></li><li><li><a href="../../../Blog/新奇的-HR-经历" data-for="Blog/新奇的-HR-经历">新奇的 HR 经历</a></li></li><li><li><a href="../../../Blog/新手村村长" data-for="Blog/新手村村长">新手村村长</a></li></li><li><li><a href="../../../Blog/早起、阅读、写作、运动、冥想" data-for="Blog/早起、阅读、写作、运动、冥想">早起、冥想、阅读、写作、运动</a></li></li><li><li><a href="../../../Blog/星光不问赶路人" data-for="Blog/星光不问赶路人">星光不问赶路人</a></li></li><li><li><a href="../../../Blog/是微风、是晚霞、是来日方长" data-for="Blog/是微风、是晚霞、是来日方长">是微风、是晚霞、是来日方长</a></li></li><li><li><a href="../../../Blog/月季到了" data-for="Blog/月季到了">月季到了</a></li></li><li><li><a href="../../../Blog/注定不平凡的一年" data-for="Blog/注定不平凡的一年">注定不平凡的一年</a></li></li><li><li><a href="../../../Blog/浅尝-Gitea-的-Actions" data-for="Blog/浅尝-Gitea-的-Actions">浅尝 Gitea 的 Actions</a></li></li><li><li><a href="../../../Blog/浅谈一下自己折腾的网站" data-for="Blog/浅谈一下自己折腾的网站">浅谈一下自己折腾的网站</a></li></li><li><li><a href="../../../Blog/浅谈个人服务器架构" data-for="Blog/浅谈个人服务器架构">浅谈个人服务器架构</a></li></li><li><li><a href="../../../Blog/济南呀济南的泰山之旅" data-for="Blog/济南呀济南的泰山之旅">济南呀济南的泰山之旅</a></li></li><li><li><a href="../../../Blog/涝疫结合" data-for="Blog/涝疫结合">涝疫结合</a></li></li><li><li><a href="../../../Blog/独立生活能力清单" data-for="Blog/独立生活能力清单">独立生活能力清单</a></li></li><li><li><a href="../../../Blog/球鞋日记" data-for="Blog/球鞋日记">球鞋日记</a></li></li><li><li><a href="../../../Blog/申请-Jetbrains-开源项目授权" data-for="Blog/申请-Jetbrains-开源项目授权">申请 Jetbrains 开源项目授权</a></li></li><li><li><a href="../../../Blog/电脑坏了,我换了-Ubuntu" data-for="Blog/电脑坏了,我换了-Ubuntu">电脑坏了,我换了 Ubuntu</a></li></li><li><li><a href="../../../Blog/番茄开花啦-~" data-for="Blog/番茄开花啦-~">番茄开花啦 ~</a></li></li><li><li><a href="../../../Blog/看-V2Ex-的-ChatGPT-老哥浅谈办公室政治" data-for="Blog/看-V2Ex-的-ChatGPT-老哥浅谈办公室政治">看 V2Ex 的 ChatGPT 老哥浅谈办公室政治</a></li></li><li><li><a href="../../../Blog/真·长安游记" data-for="Blog/真·长安游记">真·长安游记</a></li></li><li><li><a href="../../../Blog/破万卷书,行万里路!" data-for="Blog/破万卷书,行万里路!">破万卷书,行万里路!</a></li></li><li><li><a href="../../../Blog/种下了一些瓜果蔬菜" data-for="Blog/种下了一些瓜果蔬菜">种下了一些瓜果蔬菜</a></li></li><li><li><a href="../../../Blog/穷则独善其身,达则兼济天下" data-for="Blog/穷则独善其身,达则兼济天下">穷则独善其身,达则兼济天下</a></li></li><li><li><a href="../../../Blog/继续开荒我那一亩三分地" data-for="Blog/继续开荒我那一亩三分地">继续开荒我那一亩三分地</a></li></li><li><li><a href="../../../Blog/罪恶应该被遗传么" data-for="Blog/罪恶应该被遗传么">罪恶应该被遗传么?</a></li></li><li><li><a href="../../../Blog/自律的痛苦······" data-for="Blog/自律的痛苦······">自律的痛苦······</a></li></li><li><li><a href="../../../Blog/英雄联盟-S8-全球总决赛" data-for="Blog/英雄联盟-S8-全球总决赛">英雄联盟 S8 全球总决赛</a></li></li><li><li><a href="../../../Blog/螺蛳粉" data-for="Blog/螺蛳粉">螺蛳粉</a></li></li><li><li><a href="../../../Blog/記伍月" data-for="Blog/記伍月">記伍月</a></li></li><li><li><a href="../../../Blog/記拾月" data-for="Blog/記拾月">記拾月</a></li></li><li><li><a href="../../../Blog/记拾月" data-for="Blog/记拾月">记拾月</a></li></li><li><li><a href="../../../Blog/论成年人的睡眠" data-for="Blog/论成年人的睡眠">论成年人的睡眠</a></li></li><li><li><a href="../../../Blog/谈谈我的「数字文具盒」" data-for="Blog/谈谈我的「数字文具盒」">谈谈我的「数字文具盒」</a></li></li><li><li><a href="../../../Blog/谈谈我的「数字文具盒」---NextCloud" data-for="Blog/谈谈我的「数字文具盒」---NextCloud">谈谈我的「数字文具盒」 - NextCloud</a></li></li><li><li><a href="../../../Blog/谈谈我的「数字文具盒」---Obsidian" data-for="Blog/谈谈我的「数字文具盒」---Obsidian">谈谈我的「数字文具盒」 - Obsidian</a></li></li><li><li><a href="../../../Blog/谈谈我的「数字文具盒」---个人工作流" data-for="Blog/谈谈我的「数字文具盒」---个人工作流">谈谈我的「数字文具盒」 - 个人工作流</a></li></li><li><li><a href="../../../Blog/谈谈我的「数字文具盒」---心得体会" data-for="Blog/谈谈我的「数字文具盒」---心得体会">谈谈我的「数字文具盒」 - 心得体会</a></li></li><li><li><a href="../../../Blog/谈谈我的「数字文具盒」---数字基建" data-for="Blog/谈谈我的「数字文具盒」---数字基建">谈谈我的「数字文具盒」 - 数字基建</a></li></li><li><li><a href="../../../Blog/谈谈我的「数字文具盒」---生产力工具(上)" data-for="Blog/谈谈我的「数字文具盒」---生产力工具(上)">谈谈我的「数字文具盒」 - 生产力工具(上)</a></li></li><li><li><a href="../../../Blog/谈谈我的「数字文具盒」---生产力工具(下)" data-for="Blog/谈谈我的「数字文具盒」---生产力工具(下)">谈谈我的「数字文具盒」 - 生产力工具(下)</a></li></li><li><li><a href="../../../Blog/谈谈我的「数字文具盒」---番外篇" data-for="Blog/谈谈我的「数字文具盒」---番外篇">谈谈我的「数字文具盒」 - 番外篇</a></li></li><li><li><a href="../../../Blog/谈谈我的「数字文具盒」---运行平台" data-for="Blog/谈谈我的「数字文具盒」---运行平台">谈谈我的「数字文具盒」 - 运行平台</a></li></li><li><li><a href="../../../Blog/贰号机、落幕" data-for="Blog/贰号机、落幕">贰号机、落幕</a></li></li><li><li><a href="../../../Blog/这个周末" data-for="Blog/这个周末">这个周末</a></li></li><li><li><a href="../../../Blog/通货膨胀的猪" data-for="Blog/通货膨胀的猪">通货膨胀的猪</a></li></li><li><li><a href="../../../Blog/长安三万里" data-for="Blog/长安三万里">长安三万里</a></li></li><li><li><a href="../../../Blog/长安游记" data-for="Blog/长安游记">长安游记</a></li></li><li><li><a href="../../../Blog/闭门锁网" data-for="Blog/闭门锁网">闭门锁网</a></li></li><li><li><a href="../../../Blog/非黑即白" data-for="Blog/非黑即白">非黑即白</a></li></li><li><li><a href="../../../Blog/首页加载速度优化方案" data-for="Blog/首页加载速度优化方案">首页加载速度优化方案</a></li></li><li><li><a href="../../../Blog/骑行在路上" data-for="Blog/骑行在路上">骑行在路上</a></li></li><li><li><a href="../../../Blog/黄山归来不看岳" data-for="Blog/黄山归来不看岳">黄山归来不看岳</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book"><button class="folder-button"><p class="folder-title">Book</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/个人成长"><button class="folder-button"><p class="folder-title">个人成长</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/个人成长"><li><li><a href="../../../Book/个人成长/习惯的力量(新版)" data-for="Book/个人成长/习惯的力量(新版)">习惯的力量(新版)</a></li></li><li><li><a href="../../../Book/个人成长/以极简的方式去生活" data-for="Book/个人成长/以极简的方式去生活">以极简的方式去生活</a></li></li><li><li><a href="../../../Book/个人成长/写出我心:普通人如何通过写作表达自己" data-for="Book/个人成长/写出我心:普通人如何通过写作表达自己">写出我心:普通人如何通过写作表达自己</a></li></li><li><li><a href="../../../Book/个人成长/刻意练习:如何从新手到大师" data-for="Book/个人成长/刻意练习:如何从新手到大师">刻意练习:如何从新手到大师</a></li></li><li><li><a href="../../../Book/个人成长/十分钟冥想" data-for="Book/个人成长/十分钟冥想">十分钟冥想</a></li></li><li><li><a href="../../../Book/个人成长/即兴表达" data-for="Book/个人成长/即兴表达">即兴表达</a></li></li><li><li><a href="../../../Book/个人成长/学习之道" data-for="Book/个人成长/学习之道">学习之道</a></li></li><li><li><a href="../../../Book/个人成长/学会写作:自我进阶的高效方法" data-for="Book/个人成长/学会写作:自我进阶的高效方法">学会写作:自我进阶的高效方法</a></li></li><li><li><a href="../../../Book/个人成长/当下的力量(白金版)" data-for="Book/个人成长/当下的力量(白金版)">当下的力量(白金版)</a></li></li><li><li><a href="../../../Book/个人成长/我的第一本人生规划手册" data-for="Book/个人成长/我的第一本人生规划手册">我的第一本人生规划手册</a></li></li><li><li><a href="../../../Book/个人成长/超级面试官:快速提升识人技能的面试实战手册" data-for="Book/个人成长/超级面试官:快速提升识人技能的面试实战手册">超级面试官:快速提升识人技能的面试实战手册</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/医学健康"><button class="folder-button"><p class="folder-title">医学健康</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/医学健康"><li><li><a href="../../../Book/医学健康/你是你吃出来的(套装共2册)" data-for="Book/医学健康/你是你吃出来的(套装共2册)">你是你吃出来的(套装共2册)</a></li></li><li><li><a href="../../../Book/医学健康/小小药箱护健康教您用好家庭小药箱" data-for="Book/医学健康/小小药箱护健康教您用好家庭小药箱">小小药箱护健康教您用好家庭小药箱</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/历史"><button class="folder-button"><p class="folder-title">历史</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/历史"><li><li><a href="../../../Book/历史/信息简史" data-for="Book/历史/信息简史">信息简史</a></li></li><li><li><a href="../../../Book/历史/这里是中国2" data-for="Book/历史/这里是中国2">这里是中国2</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/哲学宗教"><button class="folder-button"><p class="folder-title">哲学宗教</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/哲学宗教"><li><li><a href="../../../Book/哲学宗教/半小时漫画中国哲学史(套装全2册)" data-for="Book/哲学宗教/半小时漫画中国哲学史(套装全2册)">半小时漫画中国哲学史(套装全2册)</a></li></li><li><li><a href="../../../Book/哲学宗教/第一性原理" data-for="Book/哲学宗教/第一性原理">第一性原理</a></li></li><li><li><a href="../../../Book/哲学宗教/结构化思维" data-for="Book/哲学宗教/结构化思维">结构化思维</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/心理"><button class="folder-button"><p class="folder-title">心理</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/心理"><li><li><a href="../../../Book/心理/十分钟冥想" data-for="Book/心理/十分钟冥想">十分钟冥想</a></li></li><li><li><a href="../../../Book/心理/认知觉醒:开启自我改变的原动力" data-for="Book/心理/认知觉醒:开启自我改变的原动力">认知觉醒:开启自我改变的原动力</a></li></li><li><li><a href="../../../Book/心理/认知驱动:做成一件对他人很有用的事" data-for="Book/心理/认知驱动:做成一件对他人很有用的事">认知驱动:做成一件对他人很有用的事</a></li></li><li><li><a href="../../../Book/心理/谈性说爱:写给女性的性心理24讲" data-for="Book/心理/谈性说爱:写给女性的性心理24讲">谈性说爱:写给女性的性心理24讲</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/政治军事"><button class="folder-button"><p class="folder-title">政治军事</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/政治军事"><li><li><a href="../../../Book/政治军事/实践论" data-for="Book/政治军事/实践论">实践论</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/教育学习"><button class="folder-button"><p class="folder-title">教育学习</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/教育学习"><li><li><a href="../../../Book/教育学习/如何阅读一本书" data-for="Book/教育学习/如何阅读一本书">如何阅读一本书</a></li></li><li><li><a href="../../../Book/教育学习/赖世雄的英语学习法" data-for="Book/教育学习/赖世雄的英语学习法">赖世雄的英语学习法</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/文学"><button class="folder-button"><p class="folder-title">文学</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/文学"><li><li><a href="../../../Book/文学/凤凰项目:一个IT运维的传奇故事(修订版)" data-for="Book/文学/凤凰项目:一个IT运维的传奇故事(修订版)">凤凰项目:一个IT运维的传奇故事(修订版)</a></li></li><li><li><a href="../../../Book/文学/老舍谈写作" data-for="Book/文学/老舍谈写作">老舍谈写作</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/生活百科"><button class="folder-button"><p class="folder-title">生活百科</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/生活百科"><li><li><a href="../../../Book/生活百科/聂卫平围棋教程(从15级到10级)" data-for="Book/生活百科/聂卫平围棋教程(从15级到10级)">聂卫平围棋教程(从15级到10级)</a></li></li><li><li><a href="../../../Book/生活百科/聂卫平围棋教程(从入门到15级)" data-for="Book/生活百科/聂卫平围棋教程(从入门到15级)">聂卫平围棋教程(从入门到15级)</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/社会文化"><button class="folder-button"><p class="folder-title">社会文化</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/社会文化"><li><li><a href="../../../Book/社会文化/人体简史" data-for="Book/社会文化/人体简史">人体简史</a></li></li><li><li><a href="../../../Book/社会文化/你不可不知的法律常识" data-for="Book/社会文化/你不可不知的法律常识">你不可不知的法律常识</a></li></li><li><li><a href="../../../Book/社会文化/半小时漫画《论语》" data-for="Book/社会文化/半小时漫画《论语》">半小时漫画《论语》</a></li></li><li><li><a href="../../../Book/社会文化/民法典与百姓生活100问" data-for="Book/社会文化/民法典与百姓生活100问">民法典与百姓生活100问</a></li></li><li><li><a href="../../../Book/社会文化/这里是中国" data-for="Book/社会文化/这里是中国">这里是中国</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/科学技术"><button class="folder-button"><p class="folder-title">科学技术</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/科学技术"><li><li><a href="../../../Book/科学技术/贝尔实验室与美国革新大时代" data-for="Book/科学技术/贝尔实验室与美国革新大时代">贝尔实验室与美国革新大时代</a></li></li><li><li><a href="../../../Book/科学技术/高性能Linux服务器运维实战:shell编程、监控告警、性能优化与实战案例" data-for="Book/科学技术/高性能Linux服务器运维实战:shell编程、监控告警、性能优化与实战案例">高性能Linux服务器运维实战:shell编程、监控告警、性能优化与实战案例</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/经济理财"><button class="folder-button"><p class="folder-title">经济理财</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/经济理财"><li><li><a href="../../../Book/经济理财/人力资源管理从入门到精通" data-for="Book/经济理财/人力资源管理从入门到精通">人力资源管理从入门到精通</a></li></li><li><li><a href="../../../Book/经济理财/十分钟冥想" data-for="Book/经济理财/十分钟冥想">十分钟冥想</a></li></li><li><li><a href="../../../Book/经济理财/半小时漫画股票实战法" data-for="Book/经济理财/半小时漫画股票实战法">半小时漫画股票实战法</a></li></li><li><li><a href="../../../Book/经济理财/小米创业思考" data-for="Book/经济理财/小米创业思考">小米创业思考</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/艺术"><button class="folder-button"><p class="folder-title">艺术</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/艺术"><li><li><a href="../../../Book/艺术/江湖丛谈(注音注释插图本)" data-for="Book/艺术/江湖丛谈(注音注释插图本)">江湖丛谈(注音注释插图本)</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/计算机"><button class="folder-button"><p class="folder-title">计算机</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/计算机"><li><li><a href="../../../Book/计算机/Flask-Web开发:基于Python的Web应用开发实战(第2版)" data-for="Book/计算机/Flask-Web开发:基于Python的Web应用开发实战(第2版)">Flask Web开发:基于Python的Web应用开发实战(第2版)</a></li></li><li><li><a href="../../../Book/计算机/IT基础架构:系统运维实践" data-for="Book/计算机/IT基础架构:系统运维实践">IT基础架构:系统运维实践</a></li></li><li><li><a href="../../../Book/计算机/Linux命令行与shell脚本编程大全(第4版)" data-for="Book/计算机/Linux命令行与shell脚本编程大全(第4版)">Linux命令行与shell脚本编程大全(第4版)</a></li></li><li><li><a href="../../../Book/计算机/Linux是怎样工作的" data-for="Book/计算机/Linux是怎样工作的">Linux是怎样工作的</a></li></li><li><li><a href="../../../Book/计算机/Python工匠:案例、技巧与工程实践" data-for="Book/计算机/Python工匠:案例、技巧与工程实践">Python工匠:案例、技巧与工程实践</a></li></li><li><li><a href="../../../Book/计算机/Python编程:从入门到实践(第2版)" data-for="Book/计算机/Python编程:从入门到实践(第2版)">Python编程:从入门到实践(第2版)</a></li></li><li><li><a href="../../../Book/计算机/Python编程轻松进阶" data-for="Book/计算机/Python编程轻松进阶">Python编程轻松进阶</a></li></li><li><li><a href="../../../Book/计算机/SQL必知必会(第5版)" data-for="Book/计算机/SQL必知必会(第5版)">SQL必知必会(第5版)</a></li></li><li><li><a href="../../../Book/计算机/SRE:Google运维解密" data-for="Book/计算机/SRE:Google运维解密">SRE:Google运维解密</a></li></li><li><li><a href="../../../Book/计算机/UNIX传奇:历史与回忆" data-for="Book/计算机/UNIX传奇:历史与回忆">UNIX传奇:历史与回忆</a></li></li><li><li><a href="../../../Book/计算机/VMware-vSphere-7.0云平台运维与管理(第2版)" data-for="Book/计算机/VMware-vSphere-7.0云平台运维与管理(第2版)">VMware vSphere 7.0云平台运维与管理(第2版)</a></li></li><li><li><a href="../../../Book/计算机/人人都懂设计模式:从生活中领悟设计模式(Python实现)" data-for="Book/计算机/人人都懂设计模式:从生活中领悟设计模式(Python实现)">人人都懂设计模式:从生活中领悟设计模式(Python实现)</a></li></li><li><li><a href="../../../Book/计算机/从0到1:HTML+CSS快速上手" data-for="Book/计算机/从0到1:HTML+CSS快速上手">从0到1:HTML+CSS快速上手</a></li></li><li><li><a href="../../../Book/计算机/从0到1:HTML5+CSS3修炼之道" data-for="Book/计算机/从0到1:HTML5+CSS3修炼之道">从0到1:HTML5+CSS3修炼之道</a></li></li><li><li><a href="../../../Book/计算机/从0到1:JavaScript-快速上手" data-for="Book/计算机/从0到1:JavaScript-快速上手">从0到1:JavaScript 快速上手</a></li></li><li><li><a href="../../../Book/计算机/从0到1:jQuery快速上手" data-for="Book/计算机/从0到1:jQuery快速上手">从0到1:jQuery快速上手</a></li></li><li><li><a href="../../../Book/计算机/明解Python" data-for="Book/计算机/明解Python">明解Python</a></li></li><li><li><a href="../../../Book/计算机/每天5分钟玩转Docker容器技术" data-for="Book/计算机/每天5分钟玩转Docker容器技术">每天5分钟玩转Docker容器技术</a></li></li><li><li><a href="../../../Book/计算机/流畅的Python" data-for="Book/计算机/流畅的Python">流畅的Python</a></li></li><li><li><a href="../../../Book/计算机/硅谷之火:个人计算机的诞生与衰落(第3版)" data-for="Book/计算机/硅谷之火:个人计算机的诞生与衰落(第3版)">硅谷之火:个人计算机的诞生与衰落(第3版)</a></li></li><li><li><a href="../../../Book/计算机/秒懂设计模式" data-for="Book/计算机/秒懂设计模式">秒懂设计模式</a></li></li><li><li><a href="../../../Book/计算机/程序员的README" data-for="Book/计算机/程序员的README">程序员的README</a></li></li><li><li><a href="../../../Book/计算机/精通Python设计模式(第2版)" data-for="Book/计算机/精通Python设计模式(第2版)">精通Python设计模式(第2版)</a></li></li><li><li><a href="../../../Book/计算机/网络安全等级保护2.0:定级、测评、实施与运维" data-for="Book/计算机/网络安全等级保护2.0:定级、测评、实施与运维">网络安全等级保护2.0:定级、测评、实施与运维</a></li></li><li><li><a href="../../../Book/计算机/网络工程师红宝书:思科华为华三实战案例荟萃" data-for="Book/计算机/网络工程师红宝书:思科华为华三实战案例荟萃">网络工程师红宝书:思科华为华三实战案例荟萃</a></li></li><li><li><a href="../../../Book/计算机/网络是怎样连接的" data-for="Book/计算机/网络是怎样连接的">网络是怎样连接的</a></li></li><li><li><a href="../../../Book/计算机/网络运维亲历记-(网络运维纪实文学)" data-for="Book/计算机/网络运维亲历记-(网络运维纪实文学)">网络运维亲历记 (网络运维纪实文学)</a></li></li><li><li><a href="../../../Book/计算机/虚拟化工程师运维实战:VMware服务器虚拟化+Citrix桌面应用虚拟化+Veeam备份+Zabbix监控" data-for="Book/计算机/虚拟化工程师运维实战:VMware服务器虚拟化+Citrix桌面应用虚拟化+Veeam备份+Zabbix监控">虚拟化工程师运维实战:VMware服务器虚拟化+Citrix桌面/应用虚拟化+Veeam备份+Zabbix监控</a></li></li><li><li><a href="../../../Book/计算机/计算机:一部历史" data-for="Book/计算机/计算机:一部历史">计算机:一部历史</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Company"><button class="folder-button"><p class="folder-title">Company</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Company"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Company/信息化"><button class="folder-button"><p class="folder-title">信息化</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Company/信息化"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Company/信息化/规范"><button class="folder-button"><p class="folder-title">规范</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Company/信息化/规范"><li><li><a href="../../../Company/信息化/规范/计算机命名规范" data-for="Company/信息化/规范/计算机命名规范">计算机命名规范</a></li></li></ul></div></div></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Culture"><button class="folder-button"><p class="folder-title">Culture</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Culture"><li><li><a href="../../../Culture/Home" data-for="Culture/Home">传统文化</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Government"><button class="folder-button"><p class="folder-title">Government</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Government"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Government/中国"><button class="folder-button"><p class="folder-title">中国</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Government/中国"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Government/中国/标准"><button class="folder-button"><p class="folder-title">标准</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Government/中国/标准"><li><li><a href="../../../Government/中国/标准/标准组织" data-for="Government/中国/标准/标准组织">标准组织</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Government/中国/法律"><button class="folder-button"><p class="folder-title">法律</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Government/中国/法律"><li><li><a href="../../../Government/中国/法律/法律文书" data-for="Government/中国/法律/法律文书">法律文书</a></li></li></ul></div></div></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal"><button class="folder-button"><p class="folder-title">Journal</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022"><button class="folder-button"><p class="folder-title">2022</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W34"><button class="folder-button"><p class="folder-title">W34</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W34"><li><li><a href="../../../Journal/2022/W34/2022-08-24" data-for="Journal/2022/W34/2022-08-24">2022-08-24</a></li></li><li><li><a href="../../../Journal/2022/W34/2022-08-25" data-for="Journal/2022/W34/2022-08-25">2022-08-25</a></li></li><li><li><a href="../../../Journal/2022/W34/2022-08-26" data-for="Journal/2022/W34/2022-08-26">2022-08-26</a></li></li><li><li><a href="../../../Journal/2022/W34/2022-08-27" data-for="Journal/2022/W34/2022-08-27">2022-08-27</a></li></li><li><li><a href="../../../Journal/2022/W34/2022-08-28" data-for="Journal/2022/W34/2022-08-28">2022-08-28</a></li></li><li><li><a href="../../../Journal/2022/W34/2022-W34" data-for="Journal/2022/W34/2022-W34">2022-W34</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W35"><button class="folder-button"><p class="folder-title">W35</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W35"><li><li><a href="../../../Journal/2022/W35/2022-08-29" data-for="Journal/2022/W35/2022-08-29">2022-08-29</a></li></li><li><li><a href="../../../Journal/2022/W35/2022-08-30" data-for="Journal/2022/W35/2022-08-30">2022-08-30</a></li></li><li><li><a href="../../../Journal/2022/W35/2022-08-31" data-for="Journal/2022/W35/2022-08-31">2022-08-31</a></li></li><li><li><a href="../../../Journal/2022/W35/2022-09-01" data-for="Journal/2022/W35/2022-09-01">2022-09-01</a></li></li><li><li><a href="../../../Journal/2022/W35/2022-W35" data-for="Journal/2022/W35/2022-W35">2022-W35</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W36"><button class="folder-button"><p class="folder-title">W36</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W36"><li><li><a href="../../../Journal/2022/W36/2022-09-05" data-for="Journal/2022/W36/2022-09-05">2022-09-05</a></li></li><li><li><a href="../../../Journal/2022/W36/2022-09-06" data-for="Journal/2022/W36/2022-09-06">2022-09-06</a></li></li><li><li><a href="../../../Journal/2022/W36/2022-09-07" data-for="Journal/2022/W36/2022-09-07">2022-09-07</a></li></li><li><li><a href="../../../Journal/2022/W36/2022-09-08" data-for="Journal/2022/W36/2022-09-08">2022-09-08</a></li></li><li><li><a href="../../../Journal/2022/W36/2022-W36" data-for="Journal/2022/W36/2022-W36">2022-W36</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W37"><button class="folder-button"><p class="folder-title">W37</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W37"><li><li><a href="../../../Journal/2022/W37/2022-09-12" data-for="Journal/2022/W37/2022-09-12">2022-09-12</a></li></li><li><li><a href="../../../Journal/2022/W37/2022-09-13" data-for="Journal/2022/W37/2022-09-13">2022-09-13</a></li></li><li><li><a href="../../../Journal/2022/W37/2022-09-14" data-for="Journal/2022/W37/2022-09-14">2022-09-14</a></li></li><li><li><a href="../../../Journal/2022/W37/2022-09-15" data-for="Journal/2022/W37/2022-09-15">2022-09-15</a></li></li><li><li><a href="../../../Journal/2022/W37/2022-09-16" data-for="Journal/2022/W37/2022-09-16">2022-09-16</a></li></li><li><li><a href="../../../Journal/2022/W37/2022-09-17" data-for="Journal/2022/W37/2022-09-17">2022-09-17</a></li></li><li><li><a href="../../../Journal/2022/W37/2022-09-18" data-for="Journal/2022/W37/2022-09-18">2022-09-18</a></li></li><li><li><a href="../../../Journal/2022/W37/2022-W37" data-for="Journal/2022/W37/2022-W37">2022-W37</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W38"><button class="folder-button"><p class="folder-title">W38</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W38"><li><li><a href="../../../Journal/2022/W38/2022-09-19" data-for="Journal/2022/W38/2022-09-19">2022-09-19</a></li></li><li><li><a href="../../../Journal/2022/W38/2022-09-20" data-for="Journal/2022/W38/2022-09-20">2022-09-20</a></li></li><li><li><a href="../../../Journal/2022/W38/2022-09-21" data-for="Journal/2022/W38/2022-09-21">2022-09-21</a></li></li><li><li><a href="../../../Journal/2022/W38/2022-09-22" data-for="Journal/2022/W38/2022-09-22">2022-09-22</a></li></li><li><li><a href="../../../Journal/2022/W38/2022-W38" data-for="Journal/2022/W38/2022-W38">2022-W38</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W39"><button class="folder-button"><p class="folder-title">W39</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W39"><li><li><a href="../../../Journal/2022/W39/2022-09-28" data-for="Journal/2022/W39/2022-09-28">2022-09-28</a></li></li><li><li><a href="../../../Journal/2022/W39/2022-09-29" data-for="Journal/2022/W39/2022-09-29">2022-09-29</a></li></li><li><li><a href="../../../Journal/2022/W39/2022-W39" data-for="Journal/2022/W39/2022-W39">2022-W39</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W41"><button class="folder-button"><p class="folder-title">W41</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W41"><li><li><a href="../../../Journal/2022/W41/2022-10-10" data-for="Journal/2022/W41/2022-10-10">2022-10-10</a></li></li><li><li><a href="../../../Journal/2022/W41/2022-10-11" data-for="Journal/2022/W41/2022-10-11">2022-10-11</a></li></li><li><li><a href="../../../Journal/2022/W41/2022-10-12" data-for="Journal/2022/W41/2022-10-12">2022-10-12</a></li></li><li><li><a href="../../../Journal/2022/W41/2022-10-13" data-for="Journal/2022/W41/2022-10-13">2022-10-13</a></li></li><li><li><a href="../../../Journal/2022/W41/2022-10-14" data-for="Journal/2022/W41/2022-10-14">2022-10-14</a></li></li><li><li><a href="../../../Journal/2022/W41/2022-10-16" data-for="Journal/2022/W41/2022-10-16">2022-10-16</a></li></li><li><li><a href="../../../Journal/2022/W41/2022-W41" data-for="Journal/2022/W41/2022-W41">2022-W41</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W42"><button class="folder-button"><p class="folder-title">W42</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W42"><li><li><a href="../../../Journal/2022/W42/2022-10-17" data-for="Journal/2022/W42/2022-10-17">2022-10-17</a></li></li><li><li><a href="../../../Journal/2022/W42/2022-10-18" data-for="Journal/2022/W42/2022-10-18">2022-10-18</a></li></li><li><li><a href="../../../Journal/2022/W42/2022-10-19" data-for="Journal/2022/W42/2022-10-19">2022-10-19</a></li></li><li><li><a href="../../../Journal/2022/W42/2022-10-21" data-for="Journal/2022/W42/2022-10-21">2022-10-21</a></li></li><li><li><a href="../../../Journal/2022/W42/2022-W42" data-for="Journal/2022/W42/2022-W42">2022-W42</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W43"><button class="folder-button"><p class="folder-title">W43</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W43"><li><li><a href="../../../Journal/2022/W43/2022-10-24" data-for="Journal/2022/W43/2022-10-24">2022-10-24</a></li></li><li><li><a href="../../../Journal/2022/W43/2022-10-26" data-for="Journal/2022/W43/2022-10-26">2022-10-26</a></li></li><li><li><a href="../../../Journal/2022/W43/2022-W43" data-for="Journal/2022/W43/2022-W43">2022-W43</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W44"><button class="folder-button"><p class="folder-title">W44</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W44"><li><li><a href="../../../Journal/2022/W44/2022-11-02" data-for="Journal/2022/W44/2022-11-02">2022-11-02</a></li></li><li><li><a href="../../../Journal/2022/W44/2022-W44" data-for="Journal/2022/W44/2022-W44">2022-W44</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W45"><button class="folder-button"><p class="folder-title">W45</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W45"><li><li><a href="../../../Journal/2022/W45/2022-11-10" data-for="Journal/2022/W45/2022-11-10">2022-11-10</a></li></li><li><li><a href="../../../Journal/2022/W45/2022-11-11" data-for="Journal/2022/W45/2022-11-11">2022-11-11</a></li></li><li><li><a href="../../../Journal/2022/W45/2022-11-12" data-for="Journal/2022/W45/2022-11-12">2022-11-12</a></li></li><li><li><a href="../../../Journal/2022/W45/2022-11-13" data-for="Journal/2022/W45/2022-11-13">2022-11-13</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W46"><button class="folder-button"><p class="folder-title">W46</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W46"><li><li><a href="../../../Journal/2022/W46/2022-11-18" data-for="Journal/2022/W46/2022-11-18">2022-11-18</a></li></li><li><li><a href="../../../Journal/2022/W46/2022-11-20" data-for="Journal/2022/W46/2022-11-20">2022-11-20</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W47"><button class="folder-button"><p class="folder-title">W47</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W47"><li><li><a href="../../../Journal/2022/W47/2022-11-21" data-for="Journal/2022/W47/2022-11-21">2022-11-21</a></li></li><li><li><a href="../../../Journal/2022/W47/2022-11-22" data-for="Journal/2022/W47/2022-11-22">2022-11-22</a></li></li><li><li><a href="../../../Journal/2022/W47/2022-W47" data-for="Journal/2022/W47/2022-W47">2022-W47</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W48"><button class="folder-button"><p class="folder-title">W48</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W48"><li><li><a href="../../../Journal/2022/W48/2022-11-28" data-for="Journal/2022/W48/2022-11-28">2022-11-28</a></li></li><li><li><a href="../../../Journal/2022/W48/2022-11-29" data-for="Journal/2022/W48/2022-11-29">2022-11-29</a></li></li><li><li><a href="../../../Journal/2022/W48/2022-12-01" data-for="Journal/2022/W48/2022-12-01">2022-12-01</a></li></li><li><li><a href="../../../Journal/2022/W48/2022-12-04" data-for="Journal/2022/W48/2022-12-04">2022-12-04</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W49"><button class="folder-button"><p class="folder-title">W49</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W49"><li><li><a href="../../../Journal/2022/W49/2022-12-06" data-for="Journal/2022/W49/2022-12-06">2022-12-06</a></li></li><li><li><a href="../../../Journal/2022/W49/2022-W49" data-for="Journal/2022/W49/2022-W49">2022-W49</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W50"><button class="folder-button"><p class="folder-title">W50</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W50"><li><li><a href="../../../Journal/2022/W50/2022-12-12" data-for="Journal/2022/W50/2022-12-12">2022-12-12</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023"><button class="folder-button"><p class="folder-title">2023</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W2"><button class="folder-button"><p class="folder-title">W2</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W2"><li><li><a href="../../../Journal/2023/W2/2023-W2" data-for="Journal/2023/W2/2023-W2">2023-W2</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W3"><button class="folder-button"><p class="folder-title">W3</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W3"><li><li><a href="../../../Journal/2023/W3/2023-01-16" data-for="Journal/2023/W3/2023-01-16">2023-01-16</a></li></li><li><li><a href="../../../Journal/2023/W3/2023-01-18" data-for="Journal/2023/W3/2023-01-18">2023-01-18</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W5"><button class="folder-button"><p class="folder-title">W5</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W5"><li><li><a href="../../../Journal/2023/W5/2023-W5" data-for="Journal/2023/W5/2023-W5">2023-W5</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W6"><button class="folder-button"><p class="folder-title">W6</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W6"><li><li><a href="../../../Journal/2023/W6/2023-W6" data-for="Journal/2023/W6/2023-W6">2023-W6</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W7"><button class="folder-button"><p class="folder-title">W7</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W7"><li><li><a href="../../../Journal/2023/W7/2023-02-14" data-for="Journal/2023/W7/2023-02-14">2023-02-14</a></li></li><li><li><a href="../../../Journal/2023/W7/2023-02-15" data-for="Journal/2023/W7/2023-02-15">2023-02-15</a></li></li><li><li><a href="../../../Journal/2023/W7/2023-02-16" data-for="Journal/2023/W7/2023-02-16">2023-02-16</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W8"><button class="folder-button"><p class="folder-title">W8</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W8"><li><li><a href="../../../Journal/2023/W8/2023-02-20" data-for="Journal/2023/W8/2023-02-20">2023-02-20</a></li></li><li><li><a href="../../../Journal/2023/W8/2023-02-22" data-for="Journal/2023/W8/2023-02-22">2023-02-22</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W10"><button class="folder-button"><p class="folder-title">W10</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W10"><li><li><a href="../../../Journal/2023/W10/2023-W10" data-for="Journal/2023/W10/2023-W10">2023-W10</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W12"><button class="folder-button"><p class="folder-title">W12</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W12"><li><li><a href="../../../Journal/2023/W12/2023-03-20" data-for="Journal/2023/W12/2023-03-20">2023-03-20</a></li></li><li><li><a href="../../../Journal/2023/W12/2023-03-21" data-for="Journal/2023/W12/2023-03-21">2023-03-21</a></li></li><li><li><a href="../../../Journal/2023/W12/2023-W12" data-for="Journal/2023/W12/2023-W12">2023-W12</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W14"><button class="folder-button"><p class="folder-title">W14</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W14"><li><li><a href="../../../Journal/2023/W14/2023-04-08" data-for="Journal/2023/W14/2023-04-08">2023-04-08</a></li></li><li><li><a href="../../../Journal/2023/W14/2023-W14" data-for="Journal/2023/W14/2023-W14">2023-W14</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W16"><button class="folder-button"><p class="folder-title">W16</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W16"><li><li><a href="../../../Journal/2023/W16/2023-04-21" data-for="Journal/2023/W16/2023-04-21">2023-04-21</a></li></li><li><li><a href="../../../Journal/2023/W16/2023-04-23" data-for="Journal/2023/W16/2023-04-23">2023-04-23</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W22"><button class="folder-button"><p class="folder-title">W22</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W22"><li><li><a href="../../../Journal/2023/W22/2023-05-31" data-for="Journal/2023/W22/2023-05-31">2023-05-31</a></li></li><li><li><a href="../../../Journal/2023/W22/2023-06-01" data-for="Journal/2023/W22/2023-06-01">2023-06-01</a></li></li><li><li><a href="../../../Journal/2023/W22/2023-W22" data-for="Journal/2023/W22/2023-W22">2023-W22</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W23"><button class="folder-button"><p class="folder-title">W23</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W23"><li><li><a href="../../../Journal/2023/W23/2023-06-05" data-for="Journal/2023/W23/2023-06-05">2023-06-05</a></li></li><li><li><a href="../../../Journal/2023/W23/2023-06-08" data-for="Journal/2023/W23/2023-06-08">2023-06-08</a></li></li><li><li><a href="../../../Journal/2023/W23/2023-W23" data-for="Journal/2023/W23/2023-W23">2023-W23</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W24"><button class="folder-button"><p class="folder-title">W24</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W24"><li><li><a href="../../../Journal/2023/W24/2023-06-12" data-for="Journal/2023/W24/2023-06-12">2023-06-12</a></li></li><li><li><a href="../../../Journal/2023/W24/2023-06-13" data-for="Journal/2023/W24/2023-06-13">2023-06-13</a></li></li><li><li><a href="../../../Journal/2023/W24/2023-06-15" data-for="Journal/2023/W24/2023-06-15">2023-06-15</a></li></li><li><li><a href="../../../Journal/2023/W24/2023-W24" data-for="Journal/2023/W24/2023-W24">2023-W24</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W25"><button class="folder-button"><p class="folder-title">W25</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W25"><li><li><a href="../../../Journal/2023/W25/2023-W25" data-for="Journal/2023/W25/2023-W25">2023-W25</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W26"><button class="folder-button"><p class="folder-title">W26</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W26"><li><li><a href="../../../Journal/2023/W26/2023-06-26" data-for="Journal/2023/W26/2023-06-26">2023-06-26</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W31"><button class="folder-button"><p class="folder-title">W31</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W31"><li><li><a href="../../../Journal/2023/W31/2023-W31" data-for="Journal/2023/W31/2023-W31">2023-W31</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W32"><button class="folder-button"><p class="folder-title">W32</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W32"><li><li><a href="../../../Journal/2023/W32/2023-08-07" data-for="Journal/2023/W32/2023-08-07">2023-08-07</a></li></li><li><li><a href="../../../Journal/2023/W32/2023-08-08" data-for="Journal/2023/W32/2023-08-08">2023-08-08</a></li></li><li><li><a href="../../../Journal/2023/W32/2023-W32" data-for="Journal/2023/W32/2023-W32">2023-W32</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W33"><button class="folder-button"><p class="folder-title">W33</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W33"><li><li><a href="../../../Journal/2023/W33/2023-W33" data-for="Journal/2023/W33/2023-W33">2023-W33</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W35"><button class="folder-button"><p class="folder-title">W35</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W35"><li><li><a href="../../../Journal/2023/W35/2023-W35" data-for="Journal/2023/W35/2023-W35">2023-W35</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W36"><button class="folder-button"><p class="folder-title">W36</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W36"><li><li><a href="../../../Journal/2023/W36/2023-W36" data-for="Journal/2023/W36/2023-W36">2023-W36</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W37"><button class="folder-button"><p class="folder-title">W37</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W37"><li><li><a href="../../../Journal/2023/W37/2023-W37" data-for="Journal/2023/W37/2023-W37">2023-W37</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W40"><button class="folder-button"><p class="folder-title">W40</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W40"><li><li><a href="../../../Journal/2023/W40/2023-W40" data-for="Journal/2023/W40/2023-W40">2023-W40</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W45"><button class="folder-button"><p class="folder-title">W45</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W45"><li><li><a href="../../../Journal/2023/W45/2023-11-12" data-for="Journal/2023/W45/2023-11-12">2023-11-12</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W46"><button class="folder-button"><p class="folder-title">W46</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W46"><li><li><a href="../../../Journal/2023/W46/2023-11-15" data-for="Journal/2023/W46/2023-11-15">2023-11-15</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W48"><button class="folder-button"><p class="folder-title">W48</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W48"><li><li><a href="../../../Journal/2023/W48/2023-W48" data-for="Journal/2023/W48/2023-W48">2023-W48</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W49"><button class="folder-button"><p class="folder-title">W49</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W49"><li><li><a href="../../../Journal/2023/W49/2023-12-07" data-for="Journal/2023/W49/2023-12-07">2023-12-07</a></li></li><li><li><a href="../../../Journal/2023/W49/2023-W49" data-for="Journal/2023/W49/2023-W49">2023-W49</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W50"><button class="folder-button"><p class="folder-title">W50</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W50"><li><li><a href="../../../Journal/2023/W50/2023-12-12" data-for="Journal/2023/W50/2023-12-12">2023-12-12</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024"><button class="folder-button"><p class="folder-title">2024</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W8"><button class="folder-button"><p class="folder-title">W8</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W8"><li><li><a href="../../../Journal/2024/W8/2024-02-22" data-for="Journal/2024/W8/2024-02-22">2024-02-22</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W10"><button class="folder-button"><p class="folder-title">W10</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W10"><li><li><a href="../../../Journal/2024/W10/2024-03-05" data-for="Journal/2024/W10/2024-03-05">2024-03-05</a></li></li><li><li><a href="../../../Journal/2024/W10/2024-03-06" data-for="Journal/2024/W10/2024-03-06">2024-03-06</a></li></li><li><li><a href="../../../Journal/2024/W10/2024-03-07" data-for="Journal/2024/W10/2024-03-07">2024-03-07</a></li></li><li><li><a href="../../../Journal/2024/W10/2024-W10" data-for="Journal/2024/W10/2024-W10">2024-W10</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W11"><button class="folder-button"><p class="folder-title">W11</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W11"><li><li><a href="../../../Journal/2024/W11/2024-03-11" data-for="Journal/2024/W11/2024-03-11">2024-03-11</a></li></li><li><li><a href="../../../Journal/2024/W11/2024-03-12" data-for="Journal/2024/W11/2024-03-12">2024-03-12</a></li></li><li><li><a href="../../../Journal/2024/W11/2024-03-13" data-for="Journal/2024/W11/2024-03-13">2024-03-13</a></li></li><li><li><a href="../../../Journal/2024/W11/2024-W11" data-for="Journal/2024/W11/2024-W11">2024-W11</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W12"><button class="folder-button"><p class="folder-title">W12</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W12"><li><li><a href="../../../Journal/2024/W12/2024-03-20" data-for="Journal/2024/W12/2024-03-20">2024-03-20</a></li></li><li><li><a href="../../../Journal/2024/W12/2024-W12" data-for="Journal/2024/W12/2024-W12">2024-W12</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W14"><button class="folder-button"><p class="folder-title">W14</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W14"><li><li><a href="../../../Journal/2024/W14/2024-W14" data-for="Journal/2024/W14/2024-W14">2024-W14</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W16"><button class="folder-button"><p class="folder-title">W16</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W16"><li><li><a href="../../../Journal/2024/W16/2024-W16" data-for="Journal/2024/W16/2024-W16">2024-W16</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W17"><button class="folder-button"><p class="folder-title">W17</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W17"><li><li><a href="../../../Journal/2024/W17/2024-04-24" data-for="Journal/2024/W17/2024-04-24">2024-04-24</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W22"><button class="folder-button"><p class="folder-title">W22</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W22"><li><li><a href="../../../Journal/2024/W22/2024-06-02" data-for="Journal/2024/W22/2024-06-02">2024-06-02</a></li></li><li><li><a href="../../../Journal/2024/W22/2024-W22" data-for="Journal/2024/W22/2024-W22">2024-W22</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W23"><button class="folder-button"><p class="folder-title">W23</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W23"><li><li><a href="../../../Journal/2024/W23/2024-06-03" data-for="Journal/2024/W23/2024-06-03">2024-06-03</a></li></li><li><li><a href="../../../Journal/2024/W23/2024-06-04" data-for="Journal/2024/W23/2024-06-04">2024-06-04</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W24"><button class="folder-button"><p class="folder-title">W24</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W24"><li><li><a href="../../../Journal/2024/W24/2024-06-12" data-for="Journal/2024/W24/2024-06-12">2024-06-12</a></li></li><li><li><a href="../../../Journal/2024/W24/2024-W24" data-for="Journal/2024/W24/2024-W24">2024-W24</a></li></li></ul></div></div></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Life"><button class="folder-button"><p class="folder-title">Life</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Life"><li><li><a href="../../../Life/Home" data-for="Life/Home">生活相关</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Scholar"><button class="folder-button"><p class="folder-title">Scholar</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Scholar"><li><li><a href="../../../Scholar/Home" data-for="Scholar/Home">学术</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech"><button class="folder-button"><p class="folder-title">Tech</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/cloud-service"><button class="folder-button"><p class="folder-title">cloud-service</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/cloud-service"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/cloud-service/基础"><button class="folder-button"><p class="folder-title">基础</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/cloud-service/基础"><li><li><a href="../../../Tech/cloud-service/基础/IT-基础架构" data-for="Tech/cloud-service/基础/IT-基础架构">IT 基础架构</a></li></li><li><li><a href="../../../Tech/cloud-service/基础/云计算" data-for="Tech/cloud-service/基础/云计算">云计算概述</a></li></li><li><li><a href="../../../Tech/cloud-service/基础/功能即服务(FaaS)" data-for="Tech/cloud-service/基础/功能即服务(FaaS)">功能即服务(FaaS)</a></li></li><li><li><a href="../../../Tech/cloud-service/基础/基础架构即服务(IaaS)" data-for="Tech/cloud-service/基础/基础架构即服务(IaaS)">基础架构即服务(IaaS)</a></li></li><li><li><a href="../../../Tech/cloud-service/基础/平台即服务(PaaS)" data-for="Tech/cloud-service/基础/平台即服务(PaaS)">平台即服务(PaaS)</a></li></li><li><li><a href="../../../Tech/cloud-service/基础/软件即服务(SaaS)" data-for="Tech/cloud-service/基础/软件即服务(SaaS)">软件即服务(SaaS)</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-network"><button class="folder-button"><p class="folder-title">computer-network</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-network"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-network/Nginx"><button class="folder-button"><p class="folder-title">Nginx</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-network/Nginx"><li><li><a href="../../../Tech/computer-network/Nginx/概述" data-for="Tech/computer-network/Nginx/概述">Nginx 概述</a></li></li><li><li><a href="../../../Tech/computer-network/Nginx/内容缓存" data-for="Tech/computer-network/Nginx/内容缓存">内容缓存</a></li></li><li><li><a href="../../../Tech/computer-network/Nginx/基础配置" data-for="Tech/computer-network/Nginx/基础配置">基础配置</a></li></li><li><li><a href="../../../Tech/computer-network/Nginx/负载均衡" data-for="Tech/computer-network/Nginx/负载均衡">负载均衡</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-network/应用服务"><button class="folder-button"><p class="folder-title">应用服务</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-network/应用服务"><li><li><a href="../../../Tech/computer-network/应用服务/CDN-内容分发网络" data-for="Tech/computer-network/应用服务/CDN-内容分发网络">CDN 内容分发网络</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-network/网络协议"><button class="folder-button"><p class="folder-title">网络协议</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-network/网络协议"><li><li><a href="../../../Tech/computer-network/网络协议/DHCP-动态主机配置协议" data-for="Tech/computer-network/网络协议/DHCP-动态主机配置协议">DHCP 动态主机配置协议</a></li></li><li><li><a href="../../../Tech/computer-network/网络协议/DNS-域名系统" data-for="Tech/computer-network/网络协议/DNS-域名系统">DNS 域名系统</a></li></li><li><li><a href="../../../Tech/computer-network/网络协议/IP-网际协议" data-for="Tech/computer-network/网络协议/IP-网际协议">IP 网际协议</a></li></li><li><li><a href="../../../Tech/computer-network/网络协议/TCP-传输控制协议" data-for="Tech/computer-network/网络协议/TCP-传输控制协议">TCP 传输控制协议</a></li></li><li><li><a href="../../../Tech/computer-network/网络协议/UDP-用户数据报协议" data-for="Tech/computer-network/网络协议/UDP-用户数据报协议">UDP 用户数据报协议</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-network/网络基础"><button class="folder-button"><p class="folder-title">网络基础</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-network/网络基础"><li><li><a href="../../../Tech/computer-network/网络基础/网络基础" data-for="Tech/computer-network/网络基础/网络基础">网络基础</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security"><button class="folder-button"><p class="folder-title">computer-security</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/信息安全"><button class="folder-button"><p class="folder-title">信息安全</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/信息安全"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/信息安全/OpenPGP"><button class="folder-button"><p class="folder-title">OpenPGP</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/信息安全/OpenPGP"><li><li><a href="../../../Tech/computer-security/信息安全/OpenPGP/GnuPG-简明指南" data-for="Tech/computer-security/信息安全/OpenPGP/GnuPG-简明指南">GnuPG 简明指南</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/密码学"><button class="folder-button"><p class="folder-title">密码学</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/密码学"><li><li><a href="../../../Tech/computer-security/密码学/简明指南" data-for="Tech/computer-security/密码学/简明指南">简明指南</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/用户安全"><button class="folder-button"><p class="folder-title">用户安全</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/用户安全"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/用户安全/权限设计"><button class="folder-button"><p class="folder-title">权限设计</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/用户安全/权限设计"><li><li><a href="../../../Tech/computer-security/用户安全/权限设计/主流权限系统的设计" data-for="Tech/computer-security/用户安全/权限设计/主流权限系统的设计">主流权限系统的设计</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/用户安全/用户鉴权"><button class="folder-button"><p class="folder-title">用户鉴权</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/用户安全/用户鉴权"><li><li><a href="../../../Tech/computer-security/用户安全/用户鉴权/HTTP-基本鉴权" data-for="Tech/computer-security/用户安全/用户鉴权/HTTP-基本鉴权">HTTP 基本鉴权</a></li></li><li><li><a href="../../../Tech/computer-security/用户安全/用户鉴权/JWT(JSON-Web-Token)鉴权" data-for="Tech/computer-security/用户安全/用户鉴权/JWT(JSON-Web-Token)鉴权">JWT 鉴权</a></li></li><li><li><a href="../../../Tech/computer-security/用户安全/用户鉴权/OAuth-鉴权" data-for="Tech/computer-security/用户安全/用户鉴权/OAuth-鉴权">OAuth 鉴权</a></li></li><li><li><a href="../../../Tech/computer-security/用户安全/用户鉴权/Session-Cookie-鉴权" data-for="Tech/computer-security/用户安全/用户鉴权/Session-Cookie-鉴权">Session-Cookie 鉴权</a></li></li><li><li><a href="../../../Tech/computer-security/用户安全/用户鉴权/单点登录(Single-Sign-On)" data-for="Tech/computer-security/用户安全/用户鉴权/单点登录(Single-Sign-On)">SSO 单点登录</a></li></li><li><li><a href="../../../Tech/computer-security/用户安全/用户鉴权/Token-鉴权" data-for="Tech/computer-security/用户安全/用户鉴权/Token-鉴权">Token 鉴权</a></li></li><li><li><a href="../../../Tech/computer-security/用户安全/用户鉴权/一键登录(适用于原生APP)" data-for="Tech/computer-security/用户安全/用户鉴权/一键登录(适用于原生APP)">一键登录</a></li></li><li><li><a href="../../../Tech/computer-security/用户安全/用户鉴权/唯一登录" data-for="Tech/computer-security/用户安全/用户鉴权/唯一登录">唯一登录</a></li></li><li><li><a href="../../../Tech/computer-security/用户安全/用户鉴权/扫码登录" data-for="Tech/computer-security/用户安全/用户鉴权/扫码登录">扫码登录</a></li></li><li><li><a href="../../../Tech/computer-security/用户安全/用户鉴权/联合登录和信任登录" data-for="Tech/computer-security/用户安全/用户鉴权/联合登录和信任登录">联合登录和信任登录</a></li></li></ul></div></div></li><li><li><a href="../../../Tech/computer-security/用户安全/简明指南" data-for="Tech/computer-security/用户安全/简明指南">简明指南</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/系统安全"><button class="folder-button"><p class="folder-title">系统安全</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/系统安全"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/系统安全/防火墙"><button class="folder-button"><p class="folder-title">防火墙</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/系统安全/防火墙"><li><li><a href="../../../Tech/computer-security/系统安全/防火墙/网络端口大全" data-for="Tech/computer-security/系统安全/防火墙/网络端口大全">网络端口大全</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/网络安全"><button class="folder-button"><p class="folder-title">网络安全</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/网络安全"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/网络安全/OpenSSH"><button class="folder-button"><p class="folder-title">OpenSSH</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/网络安全/OpenSSH"><li><li><a href="../../../Tech/computer-security/网络安全/OpenSSH/OpenSSH-使用方法" data-for="Tech/computer-security/网络安全/OpenSSH/OpenSSH-使用方法">OpenSSH 使用方法</a></li></li><li><li><a href="../../../Tech/computer-security/网络安全/OpenSSH/OpenSSH-概述" data-for="Tech/computer-security/网络安全/OpenSSH/OpenSSH-概述">OpenSSH 概述</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/网络安全/OpenSSL"><button class="folder-button"><p class="folder-title">OpenSSL</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/网络安全/OpenSSL"><li><li><a href="../../../Tech/computer-security/网络安全/OpenSSL/简明指南" data-for="Tech/computer-security/网络安全/OpenSSL/简明指南">简明指南</a></li></li></ul></div></div></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/database-system"><button class="folder-button"><p class="folder-title">database-system</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/database-system"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/database-system/PostgreSQL"><button class="folder-button"><p class="folder-title">PostgreSQL</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/database-system/PostgreSQL"><li><li><a href="../../../Tech/database-system/PostgreSQL/基本概念" data-for="Tech/database-system/PostgreSQL/基本概念">基本概念</a></li></li><li><li><a href="../../../Tech/database-system/PostgreSQL/安装配置" data-for="Tech/database-system/PostgreSQL/安装配置">安装配置</a></li></li><li><li><a href="../../../Tech/database-system/PostgreSQL/简介" data-for="Tech/database-system/PostgreSQL/简介">简介</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/database-system/SQL 语言"><button class="folder-button"><p class="folder-title">SQL 语言</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/database-system/SQL 语言"><li><li><a href="../../../Tech/database-system/SQL-语言/基础语法" data-for="Tech/database-system/SQL-语言/基础语法">基础语法</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/database-system/基础"><button class="folder-button"><p class="folder-title">基础</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/database-system/基础"><li><li><a href="../../../Tech/database-system/基础/关系型数据库" data-for="Tech/database-system/基础/关系型数据库">关系型数据库</a></li></li><li><li><a href="../../../Tech/database-system/基础/数据库概述" data-for="Tech/database-system/基础/数据库概述">数据库概述</a></li></li><li><li><a href="../../../Tech/database-system/基础/非关系型数据库" data-for="Tech/database-system/基础/非关系型数据库">非关系型数据库</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started"><button class="folder-button"><p class="folder-title">getting-started</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/命令行工具"><button class="folder-button"><p class="folder-title">命令行工具</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/命令行工具"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/命令行工具/PowerShell"><button class="folder-button"><p class="folder-title">PowerShell</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/命令行工具/PowerShell"><li><li><a href="../../../Tech/getting-started/命令行工具/PowerShell/PowerShell-入门" data-for="Tech/getting-started/命令行工具/PowerShell/PowerShell-入门">PowerShell 入门</a></li></li><li><li><a href="../../../Tech/getting-started/命令行工具/PowerShell/PowerShell-进阶" data-for="Tech/getting-started/命令行工具/PowerShell/PowerShell-进阶">PowerShell 进阶</a></li></li><li><li><a href="../../../Tech/getting-started/命令行工具/PowerShell/PowerShell-高级" data-for="Tech/getting-started/命令行工具/PowerShell/PowerShell-高级">PowerShell 高级</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/命令行工具/Shell"><button class="folder-button"><p class="folder-title">Shell</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/命令行工具/Shell"><li><li><a href="../../../Tech/getting-started/命令行工具/Shell/Shell-命令操作" data-for="Tech/getting-started/命令行工具/Shell/Shell-命令操作">Linux 命令行操作</a></li></li><li><li><a href="../../../Tech/getting-started/命令行工具/Shell/Shell-必备锦囊" data-for="Tech/getting-started/命令行工具/Shell/Shell-必备锦囊">Shell 必备锦囊</a></li></li><li><li><a href="../../../Tech/getting-started/命令行工具/Shell/Shell-是什么" data-for="Tech/getting-started/命令行工具/Shell/Shell-是什么">Shell 是什么</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/命令行工具/Vim"><button class="folder-button"><p class="folder-title">Vim</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/命令行工具/Vim"><li><li><a href="../../../Tech/getting-started/命令行工具/Vim/Vim-参考手册" data-for="Tech/getting-started/命令行工具/Vim/Vim-参考手册">Vim 参考手册</a></li></li><li><li><a href="../../../Tech/getting-started/命令行工具/Vim/Vim-帮助文档" data-for="Tech/getting-started/命令行工具/Vim/Vim-帮助文档">Vim 帮助文档</a></li></li><li><li><a href="../../../Tech/getting-started/命令行工具/Vim/Vim-入门" data-for="Tech/getting-started/命令行工具/Vim/Vim-入门">Vim 快速入门</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/开源指南"><button class="folder-button"><p class="folder-title">开源指南</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/开源指南"><li><li><a href="../../../Tech/getting-started/开源指南/如何向开源社区提问" data-for="Tech/getting-started/开源指南/如何向开源社区提问">如何向开源社区提问</a></li></li><li><li><a href="../../../Tech/getting-started/开源指南/如何有效报告-BUG" data-for="Tech/getting-started/开源指南/如何有效报告-BUG">如何有效报告 BUG</a></li></li><li><li><a href="../../../Tech/getting-started/开源指南/开源指北" data-for="Tech/getting-started/开源指南/开源指北">开源指北</a></li></li><li><li><a href="../../../Tech/getting-started/开源指南/提问的智慧" data-for="Tech/getting-started/开源指南/提问的智慧">提问的智慧</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/文本处理"><button class="folder-button"><p class="folder-title">文本处理</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/文本处理"><li><li><a href="../../../Tech/getting-started/文本处理/正则表达式" data-for="Tech/getting-started/文本处理/正则表达式">正则表达式</a></li></li><li><li><a href="../../../Tech/getting-started/文本处理/结构化文件" data-for="Tech/getting-started/文本处理/结构化文件">结构化文件</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/版本控制"><button class="folder-button"><p class="folder-title">版本控制</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/版本控制"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/版本控制/Git"><button class="folder-button"><p class="folder-title">Git</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/版本控制/Git"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/版本控制/Git/入门"><button class="folder-button"><p class="folder-title">入门</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/版本控制/Git/入门"><li><li><a href="../../../Tech/getting-started/版本控制/Git/入门/分支" data-for="Tech/getting-started/版本控制/Git/入门/分支">分支</a></li></li><li><li><a href="../../../Tech/getting-started/版本控制/Git/入门/协议" data-for="Tech/getting-started/版本控制/Git/入门/协议">协议</a></li></li><li><li><a href="../../../Tech/getting-started/版本控制/Git/入门/基础" data-for="Tech/getting-started/版本控制/Git/入门/基础">基础</a></li></li><li><li><a href="../../../Tech/getting-started/版本控制/Git/入门/起步" data-for="Tech/getting-started/版本控制/Git/入门/起步">起步</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/版本控制/Git/进阶"><button class="folder-button"><p class="folder-title">进阶</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/版本控制/Git/进阶"><li><li><a href="../../../Tech/getting-started/版本控制/Git/进阶/Git-LFS" data-for="Tech/getting-started/版本控制/Git/进阶/Git-LFS">Git-LFS</a></li></li><li><li><a href="../../../Tech/getting-started/版本控制/Git/进阶/参考手册" data-for="Tech/getting-started/版本控制/Git/进阶/参考手册">参考手册</a></li></li><li><li><a href="../../../Tech/getting-started/版本控制/Git/进阶/工作流" data-for="Tech/getting-started/版本控制/Git/进阶/工作流">工作流</a></li></li><li><li><a href="../../../Tech/getting-started/版本控制/Git/进阶/常用命令" data-for="Tech/getting-started/版本控制/Git/进阶/常用命令">常用命令</a></li></li><li><li><a href="../../../Tech/getting-started/版本控制/Git/进阶/常用技巧" data-for="Tech/getting-started/版本控制/Git/进阶/常用技巧">常用技巧</a></li></li><li><li><a href="../../../Tech/getting-started/版本控制/Git/进阶/思维导图" data-for="Tech/getting-started/版本控制/Git/进阶/思维导图">思维导图</a></li></li><li><li><a href="../../../Tech/getting-started/版本控制/Git/进阶/钩子" data-for="Tech/getting-started/版本控制/Git/进阶/钩子">钩子</a></li></li></ul></div></div></li></ul></div></div></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system"><button class="folder-button"><p class="folder-title">operating-system</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Automation"><button class="folder-button"><p class="folder-title">Automation</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Automation"><li><li><a href="../../../Tech/operating-system/Automation/Ansible" data-for="Tech/operating-system/Automation/Ansible">Ansible</a></li></li><li><li><a href="../../../Tech/operating-system/Automation/Cloud-init-快速部署" data-for="Tech/operating-system/Automation/Cloud-init-快速部署">Cloud-init</a></li></li><li><li><a href="../../../Tech/operating-system/Automation/PXE--系统部署" data-for="Tech/operating-system/Automation/PXE--系统部署">PXE 自动化部署</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Docker"><button class="folder-button"><p class="folder-title">Docker</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Docker"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Docker/基础"><button class="folder-button"><p class="folder-title">基础</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Docker/基础"><li><li><a href="../../../Tech/operating-system/Docker/基础/基础概念" data-for="Tech/operating-system/Docker/基础/基础概念">基础概念</a></li></li><li><li><a href="../../../Tech/operating-system/Docker/基础/安装配置" data-for="Tech/operating-system/Docker/基础/安装配置">安装配置</a></li></li><li><li><a href="../../../Tech/operating-system/Docker/基础/简介" data-for="Tech/operating-system/Docker/基础/简介">简介</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Docker/进阶"><button class="folder-button"><p class="folder-title">进阶</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Docker/进阶"><li><li><a href="../../../Tech/operating-system/Docker/进阶/Docker-Compose" data-for="Tech/operating-system/Docker/进阶/Docker-Compose">Docker Compose</a></li></li><li><li><a href="../../../Tech/operating-system/Docker/进阶/Docker-Dockerfile" data-for="Tech/operating-system/Docker/进阶/Docker-Dockerfile">Docker Dockerfile</a></li></li><li><li><a href="../../../Tech/operating-system/Docker/进阶/Docker-使用" data-for="Tech/operating-system/Docker/进阶/Docker-使用">Docker 使用</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Docker/高级"><button class="folder-button"><p class="folder-title">高级</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Docker/高级"><li><li><a href="../../../Tech/operating-system/Docker/高级/Docker-命令手册" data-for="Tech/operating-system/Docker/高级/Docker-命令手册">Docker 命令手册</a></li></li><li><li><a href="../../../Tech/operating-system/Docker/高级/Docker-存储" data-for="Tech/operating-system/Docker/高级/Docker-存储">Docker 存储</a></li></li><li><li><a href="../../../Tech/operating-system/Docker/高级/Docker-网络" data-for="Tech/operating-system/Docker/高级/Docker-网络">Docker 网络</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Linux"><button class="folder-button"><p class="folder-title">Linux</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Linux"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Linux/0.文化"><button class="folder-button"><p class="folder-title">0.文化</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Linux/0.文化"><li><li><a href="../../../Tech/operating-system/Linux/0.文化/GNU&Linux-历史与发展" data-for="Tech/operating-system/Linux/0.文化/GNU&Linux-历史与发展">GNU&Linux 历史与发展</a></li></li><li><li><a href="../../../Tech/operating-system/Linux/0.文化/GNU&Linux-社区与文化" data-for="Tech/operating-system/Linux/0.文化/GNU&Linux-社区与文化">GNU&Linux 社区与文化</a></li></li><li><li><a href="../../../Tech/operating-system/Linux/0.文化/开源软件的概念与重要性" data-for="Tech/operating-system/Linux/0.文化/开源软件的概念与重要性">开源软件的概念与重要性</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Linux/1.安装"><button class="folder-button"><p class="folder-title">1.安装</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Linux/1.安装"><li><li><a href="../../../Tech/operating-system/Linux/1.安装/Linux-下源代码编译与安装实战指南" data-for="Tech/operating-system/Linux/1.安装/Linux-下源代码编译与安装实战指南">Linux 下源代码编译与安装实战指南</a></li></li><li><li><a href="../../../Tech/operating-system/Linux/1.安装/Linux-发行版镜像" data-for="Tech/operating-system/Linux/1.安装/Linux-发行版镜像">Linux 发行版镜像</a></li></li><li><li><a href="../../../Tech/operating-system/Linux/1.安装/Linux-安装和配置" data-for="Tech/operating-system/Linux/1.安装/Linux-安装和配置">Linux 安装和配置</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Linux/2.基础操作"><button class="folder-button"><p class="folder-title">2.基础操作</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Linux/2.基础操作"><li><li><a href="../../../Tech/operating-system/Linux/2.基础操作/Linux-包管理器" data-for="Tech/operating-system/Linux/2.基础操作/Linux-包管理器">Linux 包管理器</a></li></li><li><li><a href="../../../Tech/operating-system/Linux/2.基础操作/Shell-命令行操作" data-for="Tech/operating-system/Linux/2.基础操作/Shell-命令行操作">Linux 命令行操作</a></li></li><li><li><a href="../../../Tech/operating-system/Linux/2.基础操作/Linux-文件管理" data-for="Tech/operating-system/Linux/2.基础操作/Linux-文件管理">Linux 文件管理</a></li></li><li><li><a href="../../../Tech/operating-system/Linux/2.基础操作/Linux-用户和权限" data-for="Tech/operating-system/Linux/2.基础操作/Linux-用户和权限">Linux 用户和权限</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Linux/3.系统管理"><button class="folder-button"><p class="folder-title">3.系统管理</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Linux/3.系统管理"><li><li><a href="../../../Tech/operating-system/Linux/3.系统管理/Linux-内核管理" data-for="Tech/operating-system/Linux/3.系统管理/Linux-内核管理">Linux 内核管理</a></li></li><li><li><a href="../../../Tech/operating-system/Linux/3.系统管理/Linux-基本配置" data-for="Tech/operating-system/Linux/3.系统管理/Linux-基本配置">Linux 基本配置</a></li></li><li><li><a href="../../../Tech/operating-system/Linux/3.系统管理/Linux-日志管理" data-for="Tech/operating-system/Linux/3.系统管理/Linux-日志管理">Linux 日志管理</a></li></li><li><li><a href="../../../Tech/operating-system/Linux/3.系统管理/Linux-服务管理" data-for="Tech/operating-system/Linux/3.系统管理/Linux-服务管理">Linux 服务管理</a></li></li><li><li><a href="../../../Tech/operating-system/Linux/3.系统管理/Linux-系统启动详解" data-for="Tech/operating-system/Linux/3.系统管理/Linux-系统启动详解">Linux 服务管理</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Linux/4.安全配置"><button class="folder-button"><p class="folder-title">4.安全配置</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Linux/4.安全配置"><li><li><a href="../../../Tech/operating-system/Linux/4.安全配置/Linux-系统安全与防护" data-for="Tech/operating-system/Linux/4.安全配置/Linux-系统安全与防护">Linux 系统安全与防护</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Linux/5.网络管理"><button class="folder-button"><p class="folder-title">5.网络管理</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Linux/5.网络管理"><li><li><a href="../../../Tech/operating-system/Linux/5.网络管理/Linux-网络配置" data-for="Tech/operating-system/Linux/5.网络管理/Linux-网络配置">Linux 网络配置</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Linux/7.存储管理"><button class="folder-button"><p class="folder-title">7.存储管理</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Linux/7.存储管理"><li><li><a href="../../../Tech/operating-system/Linux/7.存储管理/Linux-文件系统" data-for="Tech/operating-system/Linux/7.存储管理/Linux-文件系统">Linux 文件系统</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Linux/8.虚拟化"><button class="folder-button"><p class="folder-title">8.虚拟化</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Linux/8.虚拟化"><li><li><a href="../../../Tech/operating-system/Linux/8.虚拟化/KVM-虚拟化管理" data-for="Tech/operating-system/Linux/8.虚拟化/KVM-虚拟化管理">KVM 虚拟化管理</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Virtualization"><button class="folder-button"><p class="folder-title">Virtualization</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Virtualization"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Virtualization/1.虚拟化概述"><button class="folder-button"><p class="folder-title">1.虚拟化概述</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Virtualization/1.虚拟化概述"><li><li><a href="../../../Tech/operating-system/Virtualization/1.虚拟化概述/虚拟化概述" data-for="Tech/operating-system/Virtualization/1.虚拟化概述/虚拟化概述">标题</a></li></li><li><li><a href="../../../Tech/operating-system/Virtualization/1.虚拟化概述/虚拟化平台简介" data-for="Tech/operating-system/Virtualization/1.虚拟化概述/虚拟化平台简介">虚拟化平台简介</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Virtualization/2.KVM虚拟化"><button class="folder-button"><p class="folder-title">2.KVM虚拟化</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Virtualization/2.KVM虚拟化"><li><li><a href="../../../Tech/operating-system/Virtualization/2.KVM虚拟化/2.-KVM-安装配置" data-for="Tech/operating-system/Virtualization/2.KVM虚拟化/2.-KVM-安装配置">KVM 安装配置</a></li></li><li><li><a href="../../../Tech/operating-system/Virtualization/2.KVM虚拟化/1.-KVM-概述" data-for="Tech/operating-system/Virtualization/2.KVM虚拟化/1.-KVM-概述">KVM 概述</a></li></li><li><li><a href="../../../Tech/operating-system/Virtualization/2.KVM虚拟化/3.-KVM-管理工具" data-for="Tech/operating-system/Virtualization/2.KVM虚拟化/3.-KVM-管理工具">KVM 管理工具</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Windows"><button class="folder-button"><p class="folder-title">Windows</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Windows"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Windows/文化"><button class="folder-button"><p class="folder-title">文化</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Windows/文化"><li><li><a href="../../../Tech/operating-system/Windows/文化/微软及其Windows系统的历史发展" data-for="Tech/operating-system/Windows/文化/微软及其Windows系统的历史发展">微软及其Windows系统的历史发展</a></li></li></ul></div></div></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language"><button class="folder-button"><p class="folder-title">programming-language</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python"><button class="folder-button"><p class="folder-title">Python</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/入门"><button class="folder-button"><p class="folder-title">入门</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/入门"><li><li><a href="../../../Tech/programming-language/Python/入门/函数方法" data-for="Tech/programming-language/Python/入门/函数方法">函数方法</a></li></li><li><li><a href="../../../Tech/programming-language/Python/入门/基础语法" data-for="Tech/programming-language/Python/入门/基础语法">基础语法</a></li></li><li><li><a href="../../../Tech/programming-language/Python/入门/控制语句" data-for="Tech/programming-language/Python/入门/控制语句">控制语句</a></li></li><li><li><a href="../../../Tech/programming-language/Python/入门/数据类型" data-for="Tech/programming-language/Python/入门/数据类型">数据类型</a></li></li><li><li><a href="../../../Tech/programming-language/Python/入门/数据结构" data-for="Tech/programming-language/Python/入门/数据结构">数据结构</a></li></li><li><li><a href="../../../Tech/programming-language/Python/入门/模块和包" data-for="Tech/programming-language/Python/入门/模块和包">模块和包</a></li></li><li><li><a href="../../../Tech/programming-language/Python/入门/面对对象" data-for="Tech/programming-language/Python/入门/面对对象">面对对象</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/文化"><button class="folder-button"><p class="folder-title">文化</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/文化"><li><li><a href="../../../Tech/programming-language/Python/文化/发展历史" data-for="Tech/programming-language/Python/文化/发展历史">发展历史</a></li></li><li><li><a href="../../../Tech/programming-language/Python/文化/生命周期" data-for="Tech/programming-language/Python/文化/生命周期">生命周期</a></li></li><li><li><a href="../../../Tech/programming-language/Python/文化/社区文化" data-for="Tech/programming-language/Python/文化/社区文化">社区文化</a></li></li><li><li><a href="../../../Tech/programming-language/Python/文化/设计哲学" data-for="Tech/programming-language/Python/文化/设计哲学">设计哲学</a></li></li><li><li><a href="../../../Tech/programming-language/Python/文化/语言特性" data-for="Tech/programming-language/Python/文化/语言特性">语言特性</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/模块"><button class="folder-button"><p class="folder-title">模块</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/模块"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/模块/WEB开发"><button class="folder-button"><p class="folder-title">WEB开发</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/模块/WEB开发"><li><li><a href="../../../Tech/programming-language/Python/模块/WEB开发/Jinja-模板引擎" data-for="Tech/programming-language/Python/模块/WEB开发/Jinja-模板引擎">Jinja 模板引擎</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/模块/数据处理"><button class="folder-button"><p class="folder-title">数据处理</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/模块/数据处理"><li><li><a href="../../../Tech/programming-language/Python/模块/数据处理/configparser-配置文件解析器" data-for="Tech/programming-language/Python/模块/数据处理/configparser-配置文件解析器">configparser 配置文件解析器</a></li></li><li><li><a href="../../../Tech/programming-language/Python/模块/数据处理/csv-文件读写" data-for="Tech/programming-language/Python/模块/数据处理/csv-文件读写">csv 文件读写</a></li></li><li><li><a href="../../../Tech/programming-language/Python/模块/数据处理/json-编码和解码器" data-for="Tech/programming-language/Python/模块/数据处理/json-编码和解码器">json 编码和解码器</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/模块/文本处理"><button class="folder-button"><p class="folder-title">文本处理</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/模块/文本处理"><li><li><a href="../../../Tech/programming-language/Python/模块/文本处理/re-----正则表达式操作" data-for="Tech/programming-language/Python/模块/文本处理/re-----正则表达式操作">re --- 正则表达式操作</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/模块/系统交互"><button class="folder-button"><p class="folder-title">系统交互</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/模块/系统交互"><li><li><a href="../../../Tech/programming-language/Python/模块/系统交互/dotenv-环境变量管理" data-for="Tech/programming-language/Python/模块/系统交互/dotenv-环境变量管理">dotenv 环境变量管理</a></li></li><li><li><a href="../../../Tech/programming-language/Python/模块/系统交互/logging-日志记录工具" data-for="Tech/programming-language/Python/模块/系统交互/logging-日志记录工具">logging 日志记录工具</a></li></li><li><li><a href="../../../Tech/programming-language/Python/模块/系统交互/loguru-日志库" data-for="Tech/programming-language/Python/模块/系统交互/loguru-日志库">loguru 日志库</a></li></li><li><li><a href="../../../Tech/programming-language/Python/模块/系统交互/os-多种操作系统接口" data-for="Tech/programming-language/Python/模块/系统交互/os-多种操作系统接口">os 多种操作系统接口</a></li></li><li><li><a href="../../../Tech/programming-language/Python/模块/系统交互/subprocess-子进程管理" data-for="Tech/programming-language/Python/模块/系统交互/subprocess-子进程管理">subprocess 子进程管理</a></li></li><li><li><a href="../../../Tech/programming-language/Python/模块/系统交互/sys-系统相关的形参和函数" data-for="Tech/programming-language/Python/模块/系统交互/sys-系统相关的形参和函数">sys 系统相关的形参和函数</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/模块/网络处理"><button class="folder-button"><p class="folder-title">网络处理</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/模块/网络处理"><li><li><a href="../../../Tech/programming-language/Python/模块/网络处理/requests-HTTP-库" data-for="Tech/programming-language/Python/模块/网络处理/requests-HTTP-库">requests HTTP 库</a></li></li><li><li><a href="../../../Tech/programming-language/Python/模块/网络处理/socket-底层网络接口" data-for="Tech/programming-language/Python/模块/网络处理/socket-底层网络接口">socket 底层网络接口</a></li></li><li><li><a href="../../../Tech/programming-language/Python/模块/网络处理/urllib-URL-处理模块" data-for="Tech/programming-language/Python/模块/网络处理/urllib-URL-处理模块">urllib URL 处理模块</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/进阶"><button class="folder-button"><p class="folder-title">进阶</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/进阶"><li><li><a href="../../../Tech/programming-language/Python/进阶/函数式编程" data-for="Tech/programming-language/Python/进阶/函数式编程">函数式编程</a></li></li><li><li><a href="../../../Tech/programming-language/Python/进阶/垃圾回收" data-for="Tech/programming-language/Python/进阶/垃圾回收">垃圾回收</a></li></li><li><li><a href="../../../Tech/programming-language/Python/进阶/并行和并发" data-for="Tech/programming-language/Python/进阶/并行和并发">并行和并发</a></li></li><li><li><a href="../../../Tech/programming-language/Python/进阶/异常处理" data-for="Tech/programming-language/Python/进阶/异常处理">异常处理</a></li></li><li><li><a href="../../../Tech/programming-language/Python/进阶/数据库操作" data-for="Tech/programming-language/Python/进阶/数据库操作">数据库操作</a></li></li><li><li><a href="../../../Tech/programming-language/Python/进阶/文件和IO操作" data-for="Tech/programming-language/Python/进阶/文件和IO操作">文件和IO操作</a></li></li><li><li><a href="../../../Tech/programming-language/Python/进阶/测试和调试" data-for="Tech/programming-language/Python/进阶/测试和调试">测试和调试</a></li></li><li><li><a href="../../../Tech/programming-language/Python/进阶/资源管理" data-for="Tech/programming-language/Python/进阶/资源管理">资源管理</a></li></li><li><li><a href="../../../Tech/programming-language/Python/进阶/面向对象进阶" data-for="Tech/programming-language/Python/进阶/面向对象进阶">面向对象</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/项目"><button class="folder-button"><p class="folder-title">项目</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/项目"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/项目/虚拟环境"><button class="folder-button"><p class="folder-title">虚拟环境</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/项目/虚拟环境"><li><li><a href="../../../Tech/programming-language/Python/项目/虚拟环境/pip" data-for="Tech/programming-language/Python/项目/虚拟环境/pip">pip</a></li></li><li><li><a href="../../../Tech/programming-language/Python/项目/虚拟环境/pipenv" data-for="Tech/programming-language/Python/项目/虚拟环境/pipenv">pipenv</a></li></li><li><li><a href="../../../Tech/programming-language/Python/项目/虚拟环境/poetry" data-for="Tech/programming-language/Python/项目/虚拟环境/poetry">poetry</a></li></li><li><li><a href="../../../Tech/programming-language/Python/项目/虚拟环境/pyenv" data-for="Tech/programming-language/Python/项目/虚拟环境/pyenv">pyenv</a></li></li><li><li><a href="../../../Tech/programming-language/Python/项目/虚拟环境/virtualenv" data-for="Tech/programming-language/Python/项目/虚拟环境/virtualenv">Virtualenv</a></li></li><li><li><a href="../../../Tech/programming-language/Python/项目/虚拟环境/概述" data-for="Tech/programming-language/Python/项目/虚拟环境/概述">概述</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/项目/风格指南"><button class="folder-button"><p class="folder-title">风格指南</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/项目/风格指南"><li><li><a href="../../../Tech/programming-language/Python/项目/风格指南/风格指南" data-for="Tech/programming-language/Python/项目/风格指南/风格指南">Python 风格指南</a></li></li></ul></div></div></li></ul></div></div></li></ul></div></div></li><li><li><a href="../../../Tech/programming-language/home" data-for="Tech/programming-language/home">程序设计语言</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/software-engineering"><button class="folder-button"><p class="folder-title">software-engineering</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/software-engineering"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/software-engineering/协作规范"><button class="folder-button"><p class="folder-title">协作规范</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/software-engineering/协作规范"><li><li><a href="../../../Tech/software-engineering/协作规范/交流反馈(Issue)" data-for="Tech/software-engineering/协作规范/交流反馈(Issue)">交流反馈(Issue)</a></li></li><li><li><a href="../../../Tech/software-engineering/协作规范/关于(Readme)" data-for="Tech/software-engineering/协作规范/关于(Readme)">关于(Readme)</a></li></li><li><li><a href="../../../Tech/software-engineering/协作规范/分支(Branch)" data-for="Tech/software-engineering/协作规范/分支(Branch)">分支(Branch)</a></li></li><li><li><a href="../../../Tech/software-engineering/协作规范/开源协议(License)" data-for="Tech/software-engineering/协作规范/开源协议(License)">开源协议(License)</a></li></li><li><li><a href="../../../Tech/software-engineering/协作规范/日志(Commit)" data-for="Tech/software-engineering/协作规范/日志(Commit)">日志(Commit)</a></li></li><li><li><a href="../../../Tech/software-engineering/协作规范/注释(Comments)" data-for="Tech/software-engineering/协作规范/注释(Comments)">注释(Comments)</a></li></li><li><li><a href="../../../Tech/software-engineering/协作规范/版本(Tag)" data-for="Tech/software-engineering/协作规范/版本(Tag)">版本(Tag)</a></li></li><li><li><a href="../../../Tech/software-engineering/协作规范/贡献者协议(Contributing)" data-for="Tech/software-engineering/协作规范/贡献者协议(Contributing)">贡献者协议(Contributing)</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/software-engineering/技术文档"><button class="folder-button"><p class="folder-title">技术文档</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/software-engineering/技术文档"><li><li><a href="../../../Tech/software-engineering/技术文档/命名约定" data-for="Tech/software-engineering/技术文档/命名约定">命名约定</a></li></li><li><li><a href="../../../Tech/software-engineering/技术文档/文档内容" data-for="Tech/software-engineering/技术文档/文档内容">文档内容</a></li></li><li><li><a href="../../../Tech/software-engineering/技术文档/文档结构" data-for="Tech/software-engineering/技术文档/文档结构">文档结构</a></li></li><li><li><a href="../../../Tech/software-engineering/技术文档/标点符号" data-for="Tech/software-engineering/技术文档/标点符号">标点符号</a></li></li><li><li><a href="../../../Tech/software-engineering/技术文档/简介" data-for="Tech/software-engineering/技术文档/简介">简介</a></li></li><li><li><a href="../../../Tech/software-engineering/技术文档/语言风格" data-for="Tech/software-engineering/技术文档/语言风格">语言风格</a></li></li><li><li><a href="../../../Tech/software-engineering/技术文档/附录资料" data-for="Tech/software-engineering/技术文档/附录资料">附录资料</a></li></li></ul></div></div></li><li><li><a href="../../../Tech/software-engineering/谷歌开源项目风格指南" data-for="Tech/software-engineering/谷歌开源项目风格指南">谷歌开源项目风格指南</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/structures-algorithms"><button class="folder-button"><p class="folder-title">structures-algorithms</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/structures-algorithms"><li><li><a href="../../../Tech/structures-algorithms/数据结构" data-for="Tech/structures-algorithms/数据结构">数据结构</a></li></li><li><li><a href="../../../Tech/structures-algorithms/算法" data-for="Tech/structures-algorithms/算法">算法</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work"><button class="folder-button"><p class="folder-title">Work</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/data-engineer"><button class="folder-button"><p class="folder-title">data-engineer</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/data-engineer"><li><li><a href="../../../Work/data-engineer/home" data-for="Work/data-engineer/home">数据工程师(data-engineer)</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/full-stack"><button class="folder-button"><p class="folder-title">full-stack</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/full-stack"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/full-stack/基础"><button class="folder-button"><p class="folder-title">基础</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/full-stack/基础"><li><li><a href="../../../Work/full-stack/基础/CSS" data-for="Work/full-stack/基础/CSS">CSS</a></li></li><li><li><a href="../../../Work/full-stack/基础/HTML" data-for="Work/full-stack/基础/HTML">HTML</a></li></li><li><li><a href="../../../Work/full-stack/基础/JavaScript" data-for="Work/full-stack/基础/JavaScript">JavaScript</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/full-stack/工具"><button class="folder-button"><p class="folder-title">工具</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/full-stack/工具"><li><li><a href="../../../Work/full-stack/工具/PM2-工具" data-for="Work/full-stack/工具/PM2-工具">PM2 工具</a></li></li><li><li><a href="../../../Work/full-stack/工具/Webpack" data-for="Work/full-stack/工具/Webpack">Webpack</a></li></li><li><li><a href="../../../Work/full-stack/工具/包管理工具" data-for="Work/full-stack/工具/包管理工具">包管理器</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/full-stack/文化"><button class="folder-button"><p class="folder-title">文化</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/full-stack/文化"><li><li><a href="../../../Work/full-stack/文化/历史发展" data-for="Work/full-stack/文化/历史发展">历史发展</a></li></li><li><li><a href="../../../Work/full-stack/文化/概述" data-for="Work/full-stack/文化/概述">概述</a></li></li><li><li><a href="../../../Work/full-stack/文化/现代化开发工具链" data-for="Work/full-stack/文化/现代化开发工具链">现代化开发工具链</a></li></li></ul></div></div></li><li><li><a href="../../../Work/full-stack/home" data-for="Work/full-stack/home">前端工程师(Front-End Engineer)</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/roadmap"><button class="folder-button"><p class="folder-title">roadmap</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/roadmap"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/roadmap/权益保障"><button class="folder-button"><p class="folder-title">权益保障</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/roadmap/权益保障"><li><li><a href="../../../Work/roadmap/权益保障/仲裁指南" data-for="Work/roadmap/权益保障/仲裁指南">仲裁指南</a></li></li><li><li><a href="../../../Work/roadmap/权益保障/职场维权实战经验" data-for="Work/roadmap/权益保障/职场维权实战经验">职场维权实战经验</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/roadmap/求职经验"><button class="folder-button"><p class="folder-title">求职经验</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/roadmap/求职经验"><li><li><a href="../../../Work/roadmap/求职经验/互联网行业-郑州" data-for="Work/roadmap/求职经验/互联网行业-郑州">互联网行业-郑州</a></li></li><li><li><a href="../../../Work/roadmap/求职经验/写给软件工程师的建议" data-for="Work/roadmap/求职经验/写给软件工程师的建议">写给软件工程师的建议</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/roadmap/简历攻略"><button class="folder-button"><p class="folder-title">简历攻略</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/roadmap/简历攻略"><li><li><a href="../../../Work/roadmap/简历攻略/IT-类简历" data-for="Work/roadmap/简历攻略/IT-类简历">IT 类简历</a></li></li><li><li><a href="../../../Work/roadmap/简历攻略/简历原则" data-for="Work/roadmap/简历攻略/简历原则">简历原则</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/roadmap/职业规划"><button class="folder-button"><p class="folder-title">职业规划</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/roadmap/职业规划"><li><li><a href="../../../Work/roadmap/职业规划/开发者职业路线图" data-for="Work/roadmap/职业规划/开发者职业路线图">开发者职业路线图</a></li></li><li><li><a href="../../../Work/roadmap/职业规划/职业宏观规划图" data-for="Work/roadmap/职业规划/职业宏观规划图">职业宏观规划图</a></li></li><li><li><a href="../../../Work/roadmap/职业规划/职业宏观路线图" data-for="Work/roadmap/职业规划/职业宏观路线图">职业宏观路线图</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/roadmap/职场心得"><button class="folder-button"><p class="folder-title">职场心得</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/roadmap/职场心得"><li><li><a href="../../../Work/roadmap/职场心得/华为新员工的-8-个阶段" data-for="Work/roadmap/职场心得/华为新员工的-8-个阶段">华为新员工的 8 个阶段</a></li></li><li><li><a href="../../../Work/roadmap/职场心得/如何平衡工作和生活" data-for="Work/roadmap/职场心得/如何平衡工作和生活">如何平衡工作和生活</a></li></li><li><li><a href="../../../Work/roadmap/职场心得/如何度过新手村" data-for="Work/roadmap/职场心得/如何度过新手村">如何度过新手村</a></li></li><li><li><a href="../../../Work/roadmap/职场心得/如何有效应对职场政治" data-for="Work/roadmap/职场心得/如何有效应对职场政治">如何有效应对职场政治</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/roadmap/薪酬攻略"><button class="folder-button"><p class="folder-title">薪酬攻略</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/roadmap/薪酬攻略"><li><li><a href="../../../Work/roadmap/薪酬攻略/社会保障" data-for="Work/roadmap/薪酬攻略/社会保障">社会保障</a></li></li><li><li><a href="../../../Work/roadmap/薪酬攻略/绩效考核" data-for="Work/roadmap/薪酬攻略/绩效考核">绩效考核</a></li></li><li><li><a href="../../../Work/roadmap/薪酬攻略/薪酬制度" data-for="Work/roadmap/薪酬攻略/薪酬制度">薪酬制度</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/roadmap/面试法则"><button class="folder-button"><p class="folder-title">面试法则</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/roadmap/面试法则"><li><li><a href="../../../Work/roadmap/面试法则/反向面试" data-for="Work/roadmap/面试法则/反向面试">反向面试</a></li></li><li><li><a href="../../../Work/roadmap/面试法则/面试-10-大常见问题" data-for="Work/roadmap/面试法则/面试-10-大常见问题">面试 10 大常见问题</a></li></li></ul></div></div></li><li><li><a href="../../../Work/roadmap/home" data-for="Work/roadmap/home">求职之路</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/sre-engineer"><button class="folder-button"><p class="folder-title">sre-engineer</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/sre-engineer"><li><li><a href="../../../Work/sre-engineer/home" data-for="Work/sre-engineer/home">SRE (站点可靠性工程师)</a></li></li></ul></div></div></li></ul></div></div></li></ul></div></div></li><li id="explorer-end"></li></ul></div></div><div class="recent-notes desktop-only"><h3>Recent Notes</h3><ul class="recent-ul"><li class="recent-li"><div class="section"><div class="desc"><h3><a href="../../../Blog/乌兰哈达火山银河之旅" class="internal">乌兰哈达火山银河之旅</a></h3></div><p class="meta">Jun 27, 2024</p></div></li><li class="recent-li"><div class="section"><div class="desc"><h3><a href="../../../Blog/冰箱,让你我错过了多少新鲜的生活?" class="internal">冰箱,让你我错过了多少新鲜的生活?</a></h3></div><p class="meta">Jun 27, 2024</p></div></li><li class="recent-li"><div class="section"><div class="desc"><h3><a href="../../../Blog/記伍月" class="internal">記伍月</a></h3></div><p class="meta">May 31, 2024</p></div></li></ul></div></div><div class="center"><div class="page-header"><div class="popover-hint"><nav class="breadcrumb-container " aria-label="breadcrumbs"><div class="breadcrumb-element"><a href="../../..">Home</a><p> > </p></div><div class="breadcrumb-element"><a href="../../../Tech/">Tech</a><p> > </p></div><div class="breadcrumb-element"><a href="../../../Tech/database-system/">database system</a><p> > </p></div><div class="breadcrumb-element"><a href="../../../Tech/database-system/PostgreSQL/">PostgreSQL</a><p> > </p></div><div class="breadcrumb-element"><a href>安装配置</a></div></nav><h1 class="article-title ">安装配置</h1><p class="content-meta ">Sep 20, 2023, 29 min read</p><ul class="tags "><li><a href="../../../tags/数据库系统/postgresql" class="internal tag-link">#数据库系统/postgresql</a></li><li><a href="../../../tags/技术/数据库" class="internal tag-link">#技术/数据库</a></li></ul></div></div><article class="popover-hint"><h2 id="序言">序言<a aria-hidden="true" tabindex="-1" href="#序言" class="internal"> §</a></h2>
|
||
<p>对于初学者和有经验的开发者来说,正确地安装和配置 PostgreSQL 是至关重要的。一个恰当的配置不仅可以确保数据库的稳定运行,还可以充分发挥其性能,满足复杂的业务需求。然而,由于 PostgreSQL 的功能丰富和配置项繁多,很多人在安装和配置过程中可能会遇到困惑和挑战。</p>
|
||
<p>PostgreSQL 提供了多种安装方式,其中源码安装和编译安装是最为基础和原始的方法。这两种方法虽然相对复杂,但为用户提供了极大的灵活性,允许他们根据自己的需求进行定制和优化。</p>
|
||
<h2 id="依赖">依赖<a aria-hidden="true" tabindex="-1" href="#依赖" class="internal"> §</a></h2>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<table><thead><tr><th>依赖</th><th>版本</th><th>用途</th><th>状态</th><th>备注</th></tr></thead><tbody><tr><td>GNU make</td><td>3.81 或更高</td><td>构建 PostgreSQL</td><td>✅</td><td>必需; 其他版本或其他 make 程序不可用</td></tr><tr><td>ISO/ANSI C compiler</td><td>C99 兼容</td><td>编译 PostgreSQL</td><td>✅</td><td>必需; 推荐使用 GCC 的最新版本</td></tr><tr><td>tar</td><td>无特定版本</td><td>解压源代码分发包</td><td>✅</td><td>必需; 需要配合 gzip 或 bzip2 使用</td></tr><tr><td>GNU Readline library</td><td>无特定版本</td><td>提高 PostgreSQL 命令行 SQL 解释器的用户体验</td><td>✅</td><td>必需; 可以选择不使用或使用 libedit 库作为替代</td></tr><tr><td>zlib</td><td>无特定版本</td><td>支持 pg_dump 和 pg_restore 中的压缩存档功能</td><td>✅</td><td>必需; 可以选择不使用</td></tr><tr><td>Perl</td><td>5.8.3 或更高</td><td>构建 PL/Perl 服务器编程语言</td><td>🟢</td><td>可选; 需要 libperl 共享库和头文件</td></tr><tr><td>Python</td><td>3.2 或更高</td><td>构建 PL/Python 服务器编程语言</td><td>🟢</td><td>可选; 需要 libpython 共享库和头文件</td></tr><tr><td>Tcl</td><td>8.4 或更高</td><td>构建 PL/Tcl 程序语言</td><td>🟢</td><td>可选; 需要 Tcl 安装</td></tr><tr><td>OpenSSL</td><td>1.0.1 或更高</td><td>支持加密的客户端连接和随机数生成</td><td>🟢</td><td>可选; 用于支持加密的客户端连接和随机数生成</td></tr><tr><td>Gettext API</td><td>无特定版本</td><td>实现 Native Language Support (NLS)</td><td>🟢</td><td>可选; 用于显示程序的非英语消息</td></tr><tr><td>Kerberos</td><td>无特定版本</td><td>支持 Kerberos 认证</td><td>🟢</td><td>可选; 用于支持 Kerberos 认证</td></tr><tr><td>OpenLDAP</td><td>无特定版本</td><td>支持 OpenLDAP 认证</td><td>🟢</td><td>可选; 用于支持 OpenLDAP 认证</td></tr><tr><td>PAM</td><td>无特定版本</td><td>支持 PAM 认证</td><td>🟢</td><td>可选; 用于支持 PAM 认证</td></tr><tr><td>LZ4</td><td>无特定版本</td><td>支持 LZ4 数据压缩</td><td>🟢</td><td>可选; 用于支持 LZ4 数据压缩</td></tr><tr><td>Zstandard</td><td>1.4.0 或更高</td><td>支持 Zstandard 数据压缩</td><td>🟢</td><td>可选; 用于支持 Zstandard 数据压缩</td></tr></tbody></table>
|
||
<ul>
|
||
<li>✅ 表示必需</li>
|
||
<li>🟢 表示可选</li>
|
||
</ul>
|
||
<h3 id="基本依赖">基本依赖<a aria-hidden="true" tabindex="-1" href="#基本依赖" class="internal"> §</a></h3>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-token-comment);"># YUM 更新软件仓库 && 安装必需的依赖</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">sudo</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">yum</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">update</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-y</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-punctuation);">&&</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">sudo</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">yum</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">install</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-y</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">make</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">gcc</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">tar</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">gzip</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">bzip2</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">readline</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">readline-devel</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">zlib</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">zlib-devel</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># APT 更新软件仓库 && 安装必需的依赖</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">sudo</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">apt</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">update</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-punctuation);">&&</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">sudo</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">apt</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">install</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-y</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">make</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">gcc</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">tar</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">gzip</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">bzip2</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">libreadline-dev</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">zlib1g-dev</span></span></code></pre></div>
|
||
<h3 id="拓展依赖">拓展依赖<a aria-hidden="true" tabindex="-1" href="#拓展依赖" class="internal"> §</a></h3>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-token-comment);"># YUM 更新软件仓库 && 安装可选的依赖</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">sudo</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">yum</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">update</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-y</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-punctuation);">&&</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">sudo</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">yum</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">install</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-y</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">perl</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">perl-devel</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">python3</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">python3-devel</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">tcl</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">tcl-devel</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">openssl</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">openssl-devel</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">gettext</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">krb5</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">krb5-devel</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">openldap</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">openldap-devel</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">pam</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">pam-devel</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">lz4</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">lz4-devel</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">zstd</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">zstd-devel</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># APT 更新软件仓库 && 安装可选的依赖</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">sudo</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">apt</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">update</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-punctuation);">&&</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">sudo</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">apt</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">install</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-y</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">perl</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">libperl-dev</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">python3</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">python3-dev</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">tcl</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">tcl-dev</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">libssl-dev</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">gettext</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">krb5-user</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">libkrb5-dev</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">libldap2-dev</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">libpam0g-dev</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">liblz4-dev</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">libzstd-dev</span></span></code></pre></div>
|
||
<h3 id="依赖检查">依赖检查<a aria-hidden="true" tabindex="-1" href="#依赖检查" class="internal"> §</a></h3>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-token-comment);">#!/bin/bash</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 检查包管理器</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 可自定义依赖检查项目</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-keyword);">if</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">command</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-v</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">yum</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-punctuation);">&</span><span style="color:var(--shiki-token-keyword);">></span><span style="color:var(--shiki-color-text);"> /dev/null; </span><span style="color:var(--shiki-token-keyword);">then</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> PACKAGE_MANAGER</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"yum"</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> REQUIRED_DEPENDENCIES</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-string-expression);">"make"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"gcc"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"tar"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"gzip"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"bzip2"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"readline"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"readline-devel"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"zlib"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"zlib-devel"</span><span style="color:var(--shiki-color-text);">)</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> OPTIONAL_DEPENDENCIES</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-string-expression);">"perl"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"perl-devel"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"python3"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"python3-devel"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"tcl"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"tcl-devel"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"openssl"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"openssl-devel"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"gettext"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"krb5"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"krb5-devel"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"openldap"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"openldap-devel"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"pam"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"pam-devel"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"lz4"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"lz4-devel"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"zstd"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"zstd-devel"</span><span style="color:var(--shiki-color-text);">)</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-keyword);">elif</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">command</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-v</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">apt-get</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-punctuation);">&</span><span style="color:var(--shiki-token-keyword);">></span><span style="color:var(--shiki-color-text);"> /dev/null; </span><span style="color:var(--shiki-token-keyword);">then</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> PACKAGE_MANAGER</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"apt-get"</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> REQUIRED_DEPENDENCIES</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-string-expression);">"make"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"gcc"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"tar"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"gzip"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"bzip2"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"libreadline-dev"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"zlib1g-dev"</span><span style="color:var(--shiki-color-text);">)</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> OPTIONAL_DEPENDENCIES</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-string-expression);">"perl"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"libperl-dev"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"python3"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"python3-dev"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"tcl"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"tcl-dev"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"libssl-dev"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"gettext"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"krb5-user"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"libkrb5-dev"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"libldap2-dev"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"libpam0g-dev"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"liblz4-dev"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"libzstd-dev"</span><span style="color:var(--shiki-color-text);">)</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-keyword);">else</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">echo</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"❌ 不支持的包管理器。"</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">exit</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-constant);">1</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-keyword);">fi</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 定义一个函数来检查依赖是否安装,并显示版本信息</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">check_dependency</span><span style="color:var(--shiki-token-punctuation);">()</span><span style="color:var(--shiki-color-text);"> {</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">local</span><span style="color:var(--shiki-color-text);"> package_name</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);">$1</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">if</span><span style="color:var(--shiki-color-text);"> [ </span><span style="color:var(--shiki-token-keyword);">-z</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"$package_name"</span><span style="color:var(--shiki-color-text);"> ]; </span><span style="color:var(--shiki-token-keyword);">then</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">echo</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"错误:未提供依赖项名称。"</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">exit</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-constant);">1</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">fi</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">if</span><span style="color:var(--shiki-color-text);"> [ </span><span style="color:var(--shiki-token-string-expression);">"$PACKAGE_MANAGER"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">==</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"yum"</span><span style="color:var(--shiki-color-text);"> ]; </span><span style="color:var(--shiki-token-keyword);">then</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">if</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">rpm</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-q</span><span style="color:var(--shiki-color-text);"> $package_name </span><span style="color:var(--shiki-token-punctuation);">&</span><span style="color:var(--shiki-token-keyword);">></span><span style="color:var(--shiki-color-text);"> /dev/null; </span><span style="color:var(--shiki-token-keyword);">then</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> version</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">$(</span><span style="color:var(--shiki-token-function);">rpm</span><span style="color:var(--shiki-token-string-expression);"> </span><span style="color:var(--shiki-token-string);">-q</span><span style="color:var(--shiki-token-string-expression);"> $package_name)</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">printf</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">" ✅ %-20s 版本: %s\n"</span><span style="color:var(--shiki-color-text);"> $package_name </span><span style="color:var(--shiki-token-string-expression);">"$version"</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">else</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">printf</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">" ❌ %-20s 未安装\n"</span><span style="color:var(--shiki-color-text);"> $package_name</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">fi</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">elif</span><span style="color:var(--shiki-color-text);"> [ </span><span style="color:var(--shiki-token-string-expression);">"$PACKAGE_MANAGER"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">==</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"apt-get"</span><span style="color:var(--shiki-color-text);"> ]; </span><span style="color:var(--shiki-token-keyword);">then</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">if</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">dpkg</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-s</span><span style="color:var(--shiki-color-text);"> $package_name </span><span style="color:var(--shiki-token-punctuation);">&</span><span style="color:var(--shiki-token-keyword);">></span><span style="color:var(--shiki-color-text);"> /dev/null; </span><span style="color:var(--shiki-token-keyword);">then</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> version</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">$(</span><span style="color:var(--shiki-token-function);">dpkg</span><span style="color:var(--shiki-token-string-expression);"> </span><span style="color:var(--shiki-token-string);">-s</span><span style="color:var(--shiki-token-string-expression);"> $package_name </span><span style="color:var(--shiki-token-keyword);">|</span><span style="color:var(--shiki-token-string-expression);"> </span><span style="color:var(--shiki-token-function);">grep</span><span style="color:var(--shiki-token-string-expression);"> </span><span style="color:var(--shiki-token-string);">Version</span><span style="color:var(--shiki-token-string-expression);"> </span><span style="color:var(--shiki-token-keyword);">|</span><span style="color:var(--shiki-token-string-expression);"> </span><span style="color:var(--shiki-token-function);">cut</span><span style="color:var(--shiki-token-string-expression);"> </span><span style="color:var(--shiki-token-string);">-d</span><span style="color:var(--shiki-token-string-expression);">' ' </span><span style="color:var(--shiki-token-string);">-f2</span><span style="color:var(--shiki-token-string-expression);">)</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">if</span><span style="color:var(--shiki-color-text);"> [ </span><span style="color:var(--shiki-token-keyword);">-z</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"$version"</span><span style="color:var(--shiki-color-text);"> ]; </span><span style="color:var(--shiki-token-keyword);">then</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> version</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string-expression);">"未知"</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">fi</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">printf</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">" ✅ %-20s 版本: %s\n"</span><span style="color:var(--shiki-color-text);"> $package_name </span><span style="color:var(--shiki-token-string-expression);">"$version"</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">else</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">printf</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">" ❌ %-20s 未安装\n"</span><span style="color:var(--shiki-color-text);"> $package_name</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">fi</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">fi</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">}</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 定义一个函数来检查依赖项数组</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">check_dependencies</span><span style="color:var(--shiki-token-punctuation);">()</span><span style="color:var(--shiki-color-text);"> {</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">local</span><span style="color:var(--shiki-color-text);"> dependencies</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-string-expression);">"$@"</span><span style="color:var(--shiki-color-text);">)</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">for</span><span style="color:var(--shiki-color-text);"> dependency </span><span style="color:var(--shiki-token-keyword);">in</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"${dependencies[@]}"</span><span style="color:var(--shiki-color-text);">; </span><span style="color:var(--shiki-token-keyword);">do</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">check_dependency</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"$dependency"</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">done</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">}</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 检查必需的依赖</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">echo</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"Postgres 依赖检查"</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">echo</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"=> 必需的依赖:"</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">check_dependencies</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"${REQUIRED_DEPENDENCIES[@]}"</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 检查可选的依赖</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">echo</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">""</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">echo</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"=> 可选的依赖:"</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">check_dependencies</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"${OPTIONAL_DEPENDENCIES[@]}"</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 输出检查完成信息</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">echo</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">""</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">echo</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"=> 依赖检查完成!"</span></span></code></pre></div>
|
||
<h2 id="安装">安装<a aria-hidden="true" tabindex="-1" href="#安装" class="internal"> §</a></h2>
|
||
<h3 id="源码安装">源码安装<a aria-hidden="true" tabindex="-1" href="#源码安装" class="internal"> §</a></h3>
|
||
<h4 id="1-准备工作">1. 准备工作<a aria-hidden="true" tabindex="-1" href="#1-准备工作" class="internal"> §</a></h4>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-token-comment);"># 创建用户</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">sudo</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">adduser</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">postgres</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">sudo</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">passwd</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">postgres</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 创建目录</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">sudo</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">mkdir</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-p</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">/opt/postgresql/{data,archive,scripts,backup,pg16,source,logs,config,temp,extensions,upgrade_scripts}</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 配置目录权限,后续默认以 postgres 用户操作</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">sudo</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">chown</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-R</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">postgres:postgres</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">/opt/postgresql</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">sudo</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">chmod</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-R</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-constant);">775</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">/opt/postgresql</span></span></code></pre></div>
|
||
<p>postgresql 目录下文件夹其对应的用途。</p>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<table><thead><tr><th align="left">目录</th><th align="left">用途</th></tr></thead><tbody><tr><td align="left">/data</td><td align="left">存储 PostgreSQL 数据</td></tr><tr><td align="left">/archive</td><td align="left">存储归档日志文件</td></tr><tr><td align="left">/scripts</td><td align="left">存储 PostgreSQL 脚本</td></tr><tr><td align="left">/backup</td><td align="left">存储数据库备份</td></tr><tr><td align="left">/pgsql</td><td align="left">软连接到 /pg16</td></tr><tr><td align="left">/pg16</td><td align="left">PostgreSQL 16 版本</td></tr><tr><td align="left">/source</td><td align="left">存储源代码或配置文件</td></tr><tr><td align="left">/logs</td><td align="left">存储 PostgreSQL 日志</td></tr><tr><td align="left">/config</td><td align="left">存储 PostgreSQL 配置</td></tr><tr><td align="left">/temp</td><td align="left">存储临时文件</td></tr><tr><td align="left">/extensions</td><td align="left">存储 PostgreSQL 扩展</td></tr><tr><td align="left">/upgrade_scripts</td><td align="left">存储升级脚本</td></tr></tbody></table>
|
||
<h4 id="2-下载源码">2. 下载源码<a aria-hidden="true" tabindex="-1" href="#2-下载源码" class="internal"> §</a></h4>
|
||
<p>PostgreSQL 源码可以在官方提供的 <a href="https://www.postgresql.org/ftp/source/" class="external">FTP 渠道</a> 下载。</p>
|
||
<p><img src="https://static.7wate.com/img/2023/09/22/7f25aaababea4.png" alt="PostgreSQL 源码"/></p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-token-comment);"># 切换用户</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">su</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">postgres</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 下载 PG16 </span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">postgres@debian:/opt/postgresql/source$</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">wget</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">https://ftp.postgresql.org/pub/source/v16.0/postgresql-16.0.tar.gz</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 解压 PG16</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">postgres@debian:/opt/postgresql/source$</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">tar</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-zxvf</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">postgresql-16.0.tar.gz</span></span></code></pre></div>
|
||
<h4 id="3-配置源码">3. 配置源码<a aria-hidden="true" tabindex="-1" href="#3-配置源码" class="internal"> §</a></h4>
|
||
<p>首先,你需要配置源代码树以适应你的系统并选择你想要的选项。这是通过运行 <code>configure</code> 脚本完成的。你可以使用以下命令进行默认安装:</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-token-comment);"># 安装 /opt/postgresql/pg16/ 路径</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">postgres@debian:/opt/postgresql/source/postgresql-16.0$</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">./configure</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">--prefix=/opt/postgresql/pg16/</span></span></code></pre></div>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-token-comment);"># 默认安装</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">./configure</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 指定多个选项</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">./configure</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">--prefix=/usr/local/pgsql</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">--bindir=/usr/local/pgsql/bin</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">--datadir=/usr/local/pgsql/data</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">--libdir=/usr/local/pgsql/lib</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 禁用某些功能</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">./configure</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">--without-readline</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">--without-zlib</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 启用调试和指定编译器</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">./configure</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">--enable-debug</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">--with-pgport=5432</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">CC=gcc</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">CFLAGS=</span><span style="color:var(--shiki-token-string-expression);">'-O2 -g'</span></span></code></pre></div>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<table><thead><tr><th align="left">选项</th><th align="left">描述</th></tr></thead><tbody><tr><td align="left"><code>--prefix=<目录></code></td><td align="left">指定安装目录的前缀,即 PostgreSQL 将被安装到的基本目录。</td></tr><tr><td align="left"><code>--bindir=<目录></code></td><td align="left">指定可执行文件的目录,例如 <code>pg_ctl</code> 和 <code>psql</code>。</td></tr><tr><td align="left"><code>--sbindir=<目录></code></td><td align="left">指定系统管理员可执行文件的目录,例如 <code>pg_ctl</code> 和 <code>pg_config</code>。</td></tr><tr><td align="left"><code>--datadir=<目录></code></td><td align="left">指定数据文件的根目录,例如数据表空间。</td></tr><tr><td align="left"><code>--libdir=<目录></code></td><td align="left">指定库文件的目录,例如共享库文件。</td></tr><tr><td align="left"><code>--sysconfdir=<目录></code></td><td align="left">指定配置文件的目录。</td></tr><tr><td align="left"><code>--docdir=<目录></code></td><td align="left">指定文档文件的目录。</td></tr><tr><td align="left"><code>--includedir=<目录></code></td><td align="left">指定包含头文件的目录,用于开发 PostgreSQL 扩展。</td></tr><tr><td align="left"><code>--with-openssl</code></td><td align="left">启用 OpenSSL 支持,用于加密通信。</td></tr><tr><td align="left"><code>--with-zlib</code></td><td align="left">启用 Zlib 支持,用于数据压缩。</td></tr><tr><td align="left"><code>--with-libxml</code></td><td align="left">启用 Libxml2 支持,用于 XML 数据类型。</td></tr><tr><td align="left"><code>--with-python</code></td><td align="left">启用 Python 支持,用于编写存储过程和触发器。</td></tr><tr><td align="left"><code>--with-perl</code></td><td align="left">启用 Perl 支持,用于编写存储过程和触发器。</td></tr><tr><td align="left"><code>--with-tcl</code></td><td align="left">启用 Tcl 支持,用于编写存储过程和触发器。</td></tr><tr><td align="left"><code>--with-pam</code></td><td align="left">启用 PAM (Pluggable Authentication Modules) 支持。</td></tr><tr><td align="left"><code>--with-ldap</code></td><td align="left">启用 LDAP 支持,用于身份验证和用户管理。</td></tr><tr><td align="left"><code>--with-krb5</code></td><td align="left">启用 Kerberos 支持,用于身份验证。</td></tr><tr><td align="left"><code>--with-system-tzdata</code></td><td align="left">使用操作系统提供的时区信息。</td></tr><tr><td align="left"><code>--enable-debug</code></td><td align="left">启用调试支持,构建时包括调试信息。</td></tr><tr><td align="left"><code>--disable-ipv6</code></td><td align="left">禁用 IPv6 支持。</td></tr></tbody></table>
|
||
<h4 id="4-构建二进制">4. 构建二进制<a aria-hidden="true" tabindex="-1" href="#4-构建二进制" class="internal"> §</a></h4>
|
||
<p>可以输入以下任一命令开始构建,可以使用 -j 选项指定线程数加快速度。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-token-function);">make</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 多线程构建</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">make</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-j</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-constant);">8</span><span style="color:var(--shiki-color-text);"> </span></span></code></pre></div>
|
||
<p>如果你想构建所有可以构建的内容,包括文档(HTML 和 man 页面)和附加模块(contrib),则可以输入:</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-token-function);">make</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">world</span></span></code></pre></div>
|
||
<p>或者如果你想构建所有可以构建的内容,包括附加模块(contrib),但不包括文档,可以输入:</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-token-function);">make</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">world-bin</span></span></code></pre></div>
|
||
<h4 id="5-测试软件">5. 测试软件<a aria-hidden="true" tabindex="-1" href="#5-测试软件" class="internal"> §</a></h4>
|
||
<p>如果你想在安装之前测试新构建的服务器,你可以在此时运行回归测试。这是一个测试套件,用于验证 PostgreSQL 是否按照开发人员预期的方式在你的机器上运行。可以使用以下命令进行测试:</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-token-function);">make</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">check</span></span></code></pre></div>
|
||
<h4 id="6-安装">6. 安装<a aria-hidden="true" tabindex="-1" href="#6-安装" class="internal"> §</a></h4>
|
||
<p>要安装 PostgreSQL,可以输入:</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-token-function);">make</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">install</span></span></code></pre></div>
|
||
<p>此步骤将把文件安装到第一步中指定的目录中。**确保你有适当的权限写入该区域。**或者,你可以提前创建目标目录并安排授予适当的权限。</p>
|
||
<p>如果你构建了上面的 world,可以输入:</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-token-function);">make</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">install-world</span></span></code></pre></div>
|
||
<p>这也会安装文档。如果你在上面构建了不包含文档的 world,可以输入:</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-token-function);">make</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">install-world-bin</span></span></code></pre></div>
|
||
<h4 id="7-配置软连">7. 配置软连<a aria-hidden="true" tabindex="-1" href="#7-配置软连" class="internal"> §</a></h4>
|
||
<p>设置 postgres 软链接,方便系统后续升级。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-token-function);">ln</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-s</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">/opt/postgres/pg16</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">/opt/postgresql/pgsql</span></span></code></pre></div>
|
||
<h4 id="8-卸载和清理">8. 卸载和清理<a aria-hidden="true" tabindex="-1" href="#8-卸载和清理" class="internal"> §</a></h4>
|
||
<p>如果要撤销安装,可以使用命令 <code>make uninstall</code>。但是,这不会删除任何创建的目录。</p>
|
||
<p>安装后,你可以通过从源代码树中删除构建文件来释放磁盘空间,命令是 <code>make clean</code>。这将保留 <code>configure</code> 程序创建的文件,以便你稍后可以使用 <code>make</code> 重新构建所有内容。要将源代码树重置为分发时的状态,请使用 <code>make distclean</code>。</p>
|
||
<h3 id="二进制安装">二进制安装<a aria-hidden="true" tabindex="-1" href="#二进制安装" class="internal"> §</a></h3>
|
||
<h4 id="1-下载">1. 下载<a aria-hidden="true" tabindex="-1" href="#1-下载" class="internal"> §</a></h4>
|
||
<p>在开始二进制安装之前,你需要首先下载适用于你的操作系统的 PostgreSQL 二进制包。你可以从 PostgreSQL 官方网站或者你的操作系统的软件库中获取它。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-token-comment);"># 通过 wget 命令下载</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">wget</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 通过 curl 命令下载</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">curl</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-O</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm</span></span></code></pre></div>
|
||
<h4 id="2-安装">2. 安装<a aria-hidden="true" tabindex="-1" href="#2-安装" class="internal"> §</a></h4>
|
||
<p>安装二进制包通常比源码安装更快更简单。根据你的操作系统和包管理器,这里介绍几种常用的安装方法:</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-token-comment);"># 在 Red Hat/CentOS 中安装</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">sudo</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">rpm</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-ivh</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">pgdg-redhat-repo-latest.noarch.rpm</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">sudo</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">yum</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">install</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">postgresql-server</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 在 Debian/Ubuntu 中安装</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">sudo</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">apt-get</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">update</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">sudo</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">apt-get</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">install</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">postgresql</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 在 Debian/Ubuntu 中使用自定义选项进行安装</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">sudo</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">apt</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">install</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">postgresql</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">--prefix=/usr/local/pgsql</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">--datadir=/usr/local/pgsql/data</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 在 Red Hat/CentOS 中使用自定义选项进行安装</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">sudo</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">yum</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">install</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">postgresql-server</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">--prefix=/usr/local/pgsql</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">--datadir=/usr/local/pgsql/data</span></span></code></pre></div>
|
||
<p>安装过程中,你可以使用以下选项来自定义安装:</p>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<table><thead><tr><th>选项</th><th>描述</th></tr></thead><tbody><tr><td><code>--prefix=PREFIX</code></td><td>定义安装的根目录,所有文件和目录都将放在这个目录下</td></tr><tr><td><code>--exec-prefix=EPREFIX</code></td><td>定义架构相关文件的安装目录,通常与 <code>--prefix</code> 相同</td></tr><tr><td><code>--bindir=DIR</code></td><td>定义用户可执行文件(如 psql)的安装目录</td></tr><tr><td><code>--datadir=DIR</code></td><td>定义只读架构独立数据的安装目录</td></tr><tr><td><code>--libdir=DIR</code></td><td>定义库文件的安装目录</td></tr><tr><td><code>--sysconfdir=DIR</code></td><td>定义系统级配置文件的安装目录</td></tr><tr><td><code>--sharedstatedir=DIR</code></td><td>定义可修改的单主机数据的安装目录</td></tr><tr><td><code>--localstatedir=DIR</code></td><td>定义可修改的多主机数据的安装目录</td></tr><tr><td><code>--libexecdir=DIR</code></td><td>定义可执行程序和其他程序运行的安装目录</td></tr><tr><td><code>--includedir=DIR</code></td><td>定义 C 头文件的安装目录</td></tr><tr><td><code>--mandir=DIR</code></td><td>定义 man 文档的安装目录</td></tr><tr><td><code>--docdir=DIR</code></td><td>定义文档的根目录</td></tr></tbody></table>
|
||
<h4 id="3-验证">3. 验证<a aria-hidden="true" tabindex="-1" href="#3-验证" class="internal"> §</a></h4>
|
||
<p>安装完成后,验证 PostgreSQL 是否已成功安装和配置。可以通过以下命令来验证安装:</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-token-comment);"># 检查 PostgreSQL 服务状态</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">sudo</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">systemctl</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">status</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">postgresql</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 使用 psql 命令行工具连接到 PostgreSQL 服务器</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">psql</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-U</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">postgres</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 显示 PostgreSQL 服务器的版本信息</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">psql</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-U</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">postgres</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-c</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">'SELECT version();'</span></span></code></pre></div>
|
||
<p>二进制安装成功后,可以直接使用,默认不需要后续的配置。</p>
|
||
<h2 id="设置">设置<a aria-hidden="true" tabindex="-1" href="#设置" class="internal"> §</a></h2>
|
||
<h3 id="1-共享库设置-shared-libraries">1. 共享库设置 (Shared Libraries)<a aria-hidden="true" tabindex="-1" href="#1-共享库设置-shared-libraries" class="internal"> §</a></h3>
|
||
<p>在某些系统中,你需要告诉系统如何找到新安装的共享库。这不包括 FreeBSD, HP-UX, Linux, NetBSD, OpenBSD 和 Solaris 等系统。设置共享库搜索路径的方法因平台而异,但最常用的方法是设置环境变量 <code>LD_LIBRARY_PATH</code>。以下是如何在 Bourne shell (如 sh, ksh, bash, zsh) 中设置:</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-color-text);">LD_LIBRARY_PATH</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string);">/usr/local/pgsql/lib</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-keyword);">export</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">LD_LIBRARY_PATH</span></span></code></pre></div>
|
||
<h3 id="2-环境变量设置-environment-variables">2. 环境变量设置 (Environment Variables)<a aria-hidden="true" tabindex="-1" href="#2-环境变量设置-environment-variables" class="internal"> §</a></h3>
|
||
<p>如果你将 PostgreSQL 安装到 <code>/usr/local/pgsql</code> 或其他默认情况下不搜索程序的位置,你应该将 <code>/usr/local/pgsql/bin</code>(或你在第一步中设置的 <code>--bindir</code> 选项)添加到你的 <code>PATH</code> 中。这样可以使 PostgreSQL 的使用更加方便。以下是如何在 Bourne shell 中设置:</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-color-text);">PATH</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string);">/usr/local/pgsql/bin:</span><span style="color:var(--shiki-color-text);">$PATH</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-keyword);">export</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">PATH</span></span></code></pre></div>
|
||
<p>为了让你的系统找到 man 文档,你需要将以下行添加到一个 shell 启动文件中,除非你安装到了默认搜索的位置:</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-color-text);">MANPATH</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string);">/usr/local/pgsql/share/man:</span><span style="color:var(--shiki-color-text);">$MANPATH</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-keyword);">export</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">MANPATH</span></span></code></pre></div>
|
||
<p>环境变量 <code>PGHOST</code> 和 <code>PGPORT</code> 指定了数据库服务器的主机和端口,覆盖了编译时的默认设置。如果你打算远程运行客户端应用程序,那么每个计划使用数据库的用户都应设置 <code>PGHOST</code>。这不是必需的,但可以通过大多数客户端程序的命令行选项来传递设置。</p>
|
||
<h3 id="3-配置脚本示例">3. 配置脚本示例<a aria-hidden="true" tabindex="-1" href="#3-配置脚本示例" class="internal"> §</a></h3>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-token-comment);">#!/bin/bash</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 将配置写入 ~/.bash_profile 文件</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">cat</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">>></span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">~/.bash_profile</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);"><<</span><span style="color:var(--shiki-color-text);">EOF</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-string);">export PGDATA=/opt/postgres/data</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-string);">export PGHOME=/opt/postgres/pgsql</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-string);">export LD_LIBRARY_PATH=$pg_home/lib:/lib64:/usr/lib64:/usr/local/lib64:/lib:/usr/lib:/usr/local/lib:$LD_LIBRARY_PATH</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-string);">export PATH=$pg_home/bin:$PATH:.</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-string);">export MANPATH=$pg_home/share/man:$MANPATH</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-string);">export PGHOST=$PGDATA</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-string);">export PGUSER=postgres</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-string);">export PGDATABASE=postgres</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">EOF</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 重新加载 ~/.bash_profile</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">source</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">~/.bash_profile</span></span></code></pre></div>
|
||
<h2 id="使用">使用<a aria-hidden="true" tabindex="-1" href="#使用" class="internal"> §</a></h2>
|
||
<h3 id="psql-命令">Psql 命令<a aria-hidden="true" tabindex="-1" href="#psql-命令" class="internal"> §</a></h3>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<table><thead><tr><th>内置命令</th><th>作用描述</th></tr></thead><tbody><tr><td><code>\q</code></td><td>退出 psql</td></tr><tr><td><code>\l</code> 或 <code>\list</code></td><td>列出所有数据库</td></tr><tr><td><code>\c [数据库名]</code></td><td>连接到新数据库</td></tr><tr><td><code>\dt</code></td><td>列出当前数据库中的所有表</td></tr><tr><td><code>\d [表名]</code></td><td>显示表的结构(列、数据类型、权限等)</td></tr><tr><td><code>\du</code></td><td>列出所有 PostgreSQL 用户角色</td></tr><tr><td><code>\e</code></td><td>打开文本编辑器</td></tr><tr><td><code>\a</code></td><td>切换输出格式(对齐或非对齐)</td></tr><tr><td><code>\x</code></td><td>切换扩展显示模式</td></tr><tr><td><code>\timing</code></td><td>显示 SQL 查询的执行时间</td></tr><tr><td><code>\i [文件名]</code></td><td>执行文件中的 SQL 命令</td></tr><tr><td><code>\o [文件名]</code></td><td>将查询结果输出到文件</td></tr><tr><td><code>\s</code></td><td>显示命令历史</td></tr><tr><td><code>\?</code></td><td>显示所有 psql 命令的帮助信息</td></tr><tr><td><code>\h [SQL命令]</code></td><td>显示 SQL 命令的语法和选项</td></tr><tr><td><code>\set</code></td><td>列出所有 psql 变量及其值</td></tr><tr><td><code>\unset</code></td><td>删除一个或多个 psql 变量</td></tr><tr><td><code>\g</code> 或 <code>;</code></td><td>执行查询</td></tr><tr><td><code>\qecho [文本]</code></td><td>在输出中显示文本(通常用于脚本中添加注释或空行)</td></tr><tr><td><code>\conninfo</code></td><td>显示当前数据库连接的详细信息</td></tr></tbody></table>
|
||
<h3 id="1-初始化数据库目录">1. 初始化数据库目录<a aria-hidden="true" tabindex="-1" href="#1-初始化数据库目录" class="internal"> §</a></h3>
|
||
<p>首先,需要使用 <code>initdb</code> 命令来初始化数据库目录。该命令会创建必要的目录结构和系统目录,以便 PostgreSQL 数据库能够运行。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-token-comment);"># -D 选项指定数据库目录的路径</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">initdb</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-D</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">/path/to/data/directory</span></span></code></pre></div>
|
||
<h3 id="2-配置文件">2. 配置文件<a aria-hidden="true" tabindex="-1" href="#2-配置文件" class="internal"> §</a></h3>
|
||
<h4 id="postgresqlconf">postgresql.conf<a aria-hidden="true" tabindex="-1" href="#postgresqlconf" class="internal"> §</a></h4>
|
||
<p>PostgreSQL 的主配置文件,可以在这里设置各种参数,如内存使用、连接数等。下面是常用配置:</p>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<table><thead><tr><th>配置选项</th><th>作用</th><th>示例配置</th></tr></thead><tbody><tr><td><strong>连接设置</strong></td><td></td><td></td></tr><tr><td><code>listen_addresses</code></td><td>定义服务器监听的地址</td><td><code>listen_addresses = '*'</code></td></tr><tr><td><code>port</code></td><td>定义服务器监听的端口</td><td><code>port = 5432</code></td></tr><tr><td><code>max_connections</code></td><td>最大并发连接数</td><td><code>max_connections = 100</code></td></tr><tr><td><code>superuser_reserved_connections</code></td><td>为超级用户保留的连接数</td><td><code>superuser_reserved_connections = 3</code></td></tr><tr><td><code>unix_socket_directories</code></td><td>Unix 域套接字的目录</td><td><code>unix_socket_directories = '/var/run/postgresql'</code></td></tr><tr><td><strong>认证和安全</strong></td><td></td><td></td></tr><tr><td><code>ssl</code></td><td>是否启用 SSL</td><td><code>ssl = on</code></td></tr><tr><td><code>ssl_cert_file</code></td><td>SSL 证书文件的位置</td><td><code>ssl_cert_file = '/path/to/server.crt'</code></td></tr><tr><td><code>ssl_key_file</code></td><td>SSL 私钥文件的位置</td><td><code>ssl_key_file = '/path/to/server.key'</code></td></tr><tr><td><code>password_encryption</code></td><td>密码加密方式</td><td><code>password_encryption = scram-sha-256</code></td></tr><tr><td><code>hba_file</code></td><td><code>pg_hba.conf</code> 文件的位置</td><td><code>hba_file = '/path/to/pg_hba.conf'</code></td></tr><tr><td><strong>内存使用</strong></td><td></td><td></td></tr><tr><td><code>shared_buffers</code></td><td>用于缓存的内存大小</td><td><code>shared_buffers = 128MB</code></td></tr><tr><td><code>work_mem</code></td><td>查询操作可以使用的内存量</td><td><code>work_mem = 4MB</code></td></tr><tr><td><code>maintenance_work_mem</code></td><td>维护操作(如 VACUUM)可以使用的内存量</td><td><code>maintenance_work_mem = 64MB</code></td></tr><tr><td><code>effective_cache_size</code></td><td>估计的操作系统缓存大小</td><td><code>effective_cache_size = 512MB</code></td></tr><tr><td><strong>查询调优</strong></td><td></td><td></td></tr><tr><td><code>seq_page_cost</code></td><td>顺序磁盘页的成本</td><td><code>seq_page_cost = 1.0</code></td></tr><tr><td><code>random_page_cost</code></td><td>随机磁盘页的成本</td><td><code>random_page_cost = 4.0</code></td></tr><tr><td><code>cpu_tuple_cost</code></td><td>处理每个元组的 CPU 成本</td><td><code>cpu_tuple_cost = 0.01</code></td></tr><tr><td><code>cpu_index_tuple_cost</code></td><td>处理每个索引元组的 CPU 成本</td><td><code>cpu_index_tuple_cost = 0.005</code></td></tr><tr><td><code>cpu_operator_cost</code></td><td>执行操作符的 CPU 成本</td><td><code>cpu_operator_cost = 0.0025</code></td></tr><tr><td><strong>日志记录</strong></td><td></td><td></td></tr><tr><td><code>logging_collector</code></td><td>是否启用日志收集</td><td><code>logging_collector = on</code></td></tr><tr><td><code>log_directory</code></td><td>日志文件的存储目录</td><td><code>log_directory = 'pg_log'</code></td></tr><tr><td><code>log_filename</code></td><td>日志文件的命名方式</td><td><code>log_filename = 'postgresql.log'</code></td></tr><tr><td><code>log_statement</code></td><td>记录的 SQL 语句类型(例如所有语句或只有 DDL)</td><td><code>log_statement = 'all'</code></td></tr><tr><td><code>log_duration</code></td><td>是否记录语句的执行时间</td><td><code>log_duration = on</code></td></tr><tr><td><code>log_min_duration_statement</code></td><td>记录执行时间超过指定毫秒数的语句</td><td><code>log_min_duration_statement = 500</code></td></tr><tr><td><strong>运行时统计</strong></td><td></td><td></td></tr><tr><td><code>track_activities</code></td><td>是否跟踪服务器进程的活动</td><td><code>track_activities = on</code></td></tr><tr><td><code>track_counts</code></td><td>是否跟踪访问统计信息</td><td><code>track_counts = on</code></td></tr><tr><td><code>track_io_timing</code></td><td>是否跟踪 I/O 计时信息</td><td><code>track_io_timing = on</code></td></tr><tr><td><code>stats_temp_directory</code></td><td>临时统计数据的目录</td><td><code>stats_temp_directory = 'pg_stat_tmp'</code></td></tr><tr><td><strong>锁定</strong></td><td></td><td></td></tr><tr><td><code>deadlock_timeout</code></td><td>死锁检测的超时时间</td><td><code>deadlock_timeout = 1s</code></td></tr><tr><td><code>max_locks_per_transaction</code></td><td>每个事务可以持有的最大锁数</td><td><code>max_locks_per_transaction = 64</code></td></tr><tr><td><strong>自动 VACUUM</strong></td><td></td><td></td></tr><tr><td><code>autovacuum</code></td><td>是否启用自动 VACUUM</td><td><code>autovacuum = on</code></td></tr><tr><td><code>autovacuum_vacuum_scale_factor</code></td><td>触发自动 VACUUM 的脏数据比例</td><td><code>autovacuum_vacuum_scale_factor = 0.2</code></td></tr><tr><td><code>autovacuum_analyze_scale_factor</code></td><td>触发自动 ANALYZE 的脏数据比例</td><td><code>autovacuum_analyze_scale_factor = 0.1</code></td></tr><tr><td><code>autovacuum_vacuum_cost_limit</code></td><td>自动 VACUUM 操作的成本限制</td><td><code>autovacuum_vacuum_cost_limit = 200</code></td></tr><tr><td><strong>客户端连接默认值</strong></td><td></td><td></td></tr><tr><td><code>DateStyle</code></td><td>默认的日期格式</td><td><code>DateStyle = 'ISO, MDY'</code></td></tr><tr><td><code>TimeZone</code></td><td>默认的时区</td><td><code>TimeZone = 'UTC'</code></td></tr><tr><td><code>lc_messages</code></td><td>消息的本地化设置</td><td><code>lc_messages = 'en_US.UTF-8'</code></td></tr><tr><td><code>lc_monetary</code></td><td>货币格式的本地化设置</td><td><code>lc_monetary = 'en_US.UTF-8'</code></td></tr><tr><td><code>lc_numeric</code></td><td>数字格式的本地化设置</td><td><code>lc_numeric = 'en_US.UTF-8'</code></td></tr><tr><td><code>lc_time</code></td><td>时间和日期格式的本地化设置</td><td><code>lc_time = 'en_US.UTF-8'</code></td></tr><tr><td><strong>LOCALE</strong></td><td></td><td></td></tr><tr><td><code>lc_collate</code></td><td>字符串排序的本地化设置</td><td><code>lc_collate = 'en_US.UTF-8'</code></td></tr><tr><td><code>lc_ctype</code></td><td>字符分类的本地化设置</td><td><code>lc_ctype = 'en_US.UTF-8'</code></td></tr></tbody></table>
|
||
<h4 id="pg_hbaconf">pg_hba.conf<a aria-hidden="true" tabindex="-1" href="#pg_hbaconf" class="internal"> §</a></h4>
|
||
<p><code>pg_hba.conf</code> 文件用于控制哪些客户端可以连接到数据库,以及它们可以使用的认证方法。以下是 <code>pg_hba.conf</code> 中的常见配置项、作用和示例配置:</p>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
<table><thead><tr><th>类型</th><th>数据库</th><th>用户</th><th>地址</th><th>认证方法</th><th>说明</th></tr></thead><tbody><tr><td><code>local</code></td><td><code>all</code></td><td><code>all</code></td><td></td><td><code>trust</code></td><td>本地所有用户对所有数据库的连接不需要密码</td></tr><tr><td><code>host</code></td><td><code>all</code></td><td><code>all</code></td><td><code>127.0.0.1/32</code></td><td><code>md5</code></td><td>从本地通过 TCP/IP 连接的所有用户需要密码</td></tr><tr><td><code>host</code></td><td><code>mydb</code></td><td><code>myuser</code></td><td><code>192.168.1.0/24</code></td><td><code>md5</code></td><td>从指定网络连接到指定数据库的指定用户需要密码</td></tr><tr><td><code>hostssl</code></td><td><code>all</code></td><td><code>all</code></td><td><code>0.0.0.0/0</code></td><td><code>md5</code></td><td>从任何地址通过 SSL 连接的所有用户需要密码</td></tr><tr><td><code>hostnossl</code></td><td><code>all</code></td><td><code>all</code></td><td><code>0.0.0.0/0</code></td><td><code>reject</code></td><td>拒绝非 SSL 连接</td></tr></tbody></table>
|
||
<ul>
|
||
<li><strong>类型</strong>:连接类型。常见的有 <code>local</code>(Unix 域套接字)、<code>host</code>(TCP/IP 套接字)、<code>hostssl</code>(仅限 SSL 的 TCP/IP 连接)和 <code>hostnossl</code>(不使用 SSL 的 TCP/IP 连接)。</li>
|
||
<li><strong>数据库</strong>:适用的数据库名。<code>all</code> 表示所有数据库。</li>
|
||
<li><strong>用户</strong>:适用的用户名。<code>all</code> 表示所有用户。</li>
|
||
<li><strong>地址</strong>:客户端的 IP 地址。对于 <code>local</code> 类型,这一列是空的。对于 <code>host</code> 类型,这是一个 CIDR 地址或一个 IP 地址和一个掩码。</li>
|
||
<li><strong>认证方法</strong>:常见的有 <code>trust</code>(不需要密码)、<code>reject</code>(拒绝连接)、<code>md5</code>(密码认证)、<code>password</code>(明文密码)等。</li>
|
||
</ul>
|
||
<p><code>pg_hba.conf</code> 文件的每一行都是一个连接规则,PostgreSQL 会按照文件中的顺序评估这些规则,直到找到一个匹配的规则为止。因此,顺序很重要,特别是当有多个规则可能匹配同一个连接时。</p>
|
||
<h3 id="3-启动数据库">3. 启动数据库<a aria-hidden="true" tabindex="-1" href="#3-启动数据库" class="internal"> §</a></h3>
|
||
<p>一旦数据库目录被成功初始化,可以使用 <code>pg_ctl</code> 命令来启动 PostgreSQL 数据库。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-token-comment);"># -D 选项指定了数据库目录的路径。</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">pg_ctl</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">start</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-D</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">/path/to/data/directory</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 或者</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">postgres</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-D</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">/path/to/data/directory</span></span></code></pre></div>
|
||
<h3 id="4-验证数据库是否正在运行">4. 验证数据库是否正在运行<a aria-hidden="true" tabindex="-1" href="#4-验证数据库是否正在运行" class="internal"> §</a></h3>
|
||
<p>为了验证 PostgreSQL 数据库是否正在运行,可以使用 <code>psql</code> 命令连接到数据库并执行一个简单的查询,例如:</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-token-function);">psql</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-U</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">postgres</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-c</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"SELECT version();"</span></span></code></pre></div>
|
||
<h3 id="5-配置-systemctl-服务">5. 配置 Systemctl 服务<a aria-hidden="true" tabindex="-1" href="#5-配置-systemctl-服务" class="internal"> §</a></h3>
|
||
<ol>
|
||
<li>关闭 postgresql 数据库。</li>
|
||
<li>创建一个 Systemd 服务文件,通常位于 <code>/etc/systemd/system/postgresql.service</code>。</li>
|
||
<li>添加以下内容(需要结合配置脚本示例)。</li>
|
||
</ol>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-color-text);">[Unit]</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">Description</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string);">PostgreSQL</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">database</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">server</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">Documentation</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string);">man:postgres</span><span style="color:var(--shiki-color-text);">(</span><span style="color:var(--shiki-token-function);">1</span><span style="color:var(--shiki-color-text);">)</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">After</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string);">network.target</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">[Service]</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">Type</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string);">forking</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">User</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string);">postgres</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">Group</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string);">postgres</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">Environment</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string);">PGPORT=</span><span style="color:var(--shiki-token-constant);">5432</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">Environment</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string);">PGDATA=/opt/postgresql/data</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">OOMScoreAdjust</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-constant);">-1000</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">ExecStart</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string);">/opt/postgresql/pgsql/bin/pg_ctl</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">start</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-D</span><span style="color:var(--shiki-color-text);"> ${PGDATA} </span><span style="color:var(--shiki-token-string);">-s</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-o</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"-p ${PGPORT}"</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-w</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-t</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-constant);">300</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">ExecStop</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string);">/opt/postgresql/pgsql/bin/pg_ctl</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">stop</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-D</span><span style="color:var(--shiki-color-text);"> ${PGDATA} </span><span style="color:var(--shiki-token-string);">-s</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-m</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">fast</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">ExecReload</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string);">/opt/postgresql/pgsql//bin/pg_ctl</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-function);">reload</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-D</span><span style="color:var(--shiki-color-text);"> ${PGDATA} </span><span style="color:var(--shiki-token-string);">-s</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">KillMode</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string);">mixed</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">KillSignal</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string);">SIGINT</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">TimeoutSec</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-constant);">30</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">[Install]</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">WantedBy</span><span style="color:var(--shiki-token-keyword);">=</span><span style="color:var(--shiki-token-string);">multi-user.target</span></span></code></pre></div>
|
||
<ol>
|
||
<li>重新加载 Systemd 配置:<code>sudo systemctl daemon-reload</code></li>
|
||
<li>启动服务:<code>sudo systemctl start postgresql</code></li>
|
||
<li>设置开机启动:<code>sudo systemctl enable postgresql</code></li>
|
||
</ol>
|
||
<h3 id="6-创建用户和数据库">6. 创建用户和数据库<a aria-hidden="true" tabindex="-1" href="#6-创建用户和数据库" class="internal"> §</a></h3>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-token-comment);"># 创建一个新用户</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">sudo</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-u</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">postgres</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">createuser</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-P</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);"><</span><span style="color:var(--shiki-token-string);">usernam</span><span style="color:var(--shiki-color-text);">e</span><span style="color:var(--shiki-token-keyword);">></span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 创建一个新数据库</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">sudo</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-u</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">postgres</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">createdb</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-O</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);"><</span><span style="color:var(--shiki-token-string);">usernam</span><span style="color:var(--shiki-color-text);">e</span><span style="color:var(--shiki-token-keyword);">></span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);"><</span><span style="color:var(--shiki-token-string);">dbnam</span><span style="color:var(--shiki-color-text);">e</span><span style="color:var(--shiki-token-keyword);">></span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 为用户分配特定权限</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">sudo</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-u</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">postgres</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">psql</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-c</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"GRANT ALL PRIVILEGES ON DATABASE <dbname> TO <username>;"</span></span></code></pre></div>
|
||
<h3 id="7-用户和角色管理">7. 用户和角色管理<a aria-hidden="true" tabindex="-1" href="#7-用户和角色管理" class="internal"> §</a></h3>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-token-comment);"># 创建角色</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">sudo</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-u</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">postgres</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">createuser</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);"><</span><span style="color:var(--shiki-token-string);">role_nam</span><span style="color:var(--shiki-color-text);">e</span><span style="color:var(--shiki-token-keyword);">></span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 为角色分配权限</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">sudo</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-u</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">postgres</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">psql</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-c</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"GRANT <permission> ON <object> TO <role_name>;"</span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 删除角色</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">sudo</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-u</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">postgres</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">dropuser</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);"><</span><span style="color:var(--shiki-token-string);">role_nam</span><span style="color:var(--shiki-color-text);">e</span><span style="color:var(--shiki-token-keyword);">></span></span>
|
||
<span data-line> </span>
|
||
<span data-line><span style="color:var(--shiki-token-comment);"># 设置密码策略和验证</span></span>
|
||
<span data-line><span style="color:var(--shiki-token-function);">sudo</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-u</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">postgres</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">psql</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-c</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string-expression);">"ALTER USER <username> WITH PASSWORD '<password>';"</span></span></code></pre></div>
|
||
<h3 id="8-备份和恢复">8. 备份和恢复<a aria-hidden="true" tabindex="-1" href="#8-备份和恢复" class="internal"> §</a></h3>
|
||
<p>备份和恢复是数据库管理的关键部分,确保数据的安全和完整性。PostgreSQL 提供了 <code>pg_dump</code> 和 <code>pg_restore</code> 工具来帮助管理员进行这些操作。</p>
|
||
<h4 id="pg_dump-备份"><code>pg_dump</code> 备份<a aria-hidden="true" tabindex="-1" href="#pg_dump-备份" class="internal"> §</a></h4>
|
||
<p><code>pg_dump</code> 是用于备份 PostgreSQL 数据库的工具。它可以生成包含数据库内容的 SQL 脚本文件或其他格式,如 tar 和 custom。使用以下命令进行全量备份:</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-token-function);">pg_dump</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-U</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);"><</span><span style="color:var(--shiki-token-string);">usernam</span><span style="color:var(--shiki-color-text);">e</span><span style="color:var(--shiki-token-keyword);">></span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-h</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);"><</span><span style="color:var(--shiki-token-string);">hos</span><span style="color:var(--shiki-color-text);">t</span><span style="color:var(--shiki-token-keyword);">></span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-p</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);"><</span><span style="color:var(--shiki-token-string);">por</span><span style="color:var(--shiki-color-text);">t</span><span style="color:var(--shiki-token-keyword);">></span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-F</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">c</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-b</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);"><</span><span style="color:var(--shiki-token-string);">dbnam</span><span style="color:var(--shiki-color-text);">e</span><span style="color:var(--shiki-token-keyword);">></span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">></span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">backup.dump</span></span></code></pre></div>
|
||
<p>额外的选项包括 <code>--data-only</code> 和 <code>--schema-only</code>,这些选项可以让用户选择备份数据或者仅备份架构。</p>
|
||
<p>使用 <code>pg_restore</code> 来验证备份文件的完整性。即使你不打算立即恢复,也应该定期验证备份。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-token-function);">pg_restore</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">--list</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">backup.dump</span></span></code></pre></div>
|
||
<h4 id="pg_restore-恢复"><code>pg_restore</code> 恢复<a aria-hidden="true" tabindex="-1" href="#pg_restore-恢复" class="internal"> §</a></h4>
|
||
<p><code>pg_restore</code> 是用于恢复由 <code>pg_dump</code> 创建的备份的工具。使用以下命令进行恢复:</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-token-function);">pg_restore</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-U</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);"><</span><span style="color:var(--shiki-token-string);">usernam</span><span style="color:var(--shiki-color-text);">e</span><span style="color:var(--shiki-token-keyword);">></span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-h</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);"><</span><span style="color:var(--shiki-token-string);">hos</span><span style="color:var(--shiki-color-text);">t</span><span style="color:var(--shiki-token-keyword);">></span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-p</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);"><</span><span style="color:var(--shiki-token-string);">por</span><span style="color:var(--shiki-color-text);">t</span><span style="color:var(--shiki-token-keyword);">></span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">-d</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);"><</span><span style="color:var(--shiki-token-string);">dbnam</span><span style="color:var(--shiki-color-text);">e</span><span style="color:var(--shiki-token-keyword);">></span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">backup.dump</span></span></code></pre></div>
|
||
<p><strong>注意</strong>:</p>
|
||
<ul>
|
||
<li>在恢复之前,确保目标数据库是空的或你已经备份了任何重要的数据。</li>
|
||
<li>如果备份是在不同版本的 PostgreSQL 上创建的,可能会遇到兼容性问题。在这种情况下,确保先测试恢复过程。</li>
|
||
<li>如果你正在恢复到一个活动的数据库,你可能需要在恢复前停止数据库服务。</li>
|
||
</ul>
|
||
<h2 id="更新">更新<a aria-hidden="true" tabindex="-1" href="#更新" class="internal"> §</a></h2>
|
||
<h3 id="小版本升级minor-version-upgrade">小版本升级(Minor Version Upgrade)<a aria-hidden="true" tabindex="-1" href="#小版本升级minor-version-upgrade" class="internal"> §</a></h3>
|
||
<p>**小版本升级通常涉及到安全修复和错误修复,而不会改变数据库的内部格式。**这些升级通常比较简单,并且可以通过替换二进制文件来完成。如下是 PostgreSQL 15.3 升级到 15.4 的小版本升级示例:</p>
|
||
<p><strong>步骤</strong>:</p>
|
||
<ol>
|
||
<li>
|
||
<p><strong>备份数据</strong>:</p>
|
||
<p>在进行任何升级之前,始终确保备份您的数据库。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-token-function);">pg_dumpall</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">></span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">backup.sql</span></span></code></pre></div>
|
||
</li>
|
||
<li>
|
||
<p><strong>停止 PostgreSQL 服务</strong>:</p>
|
||
<p>使用 <code>pg_ctl stop</code> 或您的系统的服务管理工具停止 PostgreSQL 服务。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-token-function);">pg_ctl</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">stop</span></span></code></pre></div>
|
||
</li>
|
||
<li>
|
||
<p><strong>替换二进制文件</strong>:</p>
|
||
<p>下载并安装 PostgreSQL 15.4 的二进制文件。</p>
|
||
</li>
|
||
<li>
|
||
<p><strong>重启 PostgreSQL 服务</strong>:</p>
|
||
<p>使用 <code>pg_ctl start</code> 或您的系统的服务管理工具重新启动 PostgreSQL 服务。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-token-function);">pg_ctl</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">start</span></span></code></pre></div>
|
||
</li>
|
||
<li>
|
||
<p><strong>检查日志和运行测试</strong>:</p>
|
||
<p>检查 <code>/usr/local/pgsql/data/pg_log/</code> 中的日志文件以确保没有错误,并运行任何必要的测试以验证系统的功能。</p>
|
||
</li>
|
||
</ol>
|
||
<h3 id="跨版本升级major-version-upgrade">跨版本升级(Major Version Upgrade)<a aria-hidden="true" tabindex="-1" href="#跨版本升级major-version-upgrade" class="internal"> §</a></h3>
|
||
<p>跨版本升级涉及到从一个主版本升级到另一个主版本,例如从 PostgreSQL 15 升级到 PostgreSQL 16。**这些升级通常会涉及到内部格式的变化,因此需要更多的注意和准备。**如下是 PostgreSQL 15.4 升级到 16.0 的大版本升级示例:</p>
|
||
<p><strong>步骤</strong>:</p>
|
||
<ol>
|
||
<li>
|
||
<p><strong>备份数据</strong>:</p>
|
||
<p>在进行任何升级之前,始终确保备份您的数据库。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-token-function);">pg_dumpall</span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-keyword);">></span><span style="color:var(--shiki-color-text);"> </span><span style="color:var(--shiki-token-string);">backup.sql</span></span></code></pre></div>
|
||
</li>
|
||
<li>
|
||
<p><strong>检查兼容性</strong>:</p>
|
||
<p>检查新版本的 PostgreSQL 文档以确保您的应用程序和数据库架构与新版本兼容。</p>
|
||
</li>
|
||
<li>
|
||
<p><strong>安装新版本的 PostgreSQL</strong>:</p>
|
||
<p>在同一系统上安装新版本的 PostgreSQL,但不要覆盖旧版本。</p>
|
||
</li>
|
||
<li>
|
||
<p><strong>使用 pg_upgrade 或逻辑备份和恢复</strong>:</p>
|
||
<p>使用 <code>pg_upgrade</code> 工具快速升级。</p>
|
||
<div data-rehype-pretty-code-fragment><pre style="background-color:var(--shiki-color-background);" tabindex="0" data-language="shell" data-theme="default"><code data-language="shell" data-theme="default"><span data-line><span style="color:var(--shiki-token-function);">pg_upgrade</span><span style="color:var(--shiki-color-text);"> \</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">--old-datadir </span><span style="color:var(--shiki-token-string-expression);">"/usr/local/pgsql/15.4/data"</span><span style="color:var(--shiki-color-text);"> \</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">--new-datadir </span><span style="color:var(--shiki-token-string-expression);">"/usr/local/pgsql/16.0/data"</span><span style="color:var(--shiki-color-text);"> \</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">--old-bindir </span><span style="color:var(--shiki-token-string-expression);">"/usr/local/pgsql/15.4/bin"</span><span style="color:var(--shiki-color-text);"> \</span></span>
|
||
<span data-line><span style="color:var(--shiki-color-text);">--new-bindir </span><span style="color:var(--shiki-token-string-expression);">"/usr/local/pgsql/16.0/bin"</span></span></code></pre></div>
|
||
</li>
|
||
<li>
|
||
<p><strong>测试新集群</strong>:</p>
|
||
<p>在新集群上运行测试以确保它按预期工作。</p>
|
||
</li>
|
||
<li>
|
||
<p><strong>切换到新集群</strong>:</p>
|
||
<p>一旦满意,可以切换到新集群并更新任何连接字符串和配置。</p>
|
||
</li>
|
||
<li>
|
||
<p><strong>监控性能和错误</strong>:</p>
|
||
<p>在升级后监控系统性能和错误,以确保一切正常。</p>
|
||
</li>
|
||
<li>
|
||
<p><strong>(可选)删除旧集群</strong>:</p>
|
||
<p>确保新集群运行正常后,可以选择删除旧集群以释放空间。</p>
|
||
</li>
|
||
</ol></article></div><div class="right sidebar"><div class="graph "><h3>Graph View</h3><div class="graph-outer"><div id="graph-container" data-cfg="{"drag":true,"zoom":true,"depth":1,"scale":1.1,"repelForce":0.5,"centerForce":0.3,"linkDistance":30,"fontSize":0.6,"opacityScale":1,"showTags":true,"removeTags":[]}"></div><svg version="1.1" id="global-graph-icon" xmlns="http://www.w3.org/2000/svg" xmlnsXlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 55 55" fill="currentColor" xmlSpace="preserve"><path d="M49,0c-3.309,0-6,2.691-6,6c0,1.035,0.263,2.009,0.726,2.86l-9.829,9.829C32.542,17.634,30.846,17,29,17
|
||
s-3.542,0.634-4.898,1.688l-7.669-7.669C16.785,10.424,17,9.74,17,9c0-2.206-1.794-4-4-4S9,6.794,9,9s1.794,4,4,4
|
||
c0.74,0,1.424-0.215,2.019-0.567l7.669,7.669C21.634,21.458,21,23.154,21,25s0.634,3.542,1.688,4.897L10.024,42.562
|
||
C8.958,41.595,7.549,41,6,41c-3.309,0-6,2.691-6,6s2.691,6,6,6s6-2.691,6-6c0-1.035-0.263-2.009-0.726-2.86l12.829-12.829
|
||
c1.106,0.86,2.44,1.436,3.898,1.619v10.16c-2.833,0.478-5,2.942-5,5.91c0,3.309,2.691,6,6,6s6-2.691,6-6c0-2.967-2.167-5.431-5-5.91
|
||
v-10.16c1.458-0.183,2.792-0.759,3.898-1.619l7.669,7.669C41.215,39.576,41,40.26,41,41c0,2.206,1.794,4,4,4s4-1.794,4-4
|
||
s-1.794-4-4-4c-0.74,0-1.424,0.215-2.019,0.567l-7.669-7.669C36.366,28.542,37,26.846,37,25s-0.634-3.542-1.688-4.897l9.665-9.665
|
||
C46.042,11.405,47.451,12,49,12c3.309,0,6-2.691,6-6S52.309,0,49,0z M11,9c0-1.103,0.897-2,2-2s2,0.897,2,2s-0.897,2-2,2
|
||
S11,10.103,11,9z M6,51c-2.206,0-4-1.794-4-4s1.794-4,4-4s4,1.794,4,4S8.206,51,6,51z M33,49c0,2.206-1.794,4-4,4s-4-1.794-4-4
|
||
s1.794-4,4-4S33,46.794,33,49z M29,31c-3.309,0-6-2.691-6-6s2.691-6,6-6s6,2.691,6,6S32.309,31,29,31z M47,41c0,1.103-0.897,2-2,2
|
||
s-2-0.897-2-2s0.897-2,2-2S47,39.897,47,41z M49,10c-2.206,0-4-1.794-4-4s1.794-4,4-4s4,1.794,4,4S51.206,10,49,10z"></path></svg></div><div id="global-graph-outer"><div id="global-graph-container" data-cfg="{"drag":true,"zoom":true,"depth":-1,"scale":0.9,"repelForce":0.5,"centerForce":0.3,"linkDistance":30,"fontSize":0.6,"opacityScale":1,"showTags":true,"removeTags":[]}"></div></div></div><div class="toc desktop-only"><button type="button" id="toc" class><h3>Table of Contents</h3><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="fold"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div id="toc-content"><ul class="overflow"><li class="depth-0"><a href="#序言" data-for="序言">序言</a></li><li class="depth-0"><a href="#依赖" data-for="依赖">依赖</a></li><li class="depth-1"><a href="#基本依赖" data-for="基本依赖">基本依赖</a></li><li class="depth-1"><a href="#拓展依赖" data-for="拓展依赖">拓展依赖</a></li><li class="depth-1"><a href="#依赖检查" data-for="依赖检查">依赖检查</a></li><li class="depth-0"><a href="#安装" data-for="安装">安装</a></li><li class="depth-1"><a href="#源码安装" data-for="源码安装">源码安装</a></li><li class="depth-1"><a href="#二进制安装" data-for="二进制安装">二进制安装</a></li><li class="depth-0"><a href="#设置" data-for="设置">设置</a></li><li class="depth-1"><a href="#1-共享库设置-shared-libraries" data-for="1-共享库设置-shared-libraries">1. 共享库设置 (Shared Libraries)</a></li><li class="depth-1"><a href="#2-环境变量设置-environment-variables" data-for="2-环境变量设置-environment-variables">2. 环境变量设置 (Environment Variables)</a></li><li class="depth-1"><a href="#3-配置脚本示例" data-for="3-配置脚本示例">3. 配置脚本示例</a></li><li class="depth-0"><a href="#使用" data-for="使用">使用</a></li><li class="depth-1"><a href="#psql-命令" data-for="psql-命令">Psql 命令</a></li><li class="depth-1"><a href="#1-初始化数据库目录" data-for="1-初始化数据库目录">1. 初始化数据库目录</a></li><li class="depth-1"><a href="#2-配置文件" data-for="2-配置文件">2. 配置文件</a></li><li class="depth-1"><a href="#3-启动数据库" data-for="3-启动数据库">3. 启动数据库</a></li><li class="depth-1"><a href="#4-验证数据库是否正在运行" data-for="4-验证数据库是否正在运行">4. 验证数据库是否正在运行</a></li><li class="depth-1"><a href="#5-配置-systemctl-服务" data-for="5-配置-systemctl-服务">5. 配置 Systemctl 服务</a></li><li class="depth-1"><a href="#6-创建用户和数据库" data-for="6-创建用户和数据库">6. 创建用户和数据库</a></li><li class="depth-1"><a href="#7-用户和角色管理" data-for="7-用户和角色管理">7. 用户和角色管理</a></li><li class="depth-1"><a href="#8-备份和恢复" data-for="8-备份和恢复">8. 备份和恢复</a></li><li class="depth-0"><a href="#更新" data-for="更新">更新</a></li><li class="depth-1"><a href="#小版本升级minor-version-upgrade" data-for="小版本升级minor-version-upgrade">小版本升级(Minor Version Upgrade)</a></li><li class="depth-1"><a href="#跨版本升级major-version-upgrade" data-for="跨版本升级major-version-upgrade">跨版本升级(Major Version Upgrade)</a></li></ul></div></div><div class="backlinks "><h3>Backlinks</h3><ul class="overflow"><li>No backlinks found</li></ul></div><div class="explorer mobile-only"><button type="button" id="explorer" data-behavior="collapse" data-collapsed="collapsed" data-savestate="true" data-tree="[{"path":"Basics","collapsed":true},{"path":"Basics/english","collapsed":true},{"path":"Blog","collapsed":true},{"path":"Book","collapsed":true},{"path":"Book/个人成长","collapsed":true},{"path":"Book/医学健康","collapsed":true},{"path":"Book/历史","collapsed":true},{"path":"Book/哲学宗教","collapsed":true},{"path":"Book/心理","collapsed":true},{"path":"Book/政治军事","collapsed":true},{"path":"Book/教育学习","collapsed":true},{"path":"Book/文学","collapsed":true},{"path":"Book/生活百科","collapsed":true},{"path":"Book/社会文化","collapsed":true},{"path":"Book/科学技术","collapsed":true},{"path":"Book/经济理财","collapsed":true},{"path":"Book/艺术","collapsed":true},{"path":"Book/计算机","collapsed":true},{"path":"Company","collapsed":true},{"path":"Company/信息化","collapsed":true},{"path":"Company/信息化/规范","collapsed":true},{"path":"Culture","collapsed":true},{"path":"Government","collapsed":true},{"path":"Government/中国","collapsed":true},{"path":"Government/中国/标准","collapsed":true},{"path":"Government/中国/法律","collapsed":true},{"path":"Journal","collapsed":true},{"path":"Journal/2022","collapsed":true},{"path":"Journal/2022/W34","collapsed":true},{"path":"Journal/2022/W35","collapsed":true},{"path":"Journal/2022/W36","collapsed":true},{"path":"Journal/2022/W37","collapsed":true},{"path":"Journal/2022/W38","collapsed":true},{"path":"Journal/2022/W39","collapsed":true},{"path":"Journal/2022/W41","collapsed":true},{"path":"Journal/2022/W42","collapsed":true},{"path":"Journal/2022/W43","collapsed":true},{"path":"Journal/2022/W44","collapsed":true},{"path":"Journal/2022/W45","collapsed":true},{"path":"Journal/2022/W46","collapsed":true},{"path":"Journal/2022/W47","collapsed":true},{"path":"Journal/2022/W48","collapsed":true},{"path":"Journal/2022/W49","collapsed":true},{"path":"Journal/2022/W50","collapsed":true},{"path":"Journal/2023","collapsed":true},{"path":"Journal/2023/W2","collapsed":true},{"path":"Journal/2023/W3","collapsed":true},{"path":"Journal/2023/W5","collapsed":true},{"path":"Journal/2023/W6","collapsed":true},{"path":"Journal/2023/W7","collapsed":true},{"path":"Journal/2023/W8","collapsed":true},{"path":"Journal/2023/W10","collapsed":true},{"path":"Journal/2023/W12","collapsed":true},{"path":"Journal/2023/W14","collapsed":true},{"path":"Journal/2023/W16","collapsed":true},{"path":"Journal/2023/W22","collapsed":true},{"path":"Journal/2023/W23","collapsed":true},{"path":"Journal/2023/W24","collapsed":true},{"path":"Journal/2023/W25","collapsed":true},{"path":"Journal/2023/W26","collapsed":true},{"path":"Journal/2023/W31","collapsed":true},{"path":"Journal/2023/W32","collapsed":true},{"path":"Journal/2023/W33","collapsed":true},{"path":"Journal/2023/W35","collapsed":true},{"path":"Journal/2023/W36","collapsed":true},{"path":"Journal/2023/W37","collapsed":true},{"path":"Journal/2023/W40","collapsed":true},{"path":"Journal/2023/W45","collapsed":true},{"path":"Journal/2023/W46","collapsed":true},{"path":"Journal/2023/W48","collapsed":true},{"path":"Journal/2023/W49","collapsed":true},{"path":"Journal/2023/W50","collapsed":true},{"path":"Journal/2024","collapsed":true},{"path":"Journal/2024/W8","collapsed":true},{"path":"Journal/2024/W10","collapsed":true},{"path":"Journal/2024/W11","collapsed":true},{"path":"Journal/2024/W12","collapsed":true},{"path":"Journal/2024/W14","collapsed":true},{"path":"Journal/2024/W16","collapsed":true},{"path":"Journal/2024/W17","collapsed":true},{"path":"Journal/2024/W22","collapsed":true},{"path":"Journal/2024/W23","collapsed":true},{"path":"Journal/2024/W24","collapsed":true},{"path":"Life","collapsed":true},{"path":"Scholar","collapsed":true},{"path":"Tech","collapsed":true},{"path":"Tech/cloud-service","collapsed":true},{"path":"Tech/cloud-service/基础","collapsed":true},{"path":"Tech/computer-network","collapsed":true},{"path":"Tech/computer-network/Nginx","collapsed":true},{"path":"Tech/computer-network/应用服务","collapsed":true},{"path":"Tech/computer-network/网络协议","collapsed":true},{"path":"Tech/computer-network/网络基础","collapsed":true},{"path":"Tech/computer-security","collapsed":true},{"path":"Tech/computer-security/信息安全","collapsed":true},{"path":"Tech/computer-security/信息安全/OpenPGP","collapsed":true},{"path":"Tech/computer-security/密码学","collapsed":true},{"path":"Tech/computer-security/用户安全","collapsed":true},{"path":"Tech/computer-security/用户安全/权限设计","collapsed":true},{"path":"Tech/computer-security/用户安全/用户鉴权","collapsed":true},{"path":"Tech/computer-security/系统安全","collapsed":true},{"path":"Tech/computer-security/系统安全/防火墙","collapsed":true},{"path":"Tech/computer-security/网络安全","collapsed":true},{"path":"Tech/computer-security/网络安全/OpenSSH","collapsed":true},{"path":"Tech/computer-security/网络安全/OpenSSL","collapsed":true},{"path":"Tech/database-system","collapsed":true},{"path":"Tech/database-system/PostgreSQL","collapsed":true},{"path":"Tech/database-system/SQL 语言","collapsed":true},{"path":"Tech/database-system/基础","collapsed":true},{"path":"Tech/getting-started","collapsed":true},{"path":"Tech/getting-started/命令行工具","collapsed":true},{"path":"Tech/getting-started/命令行工具/PowerShell","collapsed":true},{"path":"Tech/getting-started/命令行工具/Shell","collapsed":true},{"path":"Tech/getting-started/命令行工具/Vim","collapsed":true},{"path":"Tech/getting-started/开源指南","collapsed":true},{"path":"Tech/getting-started/文本处理","collapsed":true},{"path":"Tech/getting-started/版本控制","collapsed":true},{"path":"Tech/getting-started/版本控制/Git","collapsed":true},{"path":"Tech/getting-started/版本控制/Git/入门","collapsed":true},{"path":"Tech/getting-started/版本控制/Git/进阶","collapsed":true},{"path":"Tech/operating-system","collapsed":true},{"path":"Tech/operating-system/Automation","collapsed":true},{"path":"Tech/operating-system/Docker","collapsed":true},{"path":"Tech/operating-system/Docker/基础","collapsed":true},{"path":"Tech/operating-system/Docker/进阶","collapsed":true},{"path":"Tech/operating-system/Docker/高级","collapsed":true},{"path":"Tech/operating-system/Linux","collapsed":true},{"path":"Tech/operating-system/Linux/0.文化","collapsed":true},{"path":"Tech/operating-system/Linux/1.安装","collapsed":true},{"path":"Tech/operating-system/Linux/2.基础操作","collapsed":true},{"path":"Tech/operating-system/Linux/3.系统管理","collapsed":true},{"path":"Tech/operating-system/Linux/4.安全配置","collapsed":true},{"path":"Tech/operating-system/Linux/5.网络管理","collapsed":true},{"path":"Tech/operating-system/Linux/7.存储管理","collapsed":true},{"path":"Tech/operating-system/Linux/8.虚拟化","collapsed":true},{"path":"Tech/operating-system/Virtualization","collapsed":true},{"path":"Tech/operating-system/Virtualization/1.虚拟化概述","collapsed":true},{"path":"Tech/operating-system/Virtualization/2.KVM虚拟化","collapsed":true},{"path":"Tech/operating-system/Windows","collapsed":true},{"path":"Tech/operating-system/Windows/文化","collapsed":true},{"path":"Tech/programming-language","collapsed":true},{"path":"Tech/programming-language/Python","collapsed":true},{"path":"Tech/programming-language/Python/入门","collapsed":true},{"path":"Tech/programming-language/Python/文化","collapsed":true},{"path":"Tech/programming-language/Python/模块","collapsed":true},{"path":"Tech/programming-language/Python/模块/WEB开发","collapsed":true},{"path":"Tech/programming-language/Python/模块/数据处理","collapsed":true},{"path":"Tech/programming-language/Python/模块/文本处理","collapsed":true},{"path":"Tech/programming-language/Python/模块/系统交互","collapsed":true},{"path":"Tech/programming-language/Python/模块/网络处理","collapsed":true},{"path":"Tech/programming-language/Python/进阶","collapsed":true},{"path":"Tech/programming-language/Python/项目","collapsed":true},{"path":"Tech/programming-language/Python/项目/虚拟环境","collapsed":true},{"path":"Tech/programming-language/Python/项目/风格指南","collapsed":true},{"path":"Tech/software-engineering","collapsed":true},{"path":"Tech/software-engineering/协作规范","collapsed":true},{"path":"Tech/software-engineering/技术文档","collapsed":true},{"path":"Tech/structures-algorithms","collapsed":true},{"path":"Work","collapsed":true},{"path":"Work/data-engineer","collapsed":true},{"path":"Work/full-stack","collapsed":true},{"path":"Work/full-stack/基础","collapsed":true},{"path":"Work/full-stack/工具","collapsed":true},{"path":"Work/full-stack/文化","collapsed":true},{"path":"Work/roadmap","collapsed":true},{"path":"Work/roadmap/权益保障","collapsed":true},{"path":"Work/roadmap/求职经验","collapsed":true},{"path":"Work/roadmap/简历攻略","collapsed":true},{"path":"Work/roadmap/职业规划","collapsed":true},{"path":"Work/roadmap/职场心得","collapsed":true},{"path":"Work/roadmap/薪酬攻略","collapsed":true},{"path":"Work/roadmap/面试法则","collapsed":true},{"path":"Work/sre-engineer","collapsed":true}]"><h1>Explorer</h1><svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="fold"><polyline points="6 9 12 15 18 9"></polyline></svg></button><div id="explorer-content"><ul class="overflow" id="explorer-ul"><li><div><div class="folder-outer open"><ul style="padding-left:0;" class="content" data-folderul><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Basics"><button class="folder-button"><p class="folder-title">Basics</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Basics"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Basics/english"><button class="folder-button"><p class="folder-title">english</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Basics/english"><li><li><a href="../../../Basics/english/字母音标" data-for="Basics/english/字母音标">字母音标</a></li></li><li><li><a href="../../../Basics/english/语法基础" data-for="Basics/english/语法基础">语法基础</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Blog"><button class="folder-button"><p class="folder-title">Blog</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Blog"><li><li><a href="../../../Blog/「引用」博客的本质是电线杆子" data-for="Blog/「引用」博客的本质是电线杆子">「引用」博客的本质是电线杆子</a></li></li><li><li><a href="../../../Blog/「救赎之路」更名「向阳而生」" data-for="Blog/「救赎之路」更名「向阳而生」">「救赎之路」更名「向阳而生」</a></li></li><li><li><a href="../../../Blog/11月28日晚-星期三-霾" data-for="Blog/11月28日晚-星期三-霾">11月28日 晚 星期三 霾</a></li></li><li><li><a href="../../../Blog/2021" data-for="Blog/2021">2021</a></li></li><li><li><a href="../../../Blog/2022" data-for="Blog/2022">2022</a></li></li><li><li><a href="../../../Blog/2023-年度微信读书报告" data-for="Blog/2023-年度微信读书报告">2023 年度微信读书报告</a></li></li><li><li><a href="../../../Blog/回顾-2023" data-for="Blog/回顾-2023">2023 年终总结</a></li></li><li><li><a href="../../../Blog/2023-年终问答" data-for="Blog/2023-年终问答">2023 年终问答</a></li></li><li><li><a href="../../../Blog/BombSquad-炸弹人小分队" data-for="Blog/BombSquad-炸弹人小分队">BombSquad-炸弹人小分队</a></li></li><li><li><a href="../../../Blog/CityWalk——公车挑战" data-for="Blog/CityWalk——公车挑战">CityWalk——公车挑战:探索未知的城市</a></li></li><li><li><a href="../../../Blog/Docusaurus-搭建" data-for="Blog/Docusaurus-搭建">Docusaurus 搭建</a></li></li><li><li><a href="../../../Blog/Don`t-Starve-饥荒" data-for="Blog/Don`t-Starve-饥荒">Don't Starve-饥荒</a></li></li><li><li><a href="../../../Blog/Halo-主题-Redemption-首发版" data-for="Blog/Halo-主题-Redemption-首发版">Halo 主题 Redemption 首发版</a></li></li><li><li><a href="../../../Blog/Hello-Halo" data-for="Blog/Hello-Halo">Hello Halo</a></li></li><li><li><a href="../../../Blog/Obsidian-使用-Templater-插件的个性化脚本" data-for="Blog/Obsidian-使用-Templater-插件的个性化脚本">Obsidian 使用 Templater 插件的个性化脚本</a></li></li><li><li><a href="../../../Blog/Python-项目终极部署解决方案" data-for="Blog/Python-项目终极部署解决方案">Python 项目终极部署解决方案</a></li></li><li><li><a href="../../../Blog/Redemption" data-for="Blog/Redemption">Redemption</a></li></li><li><li><a href="../../../Blog/Redemption-主题-0.2.1-版本" data-for="Blog/Redemption-主题-0.2.1-版本">Redemption 主题 0.2.1 版本</a></li></li><li><li><a href="../../../Blog/VIVO-IQOO-Neo3-开箱测评" data-for="Blog/VIVO-IQOO-Neo3-开箱测评">VIVO IQOO Neo3 开箱测评</a></li></li><li><li><a href="../../../Blog/YubiKey-漂流记" data-for="Blog/YubiKey-漂流记">YubiKey 历险记</a></li></li><li><li><a href="../../../Blog/一命二运三风水" data-for="Blog/一命二运三风水">一命二运三风水</a></li></li><li><li><a href="../../../Blog/一线城市拥有一亩三分地是什么体验" data-for="Blog/一线城市拥有一亩三分地是什么体验">一线城市拥有一亩三分地是什么体验</a></li></li><li><li><a href="../../../Blog/三步为你博客文章分析情感关键字" data-for="Blog/三步为你博客文章分析情感关键字">三步为你博客文章分析情感关键字</a></li></li><li><li><a href="../../../Blog/上有天堂、下有苏杭" data-for="Blog/上有天堂、下有苏杭">上有天堂、下有苏杭</a></li></li><li><li><a href="../../../Blog/不要在饿的时候吃螺蛳粉!" data-for="Blog/不要在饿的时候吃螺蛳粉!">不要在饿的时候吃螺蛳粉!</a></li></li><li><li><a href="../../../Blog/不要把幸福建立在别人的痛苦之上" data-for="Blog/不要把幸福建立在别人的痛苦之上">不要把幸福建立在别人的痛苦之上</a></li></li><li><li><a href="../../../Blog/中国传统历法" data-for="Blog/中国传统历法">中国传统历法</a></li></li><li><li><a href="../../../Blog/为什么不推开那扇门?" data-for="Blog/为什么不推开那扇门?">为什么不推开那扇门?</a></li></li><li><li><a href="../../../Blog/乌兰哈达火山银河之旅" data-for="Blog/乌兰哈达火山银河之旅">乌兰哈达火山银河之旅</a></li></li><li><li><a href="../../../Blog/习惯养成第一步" data-for="Blog/习惯养成第一步">习惯养成第一步</a></li></li><li><li><a href="../../../Blog/人在囧途——青海湖" data-for="Blog/人在囧途——青海湖">人在囧途——青海湖</a></li></li><li><li><a href="../../../Blog/人格类型测试" data-for="Blog/人格类型测试">人格类型测试</a></li></li><li><li><a href="../../../Blog/你愿意嫁给自己么?" data-for="Blog/你愿意嫁给自己么?">你愿意嫁给自己么</a></li></li><li><li><a href="../../../Blog/你还记得曾经的梦想么?" data-for="Blog/你还记得曾经的梦想么?">你还记得曾经的梦想么?</a></li></li><li><li><a href="../../../Blog/使用-Docusaurus-搭建优秀个人wiki" data-for="Blog/使用-Docusaurus-搭建优秀个人wiki">使用 Docusaurus 搭建优秀个人wiki</a></li></li><li><li><a href="../../../Blog/关于感情的事情" data-for="Blog/关于感情的事情">关于感情的事情</a></li></li><li><li><a href="../../../Blog/关于花" data-for="Blog/关于花">关于花</a></li></li><li><li><a href="../../../Blog/关于郑州的互联网记忆" data-for="Blog/关于郑州的互联网记忆">关于郑州的互联网记忆</a></li></li><li><li><a href="../../../Blog/再游嵩山" data-for="Blog/再游嵩山">再游嵩山</a></li></li><li><li><a href="../../../Blog/最近半年的生活" data-for="Blog/最近半年的生活">最近半年的生活</a></li></li><li><li><a href="../../../Blog/最近在折腾什么……" data-for="Blog/最近在折腾什么……">最近在折腾什么……</a></li></li><li><li><a href="../../../Blog/最近的生活" data-for="Blog/最近的生活">最近的生活</a></li></li><li><li><a href="../../../Blog/写十万字的博客是一种什么感觉" data-for="Blog/写十万字的博客是一种什么感觉">写十万字的博客是一种什么感觉</a></li></li><li><li><a href="../../../Blog/写博客的正确姿势" data-for="Blog/写博客的正确姿势">写博客的正确姿势</a></li></li><li><li><a href="../../../Blog/写博客的正确姿势---先行版" data-for="Blog/写博客的正确姿势---先行版">写博客的正确姿势 - 先行版</a></li></li><li><li><a href="../../../Blog/写博客的正确姿势---测试版" data-for="Blog/写博客的正确姿势---测试版">写博客的正确姿势 - 测试版</a></li></li><li><li><a href="../../../Blog/冰箱,让你我错过了多少新鲜的生活?" data-for="Blog/冰箱,让你我错过了多少新鲜的生活?">冰箱,让你我错过了多少新鲜的生活?</a></li></li><li><li><a href="../../../Blog/初号机,起飞!" data-for="Blog/初号机,起飞!">初号机,起飞!</a></li></li><li><li><a href="../../../Blog/原点" data-for="Blog/原点">原点</a></li></li><li><li><a href="../../../Blog/吉普赛满天星" data-for="Blog/吉普赛满天星">吉普赛满天星</a></li></li><li><li><a href="../../../Blog/唯有热爱可抵岁月漫长" data-for="Blog/唯有热爱可抵岁月漫长">唯有热爱、可抵岁月漫长</a></li></li><li><li><a href="../../../Blog/回首-2022-展望-2023" data-for="Blog/回首-2022-展望-2023">回首 2022 展望 2023</a></li></li><li><li><a href="../../../Blog/夏日花记" data-for="Blog/夏日花记">夏日花记</a></li></li><li><li><a href="../../../Blog/夜泊西湖听雨声" data-for="Blog/夜泊西湖听雨声">夜泊西湖听雨声</a></li></li><li><li><a href="../../../Blog/大学回忆录" data-for="Blog/大学回忆录">大学回忆录</a></li></li><li><li><a href="../../../Blog/如何不写错别字!" data-for="Blog/如何不写错别字!">如何不写错别字!</a></li></li><li><li><a href="../../../Blog/如何免费创建一个属于自己的网站" data-for="Blog/如何免费创建一个属于自己的网站">如何免费创建一个属于自己的网站</a></li></li><li><li><a href="../../../Blog/如何免费获得-Jetbrains-正版授权" data-for="Blog/如何免费获得-Jetbrains-正版授权">如何免费获得 Jetbrains 正版授权</a></li></li><li><li><a href="../../../Blog/如何开好一场会?" data-for="Blog/如何开好一场会?">如何开好一场会?</a></li></li><li><li><a href="../../../Blog/如何打破信息茧房?" data-for="Blog/如何打破信息茧房?">如何打破信息茧房?</a></li></li><li><li><a href="../../../Blog/如何拍好一张照片" data-for="Blog/如何拍好一张照片">如何拍好一张照片</a></li></li><li><li><a href="../../../Blog/家里的三块地" data-for="Blog/家里的三块地">家里的三块地</a></li></li><li><li><a href="../../../Blog/富人的红灯与穷人的绿灯" data-for="Blog/富人的红灯与穷人的绿灯">富人的红灯与穷人的绿灯</a></li></li><li><li><a href="../../../Blog/岁月是把猪饲料,把我喂的嘎嘎胖" data-for="Blog/岁月是把猪饲料,把我喂的嘎嘎胖">岁月是把猪饲料,把我喂的嘎嘎胖</a></li></li><li><li><a href="../../../Blog/师从-ChatGPT" data-for="Blog/师从-ChatGPT">师从 ChatGPT</a></li></li><li><li><a href="../../../Blog/幸福的事情都是需要等待的" data-for="Blog/幸福的事情都是需要等待的">幸福的事情都是需要等待的</a></li></li><li><li><a href="../../../Blog/开源软件之道" data-for="Blog/开源软件之道">开源软件之道</a></li></li><li><li><a href="../../../Blog/我又从-Ubunut-换成了-Fedora" data-for="Blog/我又从-Ubunut-换成了-Fedora">我又从 Ubunut 换成了 Fedora</a></li></li><li><li><a href="../../../Blog/我开发的第一款软件" data-for="Blog/我开发的第一款软件">我开发的第一款软件</a></li></li><li><li><a href="../../../Blog/我是关系户" data-for="Blog/我是关系户">我是关系户</a></li></li><li><li><a href="../../../Blog/我的一天" data-for="Blog/我的一天">我的一天</a></li></li><li><li><a href="../../../Blog/我的小羊肖恩" data-for="Blog/我的小羊肖恩">我的小羊肖恩</a></li></li><li><li><a href="../../../Blog/我站立的地方是中国" data-for="Blog/我站立的地方是中国">我站立的地方是中国</a></li></li><li><li><a href="../../../Blog/我要拔智齿!!!" data-for="Blog/我要拔智齿!!!">我要拔智齿!!!</a></li></li><li><li><a href="../../../Blog/我还在……" data-for="Blog/我还在……">我还在……</a></li></li><li><li><a href="../../../Blog/打工三年记" data-for="Blog/打工三年记">打工三年记</a></li></li><li><li><a href="../../../Blog/拾月游记" data-for="Blog/拾月游记">拾月游记</a></li></li><li><li><a href="../../../Blog/揭晓你的博客一年之最,尽在-EndOfYear!" data-for="Blog/揭晓你的博客一年之最,尽在-EndOfYear!">揭晓你的博客一年之最,尽在 EndOfYear!</a></li></li><li><li><a href="../../../Blog/数字文化遗产" data-for="Blog/数字文化遗产">数字文化遗产</a></li></li><li><li><a href="../../../Blog/数据恢复杂谈" data-for="Blog/数据恢复杂谈">数据恢复杂谈</a></li></li><li><li><a href="../../../Blog/新冠笔记" data-for="Blog/新冠笔记">新冠笔记</a></li></li><li><li><a href="../../../Blog/新奇的-HR-经历" data-for="Blog/新奇的-HR-经历">新奇的 HR 经历</a></li></li><li><li><a href="../../../Blog/新手村村长" data-for="Blog/新手村村长">新手村村长</a></li></li><li><li><a href="../../../Blog/早起、阅读、写作、运动、冥想" data-for="Blog/早起、阅读、写作、运动、冥想">早起、冥想、阅读、写作、运动</a></li></li><li><li><a href="../../../Blog/星光不问赶路人" data-for="Blog/星光不问赶路人">星光不问赶路人</a></li></li><li><li><a href="../../../Blog/是微风、是晚霞、是来日方长" data-for="Blog/是微风、是晚霞、是来日方长">是微风、是晚霞、是来日方长</a></li></li><li><li><a href="../../../Blog/月季到了" data-for="Blog/月季到了">月季到了</a></li></li><li><li><a href="../../../Blog/注定不平凡的一年" data-for="Blog/注定不平凡的一年">注定不平凡的一年</a></li></li><li><li><a href="../../../Blog/浅尝-Gitea-的-Actions" data-for="Blog/浅尝-Gitea-的-Actions">浅尝 Gitea 的 Actions</a></li></li><li><li><a href="../../../Blog/浅谈一下自己折腾的网站" data-for="Blog/浅谈一下自己折腾的网站">浅谈一下自己折腾的网站</a></li></li><li><li><a href="../../../Blog/浅谈个人服务器架构" data-for="Blog/浅谈个人服务器架构">浅谈个人服务器架构</a></li></li><li><li><a href="../../../Blog/济南呀济南的泰山之旅" data-for="Blog/济南呀济南的泰山之旅">济南呀济南的泰山之旅</a></li></li><li><li><a href="../../../Blog/涝疫结合" data-for="Blog/涝疫结合">涝疫结合</a></li></li><li><li><a href="../../../Blog/独立生活能力清单" data-for="Blog/独立生活能力清单">独立生活能力清单</a></li></li><li><li><a href="../../../Blog/球鞋日记" data-for="Blog/球鞋日记">球鞋日记</a></li></li><li><li><a href="../../../Blog/申请-Jetbrains-开源项目授权" data-for="Blog/申请-Jetbrains-开源项目授权">申请 Jetbrains 开源项目授权</a></li></li><li><li><a href="../../../Blog/电脑坏了,我换了-Ubuntu" data-for="Blog/电脑坏了,我换了-Ubuntu">电脑坏了,我换了 Ubuntu</a></li></li><li><li><a href="../../../Blog/番茄开花啦-~" data-for="Blog/番茄开花啦-~">番茄开花啦 ~</a></li></li><li><li><a href="../../../Blog/看-V2Ex-的-ChatGPT-老哥浅谈办公室政治" data-for="Blog/看-V2Ex-的-ChatGPT-老哥浅谈办公室政治">看 V2Ex 的 ChatGPT 老哥浅谈办公室政治</a></li></li><li><li><a href="../../../Blog/真·长安游记" data-for="Blog/真·长安游记">真·长安游记</a></li></li><li><li><a href="../../../Blog/破万卷书,行万里路!" data-for="Blog/破万卷书,行万里路!">破万卷书,行万里路!</a></li></li><li><li><a href="../../../Blog/种下了一些瓜果蔬菜" data-for="Blog/种下了一些瓜果蔬菜">种下了一些瓜果蔬菜</a></li></li><li><li><a href="../../../Blog/穷则独善其身,达则兼济天下" data-for="Blog/穷则独善其身,达则兼济天下">穷则独善其身,达则兼济天下</a></li></li><li><li><a href="../../../Blog/继续开荒我那一亩三分地" data-for="Blog/继续开荒我那一亩三分地">继续开荒我那一亩三分地</a></li></li><li><li><a href="../../../Blog/罪恶应该被遗传么" data-for="Blog/罪恶应该被遗传么">罪恶应该被遗传么?</a></li></li><li><li><a href="../../../Blog/自律的痛苦······" data-for="Blog/自律的痛苦······">自律的痛苦······</a></li></li><li><li><a href="../../../Blog/英雄联盟-S8-全球总决赛" data-for="Blog/英雄联盟-S8-全球总决赛">英雄联盟 S8 全球总决赛</a></li></li><li><li><a href="../../../Blog/螺蛳粉" data-for="Blog/螺蛳粉">螺蛳粉</a></li></li><li><li><a href="../../../Blog/記伍月" data-for="Blog/記伍月">記伍月</a></li></li><li><li><a href="../../../Blog/記拾月" data-for="Blog/記拾月">記拾月</a></li></li><li><li><a href="../../../Blog/记拾月" data-for="Blog/记拾月">记拾月</a></li></li><li><li><a href="../../../Blog/论成年人的睡眠" data-for="Blog/论成年人的睡眠">论成年人的睡眠</a></li></li><li><li><a href="../../../Blog/谈谈我的「数字文具盒」" data-for="Blog/谈谈我的「数字文具盒」">谈谈我的「数字文具盒」</a></li></li><li><li><a href="../../../Blog/谈谈我的「数字文具盒」---NextCloud" data-for="Blog/谈谈我的「数字文具盒」---NextCloud">谈谈我的「数字文具盒」 - NextCloud</a></li></li><li><li><a href="../../../Blog/谈谈我的「数字文具盒」---Obsidian" data-for="Blog/谈谈我的「数字文具盒」---Obsidian">谈谈我的「数字文具盒」 - Obsidian</a></li></li><li><li><a href="../../../Blog/谈谈我的「数字文具盒」---个人工作流" data-for="Blog/谈谈我的「数字文具盒」---个人工作流">谈谈我的「数字文具盒」 - 个人工作流</a></li></li><li><li><a href="../../../Blog/谈谈我的「数字文具盒」---心得体会" data-for="Blog/谈谈我的「数字文具盒」---心得体会">谈谈我的「数字文具盒」 - 心得体会</a></li></li><li><li><a href="../../../Blog/谈谈我的「数字文具盒」---数字基建" data-for="Blog/谈谈我的「数字文具盒」---数字基建">谈谈我的「数字文具盒」 - 数字基建</a></li></li><li><li><a href="../../../Blog/谈谈我的「数字文具盒」---生产力工具(上)" data-for="Blog/谈谈我的「数字文具盒」---生产力工具(上)">谈谈我的「数字文具盒」 - 生产力工具(上)</a></li></li><li><li><a href="../../../Blog/谈谈我的「数字文具盒」---生产力工具(下)" data-for="Blog/谈谈我的「数字文具盒」---生产力工具(下)">谈谈我的「数字文具盒」 - 生产力工具(下)</a></li></li><li><li><a href="../../../Blog/谈谈我的「数字文具盒」---番外篇" data-for="Blog/谈谈我的「数字文具盒」---番外篇">谈谈我的「数字文具盒」 - 番外篇</a></li></li><li><li><a href="../../../Blog/谈谈我的「数字文具盒」---运行平台" data-for="Blog/谈谈我的「数字文具盒」---运行平台">谈谈我的「数字文具盒」 - 运行平台</a></li></li><li><li><a href="../../../Blog/贰号机、落幕" data-for="Blog/贰号机、落幕">贰号机、落幕</a></li></li><li><li><a href="../../../Blog/这个周末" data-for="Blog/这个周末">这个周末</a></li></li><li><li><a href="../../../Blog/通货膨胀的猪" data-for="Blog/通货膨胀的猪">通货膨胀的猪</a></li></li><li><li><a href="../../../Blog/长安三万里" data-for="Blog/长安三万里">长安三万里</a></li></li><li><li><a href="../../../Blog/长安游记" data-for="Blog/长安游记">长安游记</a></li></li><li><li><a href="../../../Blog/闭门锁网" data-for="Blog/闭门锁网">闭门锁网</a></li></li><li><li><a href="../../../Blog/非黑即白" data-for="Blog/非黑即白">非黑即白</a></li></li><li><li><a href="../../../Blog/首页加载速度优化方案" data-for="Blog/首页加载速度优化方案">首页加载速度优化方案</a></li></li><li><li><a href="../../../Blog/骑行在路上" data-for="Blog/骑行在路上">骑行在路上</a></li></li><li><li><a href="../../../Blog/黄山归来不看岳" data-for="Blog/黄山归来不看岳">黄山归来不看岳</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book"><button class="folder-button"><p class="folder-title">Book</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/个人成长"><button class="folder-button"><p class="folder-title">个人成长</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/个人成长"><li><li><a href="../../../Book/个人成长/习惯的力量(新版)" data-for="Book/个人成长/习惯的力量(新版)">习惯的力量(新版)</a></li></li><li><li><a href="../../../Book/个人成长/以极简的方式去生活" data-for="Book/个人成长/以极简的方式去生活">以极简的方式去生活</a></li></li><li><li><a href="../../../Book/个人成长/写出我心:普通人如何通过写作表达自己" data-for="Book/个人成长/写出我心:普通人如何通过写作表达自己">写出我心:普通人如何通过写作表达自己</a></li></li><li><li><a href="../../../Book/个人成长/刻意练习:如何从新手到大师" data-for="Book/个人成长/刻意练习:如何从新手到大师">刻意练习:如何从新手到大师</a></li></li><li><li><a href="../../../Book/个人成长/十分钟冥想" data-for="Book/个人成长/十分钟冥想">十分钟冥想</a></li></li><li><li><a href="../../../Book/个人成长/即兴表达" data-for="Book/个人成长/即兴表达">即兴表达</a></li></li><li><li><a href="../../../Book/个人成长/学习之道" data-for="Book/个人成长/学习之道">学习之道</a></li></li><li><li><a href="../../../Book/个人成长/学会写作:自我进阶的高效方法" data-for="Book/个人成长/学会写作:自我进阶的高效方法">学会写作:自我进阶的高效方法</a></li></li><li><li><a href="../../../Book/个人成长/当下的力量(白金版)" data-for="Book/个人成长/当下的力量(白金版)">当下的力量(白金版)</a></li></li><li><li><a href="../../../Book/个人成长/我的第一本人生规划手册" data-for="Book/个人成长/我的第一本人生规划手册">我的第一本人生规划手册</a></li></li><li><li><a href="../../../Book/个人成长/超级面试官:快速提升识人技能的面试实战手册" data-for="Book/个人成长/超级面试官:快速提升识人技能的面试实战手册">超级面试官:快速提升识人技能的面试实战手册</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/医学健康"><button class="folder-button"><p class="folder-title">医学健康</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/医学健康"><li><li><a href="../../../Book/医学健康/你是你吃出来的(套装共2册)" data-for="Book/医学健康/你是你吃出来的(套装共2册)">你是你吃出来的(套装共2册)</a></li></li><li><li><a href="../../../Book/医学健康/小小药箱护健康教您用好家庭小药箱" data-for="Book/医学健康/小小药箱护健康教您用好家庭小药箱">小小药箱护健康教您用好家庭小药箱</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/历史"><button class="folder-button"><p class="folder-title">历史</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/历史"><li><li><a href="../../../Book/历史/信息简史" data-for="Book/历史/信息简史">信息简史</a></li></li><li><li><a href="../../../Book/历史/这里是中国2" data-for="Book/历史/这里是中国2">这里是中国2</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/哲学宗教"><button class="folder-button"><p class="folder-title">哲学宗教</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/哲学宗教"><li><li><a href="../../../Book/哲学宗教/半小时漫画中国哲学史(套装全2册)" data-for="Book/哲学宗教/半小时漫画中国哲学史(套装全2册)">半小时漫画中国哲学史(套装全2册)</a></li></li><li><li><a href="../../../Book/哲学宗教/第一性原理" data-for="Book/哲学宗教/第一性原理">第一性原理</a></li></li><li><li><a href="../../../Book/哲学宗教/结构化思维" data-for="Book/哲学宗教/结构化思维">结构化思维</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/心理"><button class="folder-button"><p class="folder-title">心理</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/心理"><li><li><a href="../../../Book/心理/十分钟冥想" data-for="Book/心理/十分钟冥想">十分钟冥想</a></li></li><li><li><a href="../../../Book/心理/认知觉醒:开启自我改变的原动力" data-for="Book/心理/认知觉醒:开启自我改变的原动力">认知觉醒:开启自我改变的原动力</a></li></li><li><li><a href="../../../Book/心理/认知驱动:做成一件对他人很有用的事" data-for="Book/心理/认知驱动:做成一件对他人很有用的事">认知驱动:做成一件对他人很有用的事</a></li></li><li><li><a href="../../../Book/心理/谈性说爱:写给女性的性心理24讲" data-for="Book/心理/谈性说爱:写给女性的性心理24讲">谈性说爱:写给女性的性心理24讲</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/政治军事"><button class="folder-button"><p class="folder-title">政治军事</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/政治军事"><li><li><a href="../../../Book/政治军事/实践论" data-for="Book/政治军事/实践论">实践论</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/教育学习"><button class="folder-button"><p class="folder-title">教育学习</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/教育学习"><li><li><a href="../../../Book/教育学习/如何阅读一本书" data-for="Book/教育学习/如何阅读一本书">如何阅读一本书</a></li></li><li><li><a href="../../../Book/教育学习/赖世雄的英语学习法" data-for="Book/教育学习/赖世雄的英语学习法">赖世雄的英语学习法</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/文学"><button class="folder-button"><p class="folder-title">文学</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/文学"><li><li><a href="../../../Book/文学/凤凰项目:一个IT运维的传奇故事(修订版)" data-for="Book/文学/凤凰项目:一个IT运维的传奇故事(修订版)">凤凰项目:一个IT运维的传奇故事(修订版)</a></li></li><li><li><a href="../../../Book/文学/老舍谈写作" data-for="Book/文学/老舍谈写作">老舍谈写作</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/生活百科"><button class="folder-button"><p class="folder-title">生活百科</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/生活百科"><li><li><a href="../../../Book/生活百科/聂卫平围棋教程(从15级到10级)" data-for="Book/生活百科/聂卫平围棋教程(从15级到10级)">聂卫平围棋教程(从15级到10级)</a></li></li><li><li><a href="../../../Book/生活百科/聂卫平围棋教程(从入门到15级)" data-for="Book/生活百科/聂卫平围棋教程(从入门到15级)">聂卫平围棋教程(从入门到15级)</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/社会文化"><button class="folder-button"><p class="folder-title">社会文化</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/社会文化"><li><li><a href="../../../Book/社会文化/人体简史" data-for="Book/社会文化/人体简史">人体简史</a></li></li><li><li><a href="../../../Book/社会文化/你不可不知的法律常识" data-for="Book/社会文化/你不可不知的法律常识">你不可不知的法律常识</a></li></li><li><li><a href="../../../Book/社会文化/半小时漫画《论语》" data-for="Book/社会文化/半小时漫画《论语》">半小时漫画《论语》</a></li></li><li><li><a href="../../../Book/社会文化/民法典与百姓生活100问" data-for="Book/社会文化/民法典与百姓生活100问">民法典与百姓生活100问</a></li></li><li><li><a href="../../../Book/社会文化/这里是中国" data-for="Book/社会文化/这里是中国">这里是中国</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/科学技术"><button class="folder-button"><p class="folder-title">科学技术</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/科学技术"><li><li><a href="../../../Book/科学技术/贝尔实验室与美国革新大时代" data-for="Book/科学技术/贝尔实验室与美国革新大时代">贝尔实验室与美国革新大时代</a></li></li><li><li><a href="../../../Book/科学技术/高性能Linux服务器运维实战:shell编程、监控告警、性能优化与实战案例" data-for="Book/科学技术/高性能Linux服务器运维实战:shell编程、监控告警、性能优化与实战案例">高性能Linux服务器运维实战:shell编程、监控告警、性能优化与实战案例</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/经济理财"><button class="folder-button"><p class="folder-title">经济理财</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/经济理财"><li><li><a href="../../../Book/经济理财/人力资源管理从入门到精通" data-for="Book/经济理财/人力资源管理从入门到精通">人力资源管理从入门到精通</a></li></li><li><li><a href="../../../Book/经济理财/十分钟冥想" data-for="Book/经济理财/十分钟冥想">十分钟冥想</a></li></li><li><li><a href="../../../Book/经济理财/半小时漫画股票实战法" data-for="Book/经济理财/半小时漫画股票实战法">半小时漫画股票实战法</a></li></li><li><li><a href="../../../Book/经济理财/小米创业思考" data-for="Book/经济理财/小米创业思考">小米创业思考</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/艺术"><button class="folder-button"><p class="folder-title">艺术</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/艺术"><li><li><a href="../../../Book/艺术/江湖丛谈(注音注释插图本)" data-for="Book/艺术/江湖丛谈(注音注释插图本)">江湖丛谈(注音注释插图本)</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Book/计算机"><button class="folder-button"><p class="folder-title">计算机</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Book/计算机"><li><li><a href="../../../Book/计算机/Flask-Web开发:基于Python的Web应用开发实战(第2版)" data-for="Book/计算机/Flask-Web开发:基于Python的Web应用开发实战(第2版)">Flask Web开发:基于Python的Web应用开发实战(第2版)</a></li></li><li><li><a href="../../../Book/计算机/IT基础架构:系统运维实践" data-for="Book/计算机/IT基础架构:系统运维实践">IT基础架构:系统运维实践</a></li></li><li><li><a href="../../../Book/计算机/Linux命令行与shell脚本编程大全(第4版)" data-for="Book/计算机/Linux命令行与shell脚本编程大全(第4版)">Linux命令行与shell脚本编程大全(第4版)</a></li></li><li><li><a href="../../../Book/计算机/Linux是怎样工作的" data-for="Book/计算机/Linux是怎样工作的">Linux是怎样工作的</a></li></li><li><li><a href="../../../Book/计算机/Python工匠:案例、技巧与工程实践" data-for="Book/计算机/Python工匠:案例、技巧与工程实践">Python工匠:案例、技巧与工程实践</a></li></li><li><li><a href="../../../Book/计算机/Python编程:从入门到实践(第2版)" data-for="Book/计算机/Python编程:从入门到实践(第2版)">Python编程:从入门到实践(第2版)</a></li></li><li><li><a href="../../../Book/计算机/Python编程轻松进阶" data-for="Book/计算机/Python编程轻松进阶">Python编程轻松进阶</a></li></li><li><li><a href="../../../Book/计算机/SQL必知必会(第5版)" data-for="Book/计算机/SQL必知必会(第5版)">SQL必知必会(第5版)</a></li></li><li><li><a href="../../../Book/计算机/SRE:Google运维解密" data-for="Book/计算机/SRE:Google运维解密">SRE:Google运维解密</a></li></li><li><li><a href="../../../Book/计算机/UNIX传奇:历史与回忆" data-for="Book/计算机/UNIX传奇:历史与回忆">UNIX传奇:历史与回忆</a></li></li><li><li><a href="../../../Book/计算机/VMware-vSphere-7.0云平台运维与管理(第2版)" data-for="Book/计算机/VMware-vSphere-7.0云平台运维与管理(第2版)">VMware vSphere 7.0云平台运维与管理(第2版)</a></li></li><li><li><a href="../../../Book/计算机/人人都懂设计模式:从生活中领悟设计模式(Python实现)" data-for="Book/计算机/人人都懂设计模式:从生活中领悟设计模式(Python实现)">人人都懂设计模式:从生活中领悟设计模式(Python实现)</a></li></li><li><li><a href="../../../Book/计算机/从0到1:HTML+CSS快速上手" data-for="Book/计算机/从0到1:HTML+CSS快速上手">从0到1:HTML+CSS快速上手</a></li></li><li><li><a href="../../../Book/计算机/从0到1:HTML5+CSS3修炼之道" data-for="Book/计算机/从0到1:HTML5+CSS3修炼之道">从0到1:HTML5+CSS3修炼之道</a></li></li><li><li><a href="../../../Book/计算机/从0到1:JavaScript-快速上手" data-for="Book/计算机/从0到1:JavaScript-快速上手">从0到1:JavaScript 快速上手</a></li></li><li><li><a href="../../../Book/计算机/从0到1:jQuery快速上手" data-for="Book/计算机/从0到1:jQuery快速上手">从0到1:jQuery快速上手</a></li></li><li><li><a href="../../../Book/计算机/明解Python" data-for="Book/计算机/明解Python">明解Python</a></li></li><li><li><a href="../../../Book/计算机/每天5分钟玩转Docker容器技术" data-for="Book/计算机/每天5分钟玩转Docker容器技术">每天5分钟玩转Docker容器技术</a></li></li><li><li><a href="../../../Book/计算机/流畅的Python" data-for="Book/计算机/流畅的Python">流畅的Python</a></li></li><li><li><a href="../../../Book/计算机/硅谷之火:个人计算机的诞生与衰落(第3版)" data-for="Book/计算机/硅谷之火:个人计算机的诞生与衰落(第3版)">硅谷之火:个人计算机的诞生与衰落(第3版)</a></li></li><li><li><a href="../../../Book/计算机/秒懂设计模式" data-for="Book/计算机/秒懂设计模式">秒懂设计模式</a></li></li><li><li><a href="../../../Book/计算机/程序员的README" data-for="Book/计算机/程序员的README">程序员的README</a></li></li><li><li><a href="../../../Book/计算机/精通Python设计模式(第2版)" data-for="Book/计算机/精通Python设计模式(第2版)">精通Python设计模式(第2版)</a></li></li><li><li><a href="../../../Book/计算机/网络安全等级保护2.0:定级、测评、实施与运维" data-for="Book/计算机/网络安全等级保护2.0:定级、测评、实施与运维">网络安全等级保护2.0:定级、测评、实施与运维</a></li></li><li><li><a href="../../../Book/计算机/网络工程师红宝书:思科华为华三实战案例荟萃" data-for="Book/计算机/网络工程师红宝书:思科华为华三实战案例荟萃">网络工程师红宝书:思科华为华三实战案例荟萃</a></li></li><li><li><a href="../../../Book/计算机/网络是怎样连接的" data-for="Book/计算机/网络是怎样连接的">网络是怎样连接的</a></li></li><li><li><a href="../../../Book/计算机/网络运维亲历记-(网络运维纪实文学)" data-for="Book/计算机/网络运维亲历记-(网络运维纪实文学)">网络运维亲历记 (网络运维纪实文学)</a></li></li><li><li><a href="../../../Book/计算机/虚拟化工程师运维实战:VMware服务器虚拟化+Citrix桌面应用虚拟化+Veeam备份+Zabbix监控" data-for="Book/计算机/虚拟化工程师运维实战:VMware服务器虚拟化+Citrix桌面应用虚拟化+Veeam备份+Zabbix监控">虚拟化工程师运维实战:VMware服务器虚拟化+Citrix桌面/应用虚拟化+Veeam备份+Zabbix监控</a></li></li><li><li><a href="../../../Book/计算机/计算机:一部历史" data-for="Book/计算机/计算机:一部历史">计算机:一部历史</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Company"><button class="folder-button"><p class="folder-title">Company</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Company"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Company/信息化"><button class="folder-button"><p class="folder-title">信息化</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Company/信息化"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Company/信息化/规范"><button class="folder-button"><p class="folder-title">规范</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Company/信息化/规范"><li><li><a href="../../../Company/信息化/规范/计算机命名规范" data-for="Company/信息化/规范/计算机命名规范">计算机命名规范</a></li></li></ul></div></div></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Culture"><button class="folder-button"><p class="folder-title">Culture</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Culture"><li><li><a href="../../../Culture/Home" data-for="Culture/Home">传统文化</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Government"><button class="folder-button"><p class="folder-title">Government</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Government"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Government/中国"><button class="folder-button"><p class="folder-title">中国</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Government/中国"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Government/中国/标准"><button class="folder-button"><p class="folder-title">标准</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Government/中国/标准"><li><li><a href="../../../Government/中国/标准/标准组织" data-for="Government/中国/标准/标准组织">标准组织</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Government/中国/法律"><button class="folder-button"><p class="folder-title">法律</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Government/中国/法律"><li><li><a href="../../../Government/中国/法律/法律文书" data-for="Government/中国/法律/法律文书">法律文书</a></li></li></ul></div></div></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal"><button class="folder-button"><p class="folder-title">Journal</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022"><button class="folder-button"><p class="folder-title">2022</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W34"><button class="folder-button"><p class="folder-title">W34</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W34"><li><li><a href="../../../Journal/2022/W34/2022-08-24" data-for="Journal/2022/W34/2022-08-24">2022-08-24</a></li></li><li><li><a href="../../../Journal/2022/W34/2022-08-25" data-for="Journal/2022/W34/2022-08-25">2022-08-25</a></li></li><li><li><a href="../../../Journal/2022/W34/2022-08-26" data-for="Journal/2022/W34/2022-08-26">2022-08-26</a></li></li><li><li><a href="../../../Journal/2022/W34/2022-08-27" data-for="Journal/2022/W34/2022-08-27">2022-08-27</a></li></li><li><li><a href="../../../Journal/2022/W34/2022-08-28" data-for="Journal/2022/W34/2022-08-28">2022-08-28</a></li></li><li><li><a href="../../../Journal/2022/W34/2022-W34" data-for="Journal/2022/W34/2022-W34">2022-W34</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W35"><button class="folder-button"><p class="folder-title">W35</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W35"><li><li><a href="../../../Journal/2022/W35/2022-08-29" data-for="Journal/2022/W35/2022-08-29">2022-08-29</a></li></li><li><li><a href="../../../Journal/2022/W35/2022-08-30" data-for="Journal/2022/W35/2022-08-30">2022-08-30</a></li></li><li><li><a href="../../../Journal/2022/W35/2022-08-31" data-for="Journal/2022/W35/2022-08-31">2022-08-31</a></li></li><li><li><a href="../../../Journal/2022/W35/2022-09-01" data-for="Journal/2022/W35/2022-09-01">2022-09-01</a></li></li><li><li><a href="../../../Journal/2022/W35/2022-W35" data-for="Journal/2022/W35/2022-W35">2022-W35</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W36"><button class="folder-button"><p class="folder-title">W36</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W36"><li><li><a href="../../../Journal/2022/W36/2022-09-05" data-for="Journal/2022/W36/2022-09-05">2022-09-05</a></li></li><li><li><a href="../../../Journal/2022/W36/2022-09-06" data-for="Journal/2022/W36/2022-09-06">2022-09-06</a></li></li><li><li><a href="../../../Journal/2022/W36/2022-09-07" data-for="Journal/2022/W36/2022-09-07">2022-09-07</a></li></li><li><li><a href="../../../Journal/2022/W36/2022-09-08" data-for="Journal/2022/W36/2022-09-08">2022-09-08</a></li></li><li><li><a href="../../../Journal/2022/W36/2022-W36" data-for="Journal/2022/W36/2022-W36">2022-W36</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W37"><button class="folder-button"><p class="folder-title">W37</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W37"><li><li><a href="../../../Journal/2022/W37/2022-09-12" data-for="Journal/2022/W37/2022-09-12">2022-09-12</a></li></li><li><li><a href="../../../Journal/2022/W37/2022-09-13" data-for="Journal/2022/W37/2022-09-13">2022-09-13</a></li></li><li><li><a href="../../../Journal/2022/W37/2022-09-14" data-for="Journal/2022/W37/2022-09-14">2022-09-14</a></li></li><li><li><a href="../../../Journal/2022/W37/2022-09-15" data-for="Journal/2022/W37/2022-09-15">2022-09-15</a></li></li><li><li><a href="../../../Journal/2022/W37/2022-09-16" data-for="Journal/2022/W37/2022-09-16">2022-09-16</a></li></li><li><li><a href="../../../Journal/2022/W37/2022-09-17" data-for="Journal/2022/W37/2022-09-17">2022-09-17</a></li></li><li><li><a href="../../../Journal/2022/W37/2022-09-18" data-for="Journal/2022/W37/2022-09-18">2022-09-18</a></li></li><li><li><a href="../../../Journal/2022/W37/2022-W37" data-for="Journal/2022/W37/2022-W37">2022-W37</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W38"><button class="folder-button"><p class="folder-title">W38</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W38"><li><li><a href="../../../Journal/2022/W38/2022-09-19" data-for="Journal/2022/W38/2022-09-19">2022-09-19</a></li></li><li><li><a href="../../../Journal/2022/W38/2022-09-20" data-for="Journal/2022/W38/2022-09-20">2022-09-20</a></li></li><li><li><a href="../../../Journal/2022/W38/2022-09-21" data-for="Journal/2022/W38/2022-09-21">2022-09-21</a></li></li><li><li><a href="../../../Journal/2022/W38/2022-09-22" data-for="Journal/2022/W38/2022-09-22">2022-09-22</a></li></li><li><li><a href="../../../Journal/2022/W38/2022-W38" data-for="Journal/2022/W38/2022-W38">2022-W38</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W39"><button class="folder-button"><p class="folder-title">W39</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W39"><li><li><a href="../../../Journal/2022/W39/2022-09-28" data-for="Journal/2022/W39/2022-09-28">2022-09-28</a></li></li><li><li><a href="../../../Journal/2022/W39/2022-09-29" data-for="Journal/2022/W39/2022-09-29">2022-09-29</a></li></li><li><li><a href="../../../Journal/2022/W39/2022-W39" data-for="Journal/2022/W39/2022-W39">2022-W39</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W41"><button class="folder-button"><p class="folder-title">W41</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W41"><li><li><a href="../../../Journal/2022/W41/2022-10-10" data-for="Journal/2022/W41/2022-10-10">2022-10-10</a></li></li><li><li><a href="../../../Journal/2022/W41/2022-10-11" data-for="Journal/2022/W41/2022-10-11">2022-10-11</a></li></li><li><li><a href="../../../Journal/2022/W41/2022-10-12" data-for="Journal/2022/W41/2022-10-12">2022-10-12</a></li></li><li><li><a href="../../../Journal/2022/W41/2022-10-13" data-for="Journal/2022/W41/2022-10-13">2022-10-13</a></li></li><li><li><a href="../../../Journal/2022/W41/2022-10-14" data-for="Journal/2022/W41/2022-10-14">2022-10-14</a></li></li><li><li><a href="../../../Journal/2022/W41/2022-10-16" data-for="Journal/2022/W41/2022-10-16">2022-10-16</a></li></li><li><li><a href="../../../Journal/2022/W41/2022-W41" data-for="Journal/2022/W41/2022-W41">2022-W41</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W42"><button class="folder-button"><p class="folder-title">W42</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W42"><li><li><a href="../../../Journal/2022/W42/2022-10-17" data-for="Journal/2022/W42/2022-10-17">2022-10-17</a></li></li><li><li><a href="../../../Journal/2022/W42/2022-10-18" data-for="Journal/2022/W42/2022-10-18">2022-10-18</a></li></li><li><li><a href="../../../Journal/2022/W42/2022-10-19" data-for="Journal/2022/W42/2022-10-19">2022-10-19</a></li></li><li><li><a href="../../../Journal/2022/W42/2022-10-21" data-for="Journal/2022/W42/2022-10-21">2022-10-21</a></li></li><li><li><a href="../../../Journal/2022/W42/2022-W42" data-for="Journal/2022/W42/2022-W42">2022-W42</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W43"><button class="folder-button"><p class="folder-title">W43</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W43"><li><li><a href="../../../Journal/2022/W43/2022-10-24" data-for="Journal/2022/W43/2022-10-24">2022-10-24</a></li></li><li><li><a href="../../../Journal/2022/W43/2022-10-26" data-for="Journal/2022/W43/2022-10-26">2022-10-26</a></li></li><li><li><a href="../../../Journal/2022/W43/2022-W43" data-for="Journal/2022/W43/2022-W43">2022-W43</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W44"><button class="folder-button"><p class="folder-title">W44</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W44"><li><li><a href="../../../Journal/2022/W44/2022-11-02" data-for="Journal/2022/W44/2022-11-02">2022-11-02</a></li></li><li><li><a href="../../../Journal/2022/W44/2022-W44" data-for="Journal/2022/W44/2022-W44">2022-W44</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W45"><button class="folder-button"><p class="folder-title">W45</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W45"><li><li><a href="../../../Journal/2022/W45/2022-11-10" data-for="Journal/2022/W45/2022-11-10">2022-11-10</a></li></li><li><li><a href="../../../Journal/2022/W45/2022-11-11" data-for="Journal/2022/W45/2022-11-11">2022-11-11</a></li></li><li><li><a href="../../../Journal/2022/W45/2022-11-12" data-for="Journal/2022/W45/2022-11-12">2022-11-12</a></li></li><li><li><a href="../../../Journal/2022/W45/2022-11-13" data-for="Journal/2022/W45/2022-11-13">2022-11-13</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W46"><button class="folder-button"><p class="folder-title">W46</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W46"><li><li><a href="../../../Journal/2022/W46/2022-11-18" data-for="Journal/2022/W46/2022-11-18">2022-11-18</a></li></li><li><li><a href="../../../Journal/2022/W46/2022-11-20" data-for="Journal/2022/W46/2022-11-20">2022-11-20</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W47"><button class="folder-button"><p class="folder-title">W47</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W47"><li><li><a href="../../../Journal/2022/W47/2022-11-21" data-for="Journal/2022/W47/2022-11-21">2022-11-21</a></li></li><li><li><a href="../../../Journal/2022/W47/2022-11-22" data-for="Journal/2022/W47/2022-11-22">2022-11-22</a></li></li><li><li><a href="../../../Journal/2022/W47/2022-W47" data-for="Journal/2022/W47/2022-W47">2022-W47</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W48"><button class="folder-button"><p class="folder-title">W48</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W48"><li><li><a href="../../../Journal/2022/W48/2022-11-28" data-for="Journal/2022/W48/2022-11-28">2022-11-28</a></li></li><li><li><a href="../../../Journal/2022/W48/2022-11-29" data-for="Journal/2022/W48/2022-11-29">2022-11-29</a></li></li><li><li><a href="../../../Journal/2022/W48/2022-12-01" data-for="Journal/2022/W48/2022-12-01">2022-12-01</a></li></li><li><li><a href="../../../Journal/2022/W48/2022-12-04" data-for="Journal/2022/W48/2022-12-04">2022-12-04</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W49"><button class="folder-button"><p class="folder-title">W49</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W49"><li><li><a href="../../../Journal/2022/W49/2022-12-06" data-for="Journal/2022/W49/2022-12-06">2022-12-06</a></li></li><li><li><a href="../../../Journal/2022/W49/2022-W49" data-for="Journal/2022/W49/2022-W49">2022-W49</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2022/W50"><button class="folder-button"><p class="folder-title">W50</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2022/W50"><li><li><a href="../../../Journal/2022/W50/2022-12-12" data-for="Journal/2022/W50/2022-12-12">2022-12-12</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023"><button class="folder-button"><p class="folder-title">2023</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W2"><button class="folder-button"><p class="folder-title">W2</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W2"><li><li><a href="../../../Journal/2023/W2/2023-W2" data-for="Journal/2023/W2/2023-W2">2023-W2</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W3"><button class="folder-button"><p class="folder-title">W3</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W3"><li><li><a href="../../../Journal/2023/W3/2023-01-16" data-for="Journal/2023/W3/2023-01-16">2023-01-16</a></li></li><li><li><a href="../../../Journal/2023/W3/2023-01-18" data-for="Journal/2023/W3/2023-01-18">2023-01-18</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W5"><button class="folder-button"><p class="folder-title">W5</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W5"><li><li><a href="../../../Journal/2023/W5/2023-W5" data-for="Journal/2023/W5/2023-W5">2023-W5</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W6"><button class="folder-button"><p class="folder-title">W6</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W6"><li><li><a href="../../../Journal/2023/W6/2023-W6" data-for="Journal/2023/W6/2023-W6">2023-W6</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W7"><button class="folder-button"><p class="folder-title">W7</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W7"><li><li><a href="../../../Journal/2023/W7/2023-02-14" data-for="Journal/2023/W7/2023-02-14">2023-02-14</a></li></li><li><li><a href="../../../Journal/2023/W7/2023-02-15" data-for="Journal/2023/W7/2023-02-15">2023-02-15</a></li></li><li><li><a href="../../../Journal/2023/W7/2023-02-16" data-for="Journal/2023/W7/2023-02-16">2023-02-16</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W8"><button class="folder-button"><p class="folder-title">W8</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W8"><li><li><a href="../../../Journal/2023/W8/2023-02-20" data-for="Journal/2023/W8/2023-02-20">2023-02-20</a></li></li><li><li><a href="../../../Journal/2023/W8/2023-02-22" data-for="Journal/2023/W8/2023-02-22">2023-02-22</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W10"><button class="folder-button"><p class="folder-title">W10</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W10"><li><li><a href="../../../Journal/2023/W10/2023-W10" data-for="Journal/2023/W10/2023-W10">2023-W10</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W12"><button class="folder-button"><p class="folder-title">W12</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W12"><li><li><a href="../../../Journal/2023/W12/2023-03-20" data-for="Journal/2023/W12/2023-03-20">2023-03-20</a></li></li><li><li><a href="../../../Journal/2023/W12/2023-03-21" data-for="Journal/2023/W12/2023-03-21">2023-03-21</a></li></li><li><li><a href="../../../Journal/2023/W12/2023-W12" data-for="Journal/2023/W12/2023-W12">2023-W12</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W14"><button class="folder-button"><p class="folder-title">W14</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W14"><li><li><a href="../../../Journal/2023/W14/2023-04-08" data-for="Journal/2023/W14/2023-04-08">2023-04-08</a></li></li><li><li><a href="../../../Journal/2023/W14/2023-W14" data-for="Journal/2023/W14/2023-W14">2023-W14</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W16"><button class="folder-button"><p class="folder-title">W16</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W16"><li><li><a href="../../../Journal/2023/W16/2023-04-21" data-for="Journal/2023/W16/2023-04-21">2023-04-21</a></li></li><li><li><a href="../../../Journal/2023/W16/2023-04-23" data-for="Journal/2023/W16/2023-04-23">2023-04-23</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W22"><button class="folder-button"><p class="folder-title">W22</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W22"><li><li><a href="../../../Journal/2023/W22/2023-05-31" data-for="Journal/2023/W22/2023-05-31">2023-05-31</a></li></li><li><li><a href="../../../Journal/2023/W22/2023-06-01" data-for="Journal/2023/W22/2023-06-01">2023-06-01</a></li></li><li><li><a href="../../../Journal/2023/W22/2023-W22" data-for="Journal/2023/W22/2023-W22">2023-W22</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W23"><button class="folder-button"><p class="folder-title">W23</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W23"><li><li><a href="../../../Journal/2023/W23/2023-06-05" data-for="Journal/2023/W23/2023-06-05">2023-06-05</a></li></li><li><li><a href="../../../Journal/2023/W23/2023-06-08" data-for="Journal/2023/W23/2023-06-08">2023-06-08</a></li></li><li><li><a href="../../../Journal/2023/W23/2023-W23" data-for="Journal/2023/W23/2023-W23">2023-W23</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W24"><button class="folder-button"><p class="folder-title">W24</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W24"><li><li><a href="../../../Journal/2023/W24/2023-06-12" data-for="Journal/2023/W24/2023-06-12">2023-06-12</a></li></li><li><li><a href="../../../Journal/2023/W24/2023-06-13" data-for="Journal/2023/W24/2023-06-13">2023-06-13</a></li></li><li><li><a href="../../../Journal/2023/W24/2023-06-15" data-for="Journal/2023/W24/2023-06-15">2023-06-15</a></li></li><li><li><a href="../../../Journal/2023/W24/2023-W24" data-for="Journal/2023/W24/2023-W24">2023-W24</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W25"><button class="folder-button"><p class="folder-title">W25</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W25"><li><li><a href="../../../Journal/2023/W25/2023-W25" data-for="Journal/2023/W25/2023-W25">2023-W25</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W26"><button class="folder-button"><p class="folder-title">W26</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W26"><li><li><a href="../../../Journal/2023/W26/2023-06-26" data-for="Journal/2023/W26/2023-06-26">2023-06-26</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W31"><button class="folder-button"><p class="folder-title">W31</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W31"><li><li><a href="../../../Journal/2023/W31/2023-W31" data-for="Journal/2023/W31/2023-W31">2023-W31</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W32"><button class="folder-button"><p class="folder-title">W32</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W32"><li><li><a href="../../../Journal/2023/W32/2023-08-07" data-for="Journal/2023/W32/2023-08-07">2023-08-07</a></li></li><li><li><a href="../../../Journal/2023/W32/2023-08-08" data-for="Journal/2023/W32/2023-08-08">2023-08-08</a></li></li><li><li><a href="../../../Journal/2023/W32/2023-W32" data-for="Journal/2023/W32/2023-W32">2023-W32</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W33"><button class="folder-button"><p class="folder-title">W33</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W33"><li><li><a href="../../../Journal/2023/W33/2023-W33" data-for="Journal/2023/W33/2023-W33">2023-W33</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W35"><button class="folder-button"><p class="folder-title">W35</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W35"><li><li><a href="../../../Journal/2023/W35/2023-W35" data-for="Journal/2023/W35/2023-W35">2023-W35</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W36"><button class="folder-button"><p class="folder-title">W36</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W36"><li><li><a href="../../../Journal/2023/W36/2023-W36" data-for="Journal/2023/W36/2023-W36">2023-W36</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W37"><button class="folder-button"><p class="folder-title">W37</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W37"><li><li><a href="../../../Journal/2023/W37/2023-W37" data-for="Journal/2023/W37/2023-W37">2023-W37</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W40"><button class="folder-button"><p class="folder-title">W40</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W40"><li><li><a href="../../../Journal/2023/W40/2023-W40" data-for="Journal/2023/W40/2023-W40">2023-W40</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W45"><button class="folder-button"><p class="folder-title">W45</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W45"><li><li><a href="../../../Journal/2023/W45/2023-11-12" data-for="Journal/2023/W45/2023-11-12">2023-11-12</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W46"><button class="folder-button"><p class="folder-title">W46</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W46"><li><li><a href="../../../Journal/2023/W46/2023-11-15" data-for="Journal/2023/W46/2023-11-15">2023-11-15</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W48"><button class="folder-button"><p class="folder-title">W48</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W48"><li><li><a href="../../../Journal/2023/W48/2023-W48" data-for="Journal/2023/W48/2023-W48">2023-W48</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W49"><button class="folder-button"><p class="folder-title">W49</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W49"><li><li><a href="../../../Journal/2023/W49/2023-12-07" data-for="Journal/2023/W49/2023-12-07">2023-12-07</a></li></li><li><li><a href="../../../Journal/2023/W49/2023-W49" data-for="Journal/2023/W49/2023-W49">2023-W49</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2023/W50"><button class="folder-button"><p class="folder-title">W50</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2023/W50"><li><li><a href="../../../Journal/2023/W50/2023-12-12" data-for="Journal/2023/W50/2023-12-12">2023-12-12</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024"><button class="folder-button"><p class="folder-title">2024</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W8"><button class="folder-button"><p class="folder-title">W8</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W8"><li><li><a href="../../../Journal/2024/W8/2024-02-22" data-for="Journal/2024/W8/2024-02-22">2024-02-22</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W10"><button class="folder-button"><p class="folder-title">W10</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W10"><li><li><a href="../../../Journal/2024/W10/2024-03-05" data-for="Journal/2024/W10/2024-03-05">2024-03-05</a></li></li><li><li><a href="../../../Journal/2024/W10/2024-03-06" data-for="Journal/2024/W10/2024-03-06">2024-03-06</a></li></li><li><li><a href="../../../Journal/2024/W10/2024-03-07" data-for="Journal/2024/W10/2024-03-07">2024-03-07</a></li></li><li><li><a href="../../../Journal/2024/W10/2024-W10" data-for="Journal/2024/W10/2024-W10">2024-W10</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W11"><button class="folder-button"><p class="folder-title">W11</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W11"><li><li><a href="../../../Journal/2024/W11/2024-03-11" data-for="Journal/2024/W11/2024-03-11">2024-03-11</a></li></li><li><li><a href="../../../Journal/2024/W11/2024-03-12" data-for="Journal/2024/W11/2024-03-12">2024-03-12</a></li></li><li><li><a href="../../../Journal/2024/W11/2024-03-13" data-for="Journal/2024/W11/2024-03-13">2024-03-13</a></li></li><li><li><a href="../../../Journal/2024/W11/2024-W11" data-for="Journal/2024/W11/2024-W11">2024-W11</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W12"><button class="folder-button"><p class="folder-title">W12</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W12"><li><li><a href="../../../Journal/2024/W12/2024-03-20" data-for="Journal/2024/W12/2024-03-20">2024-03-20</a></li></li><li><li><a href="../../../Journal/2024/W12/2024-W12" data-for="Journal/2024/W12/2024-W12">2024-W12</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W14"><button class="folder-button"><p class="folder-title">W14</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W14"><li><li><a href="../../../Journal/2024/W14/2024-W14" data-for="Journal/2024/W14/2024-W14">2024-W14</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W16"><button class="folder-button"><p class="folder-title">W16</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W16"><li><li><a href="../../../Journal/2024/W16/2024-W16" data-for="Journal/2024/W16/2024-W16">2024-W16</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W17"><button class="folder-button"><p class="folder-title">W17</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W17"><li><li><a href="../../../Journal/2024/W17/2024-04-24" data-for="Journal/2024/W17/2024-04-24">2024-04-24</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W22"><button class="folder-button"><p class="folder-title">W22</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W22"><li><li><a href="../../../Journal/2024/W22/2024-06-02" data-for="Journal/2024/W22/2024-06-02">2024-06-02</a></li></li><li><li><a href="../../../Journal/2024/W22/2024-W22" data-for="Journal/2024/W22/2024-W22">2024-W22</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W23"><button class="folder-button"><p class="folder-title">W23</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W23"><li><li><a href="../../../Journal/2024/W23/2024-06-03" data-for="Journal/2024/W23/2024-06-03">2024-06-03</a></li></li><li><li><a href="../../../Journal/2024/W23/2024-06-04" data-for="Journal/2024/W23/2024-06-04">2024-06-04</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Journal/2024/W24"><button class="folder-button"><p class="folder-title">W24</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Journal/2024/W24"><li><li><a href="../../../Journal/2024/W24/2024-06-12" data-for="Journal/2024/W24/2024-06-12">2024-06-12</a></li></li><li><li><a href="../../../Journal/2024/W24/2024-W24" data-for="Journal/2024/W24/2024-W24">2024-W24</a></li></li></ul></div></div></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Life"><button class="folder-button"><p class="folder-title">Life</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Life"><li><li><a href="../../../Life/Home" data-for="Life/Home">生活相关</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Scholar"><button class="folder-button"><p class="folder-title">Scholar</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Scholar"><li><li><a href="../../../Scholar/Home" data-for="Scholar/Home">学术</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech"><button class="folder-button"><p class="folder-title">Tech</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/cloud-service"><button class="folder-button"><p class="folder-title">cloud-service</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/cloud-service"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/cloud-service/基础"><button class="folder-button"><p class="folder-title">基础</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/cloud-service/基础"><li><li><a href="../../../Tech/cloud-service/基础/IT-基础架构" data-for="Tech/cloud-service/基础/IT-基础架构">IT 基础架构</a></li></li><li><li><a href="../../../Tech/cloud-service/基础/云计算" data-for="Tech/cloud-service/基础/云计算">云计算概述</a></li></li><li><li><a href="../../../Tech/cloud-service/基础/功能即服务(FaaS)" data-for="Tech/cloud-service/基础/功能即服务(FaaS)">功能即服务(FaaS)</a></li></li><li><li><a href="../../../Tech/cloud-service/基础/基础架构即服务(IaaS)" data-for="Tech/cloud-service/基础/基础架构即服务(IaaS)">基础架构即服务(IaaS)</a></li></li><li><li><a href="../../../Tech/cloud-service/基础/平台即服务(PaaS)" data-for="Tech/cloud-service/基础/平台即服务(PaaS)">平台即服务(PaaS)</a></li></li><li><li><a href="../../../Tech/cloud-service/基础/软件即服务(SaaS)" data-for="Tech/cloud-service/基础/软件即服务(SaaS)">软件即服务(SaaS)</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-network"><button class="folder-button"><p class="folder-title">computer-network</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-network"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-network/Nginx"><button class="folder-button"><p class="folder-title">Nginx</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-network/Nginx"><li><li><a href="../../../Tech/computer-network/Nginx/概述" data-for="Tech/computer-network/Nginx/概述">Nginx 概述</a></li></li><li><li><a href="../../../Tech/computer-network/Nginx/内容缓存" data-for="Tech/computer-network/Nginx/内容缓存">内容缓存</a></li></li><li><li><a href="../../../Tech/computer-network/Nginx/基础配置" data-for="Tech/computer-network/Nginx/基础配置">基础配置</a></li></li><li><li><a href="../../../Tech/computer-network/Nginx/负载均衡" data-for="Tech/computer-network/Nginx/负载均衡">负载均衡</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-network/应用服务"><button class="folder-button"><p class="folder-title">应用服务</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-network/应用服务"><li><li><a href="../../../Tech/computer-network/应用服务/CDN-内容分发网络" data-for="Tech/computer-network/应用服务/CDN-内容分发网络">CDN 内容分发网络</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-network/网络协议"><button class="folder-button"><p class="folder-title">网络协议</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-network/网络协议"><li><li><a href="../../../Tech/computer-network/网络协议/DHCP-动态主机配置协议" data-for="Tech/computer-network/网络协议/DHCP-动态主机配置协议">DHCP 动态主机配置协议</a></li></li><li><li><a href="../../../Tech/computer-network/网络协议/DNS-域名系统" data-for="Tech/computer-network/网络协议/DNS-域名系统">DNS 域名系统</a></li></li><li><li><a href="../../../Tech/computer-network/网络协议/IP-网际协议" data-for="Tech/computer-network/网络协议/IP-网际协议">IP 网际协议</a></li></li><li><li><a href="../../../Tech/computer-network/网络协议/TCP-传输控制协议" data-for="Tech/computer-network/网络协议/TCP-传输控制协议">TCP 传输控制协议</a></li></li><li><li><a href="../../../Tech/computer-network/网络协议/UDP-用户数据报协议" data-for="Tech/computer-network/网络协议/UDP-用户数据报协议">UDP 用户数据报协议</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-network/网络基础"><button class="folder-button"><p class="folder-title">网络基础</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-network/网络基础"><li><li><a href="../../../Tech/computer-network/网络基础/网络基础" data-for="Tech/computer-network/网络基础/网络基础">网络基础</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security"><button class="folder-button"><p class="folder-title">computer-security</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/信息安全"><button class="folder-button"><p class="folder-title">信息安全</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/信息安全"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/信息安全/OpenPGP"><button class="folder-button"><p class="folder-title">OpenPGP</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/信息安全/OpenPGP"><li><li><a href="../../../Tech/computer-security/信息安全/OpenPGP/GnuPG-简明指南" data-for="Tech/computer-security/信息安全/OpenPGP/GnuPG-简明指南">GnuPG 简明指南</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/密码学"><button class="folder-button"><p class="folder-title">密码学</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/密码学"><li><li><a href="../../../Tech/computer-security/密码学/简明指南" data-for="Tech/computer-security/密码学/简明指南">简明指南</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/用户安全"><button class="folder-button"><p class="folder-title">用户安全</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/用户安全"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/用户安全/权限设计"><button class="folder-button"><p class="folder-title">权限设计</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/用户安全/权限设计"><li><li><a href="../../../Tech/computer-security/用户安全/权限设计/主流权限系统的设计" data-for="Tech/computer-security/用户安全/权限设计/主流权限系统的设计">主流权限系统的设计</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/用户安全/用户鉴权"><button class="folder-button"><p class="folder-title">用户鉴权</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/用户安全/用户鉴权"><li><li><a href="../../../Tech/computer-security/用户安全/用户鉴权/HTTP-基本鉴权" data-for="Tech/computer-security/用户安全/用户鉴权/HTTP-基本鉴权">HTTP 基本鉴权</a></li></li><li><li><a href="../../../Tech/computer-security/用户安全/用户鉴权/JWT(JSON-Web-Token)鉴权" data-for="Tech/computer-security/用户安全/用户鉴权/JWT(JSON-Web-Token)鉴权">JWT 鉴权</a></li></li><li><li><a href="../../../Tech/computer-security/用户安全/用户鉴权/OAuth-鉴权" data-for="Tech/computer-security/用户安全/用户鉴权/OAuth-鉴权">OAuth 鉴权</a></li></li><li><li><a href="../../../Tech/computer-security/用户安全/用户鉴权/Session-Cookie-鉴权" data-for="Tech/computer-security/用户安全/用户鉴权/Session-Cookie-鉴权">Session-Cookie 鉴权</a></li></li><li><li><a href="../../../Tech/computer-security/用户安全/用户鉴权/单点登录(Single-Sign-On)" data-for="Tech/computer-security/用户安全/用户鉴权/单点登录(Single-Sign-On)">SSO 单点登录</a></li></li><li><li><a href="../../../Tech/computer-security/用户安全/用户鉴权/Token-鉴权" data-for="Tech/computer-security/用户安全/用户鉴权/Token-鉴权">Token 鉴权</a></li></li><li><li><a href="../../../Tech/computer-security/用户安全/用户鉴权/一键登录(适用于原生APP)" data-for="Tech/computer-security/用户安全/用户鉴权/一键登录(适用于原生APP)">一键登录</a></li></li><li><li><a href="../../../Tech/computer-security/用户安全/用户鉴权/唯一登录" data-for="Tech/computer-security/用户安全/用户鉴权/唯一登录">唯一登录</a></li></li><li><li><a href="../../../Tech/computer-security/用户安全/用户鉴权/扫码登录" data-for="Tech/computer-security/用户安全/用户鉴权/扫码登录">扫码登录</a></li></li><li><li><a href="../../../Tech/computer-security/用户安全/用户鉴权/联合登录和信任登录" data-for="Tech/computer-security/用户安全/用户鉴权/联合登录和信任登录">联合登录和信任登录</a></li></li></ul></div></div></li><li><li><a href="../../../Tech/computer-security/用户安全/简明指南" data-for="Tech/computer-security/用户安全/简明指南">简明指南</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/系统安全"><button class="folder-button"><p class="folder-title">系统安全</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/系统安全"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/系统安全/防火墙"><button class="folder-button"><p class="folder-title">防火墙</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/系统安全/防火墙"><li><li><a href="../../../Tech/computer-security/系统安全/防火墙/网络端口大全" data-for="Tech/computer-security/系统安全/防火墙/网络端口大全">网络端口大全</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/网络安全"><button class="folder-button"><p class="folder-title">网络安全</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/网络安全"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/网络安全/OpenSSH"><button class="folder-button"><p class="folder-title">OpenSSH</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/网络安全/OpenSSH"><li><li><a href="../../../Tech/computer-security/网络安全/OpenSSH/OpenSSH-使用方法" data-for="Tech/computer-security/网络安全/OpenSSH/OpenSSH-使用方法">OpenSSH 使用方法</a></li></li><li><li><a href="../../../Tech/computer-security/网络安全/OpenSSH/OpenSSH-概述" data-for="Tech/computer-security/网络安全/OpenSSH/OpenSSH-概述">OpenSSH 概述</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/computer-security/网络安全/OpenSSL"><button class="folder-button"><p class="folder-title">OpenSSL</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/computer-security/网络安全/OpenSSL"><li><li><a href="../../../Tech/computer-security/网络安全/OpenSSL/简明指南" data-for="Tech/computer-security/网络安全/OpenSSL/简明指南">简明指南</a></li></li></ul></div></div></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/database-system"><button class="folder-button"><p class="folder-title">database-system</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/database-system"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/database-system/PostgreSQL"><button class="folder-button"><p class="folder-title">PostgreSQL</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/database-system/PostgreSQL"><li><li><a href="../../../Tech/database-system/PostgreSQL/基本概念" data-for="Tech/database-system/PostgreSQL/基本概念">基本概念</a></li></li><li><li><a href="../../../Tech/database-system/PostgreSQL/安装配置" data-for="Tech/database-system/PostgreSQL/安装配置">安装配置</a></li></li><li><li><a href="../../../Tech/database-system/PostgreSQL/简介" data-for="Tech/database-system/PostgreSQL/简介">简介</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/database-system/SQL 语言"><button class="folder-button"><p class="folder-title">SQL 语言</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/database-system/SQL 语言"><li><li><a href="../../../Tech/database-system/SQL-语言/基础语法" data-for="Tech/database-system/SQL-语言/基础语法">基础语法</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/database-system/基础"><button class="folder-button"><p class="folder-title">基础</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/database-system/基础"><li><li><a href="../../../Tech/database-system/基础/关系型数据库" data-for="Tech/database-system/基础/关系型数据库">关系型数据库</a></li></li><li><li><a href="../../../Tech/database-system/基础/数据库概述" data-for="Tech/database-system/基础/数据库概述">数据库概述</a></li></li><li><li><a href="../../../Tech/database-system/基础/非关系型数据库" data-for="Tech/database-system/基础/非关系型数据库">非关系型数据库</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started"><button class="folder-button"><p class="folder-title">getting-started</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/命令行工具"><button class="folder-button"><p class="folder-title">命令行工具</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/命令行工具"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/命令行工具/PowerShell"><button class="folder-button"><p class="folder-title">PowerShell</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/命令行工具/PowerShell"><li><li><a href="../../../Tech/getting-started/命令行工具/PowerShell/PowerShell-入门" data-for="Tech/getting-started/命令行工具/PowerShell/PowerShell-入门">PowerShell 入门</a></li></li><li><li><a href="../../../Tech/getting-started/命令行工具/PowerShell/PowerShell-进阶" data-for="Tech/getting-started/命令行工具/PowerShell/PowerShell-进阶">PowerShell 进阶</a></li></li><li><li><a href="../../../Tech/getting-started/命令行工具/PowerShell/PowerShell-高级" data-for="Tech/getting-started/命令行工具/PowerShell/PowerShell-高级">PowerShell 高级</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/命令行工具/Shell"><button class="folder-button"><p class="folder-title">Shell</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/命令行工具/Shell"><li><li><a href="../../../Tech/getting-started/命令行工具/Shell/Shell-命令操作" data-for="Tech/getting-started/命令行工具/Shell/Shell-命令操作">Linux 命令行操作</a></li></li><li><li><a href="../../../Tech/getting-started/命令行工具/Shell/Shell-必备锦囊" data-for="Tech/getting-started/命令行工具/Shell/Shell-必备锦囊">Shell 必备锦囊</a></li></li><li><li><a href="../../../Tech/getting-started/命令行工具/Shell/Shell-是什么" data-for="Tech/getting-started/命令行工具/Shell/Shell-是什么">Shell 是什么</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/命令行工具/Vim"><button class="folder-button"><p class="folder-title">Vim</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/命令行工具/Vim"><li><li><a href="../../../Tech/getting-started/命令行工具/Vim/Vim-参考手册" data-for="Tech/getting-started/命令行工具/Vim/Vim-参考手册">Vim 参考手册</a></li></li><li><li><a href="../../../Tech/getting-started/命令行工具/Vim/Vim-帮助文档" data-for="Tech/getting-started/命令行工具/Vim/Vim-帮助文档">Vim 帮助文档</a></li></li><li><li><a href="../../../Tech/getting-started/命令行工具/Vim/Vim-入门" data-for="Tech/getting-started/命令行工具/Vim/Vim-入门">Vim 快速入门</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/开源指南"><button class="folder-button"><p class="folder-title">开源指南</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/开源指南"><li><li><a href="../../../Tech/getting-started/开源指南/如何向开源社区提问" data-for="Tech/getting-started/开源指南/如何向开源社区提问">如何向开源社区提问</a></li></li><li><li><a href="../../../Tech/getting-started/开源指南/如何有效报告-BUG" data-for="Tech/getting-started/开源指南/如何有效报告-BUG">如何有效报告 BUG</a></li></li><li><li><a href="../../../Tech/getting-started/开源指南/开源指北" data-for="Tech/getting-started/开源指南/开源指北">开源指北</a></li></li><li><li><a href="../../../Tech/getting-started/开源指南/提问的智慧" data-for="Tech/getting-started/开源指南/提问的智慧">提问的智慧</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/文本处理"><button class="folder-button"><p class="folder-title">文本处理</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/文本处理"><li><li><a href="../../../Tech/getting-started/文本处理/正则表达式" data-for="Tech/getting-started/文本处理/正则表达式">正则表达式</a></li></li><li><li><a href="../../../Tech/getting-started/文本处理/结构化文件" data-for="Tech/getting-started/文本处理/结构化文件">结构化文件</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/版本控制"><button class="folder-button"><p class="folder-title">版本控制</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/版本控制"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/版本控制/Git"><button class="folder-button"><p class="folder-title">Git</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/版本控制/Git"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/版本控制/Git/入门"><button class="folder-button"><p class="folder-title">入门</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/版本控制/Git/入门"><li><li><a href="../../../Tech/getting-started/版本控制/Git/入门/分支" data-for="Tech/getting-started/版本控制/Git/入门/分支">分支</a></li></li><li><li><a href="../../../Tech/getting-started/版本控制/Git/入门/协议" data-for="Tech/getting-started/版本控制/Git/入门/协议">协议</a></li></li><li><li><a href="../../../Tech/getting-started/版本控制/Git/入门/基础" data-for="Tech/getting-started/版本控制/Git/入门/基础">基础</a></li></li><li><li><a href="../../../Tech/getting-started/版本控制/Git/入门/起步" data-for="Tech/getting-started/版本控制/Git/入门/起步">起步</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/getting-started/版本控制/Git/进阶"><button class="folder-button"><p class="folder-title">进阶</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/getting-started/版本控制/Git/进阶"><li><li><a href="../../../Tech/getting-started/版本控制/Git/进阶/Git-LFS" data-for="Tech/getting-started/版本控制/Git/进阶/Git-LFS">Git-LFS</a></li></li><li><li><a href="../../../Tech/getting-started/版本控制/Git/进阶/参考手册" data-for="Tech/getting-started/版本控制/Git/进阶/参考手册">参考手册</a></li></li><li><li><a href="../../../Tech/getting-started/版本控制/Git/进阶/工作流" data-for="Tech/getting-started/版本控制/Git/进阶/工作流">工作流</a></li></li><li><li><a href="../../../Tech/getting-started/版本控制/Git/进阶/常用命令" data-for="Tech/getting-started/版本控制/Git/进阶/常用命令">常用命令</a></li></li><li><li><a href="../../../Tech/getting-started/版本控制/Git/进阶/常用技巧" data-for="Tech/getting-started/版本控制/Git/进阶/常用技巧">常用技巧</a></li></li><li><li><a href="../../../Tech/getting-started/版本控制/Git/进阶/思维导图" data-for="Tech/getting-started/版本控制/Git/进阶/思维导图">思维导图</a></li></li><li><li><a href="../../../Tech/getting-started/版本控制/Git/进阶/钩子" data-for="Tech/getting-started/版本控制/Git/进阶/钩子">钩子</a></li></li></ul></div></div></li></ul></div></div></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system"><button class="folder-button"><p class="folder-title">operating-system</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Automation"><button class="folder-button"><p class="folder-title">Automation</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Automation"><li><li><a href="../../../Tech/operating-system/Automation/Ansible" data-for="Tech/operating-system/Automation/Ansible">Ansible</a></li></li><li><li><a href="../../../Tech/operating-system/Automation/Cloud-init-快速部署" data-for="Tech/operating-system/Automation/Cloud-init-快速部署">Cloud-init</a></li></li><li><li><a href="../../../Tech/operating-system/Automation/PXE--系统部署" data-for="Tech/operating-system/Automation/PXE--系统部署">PXE 自动化部署</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Docker"><button class="folder-button"><p class="folder-title">Docker</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Docker"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Docker/基础"><button class="folder-button"><p class="folder-title">基础</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Docker/基础"><li><li><a href="../../../Tech/operating-system/Docker/基础/基础概念" data-for="Tech/operating-system/Docker/基础/基础概念">基础概念</a></li></li><li><li><a href="../../../Tech/operating-system/Docker/基础/安装配置" data-for="Tech/operating-system/Docker/基础/安装配置">安装配置</a></li></li><li><li><a href="../../../Tech/operating-system/Docker/基础/简介" data-for="Tech/operating-system/Docker/基础/简介">简介</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Docker/进阶"><button class="folder-button"><p class="folder-title">进阶</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Docker/进阶"><li><li><a href="../../../Tech/operating-system/Docker/进阶/Docker-Compose" data-for="Tech/operating-system/Docker/进阶/Docker-Compose">Docker Compose</a></li></li><li><li><a href="../../../Tech/operating-system/Docker/进阶/Docker-Dockerfile" data-for="Tech/operating-system/Docker/进阶/Docker-Dockerfile">Docker Dockerfile</a></li></li><li><li><a href="../../../Tech/operating-system/Docker/进阶/Docker-使用" data-for="Tech/operating-system/Docker/进阶/Docker-使用">Docker 使用</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Docker/高级"><button class="folder-button"><p class="folder-title">高级</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Docker/高级"><li><li><a href="../../../Tech/operating-system/Docker/高级/Docker-命令手册" data-for="Tech/operating-system/Docker/高级/Docker-命令手册">Docker 命令手册</a></li></li><li><li><a href="../../../Tech/operating-system/Docker/高级/Docker-存储" data-for="Tech/operating-system/Docker/高级/Docker-存储">Docker 存储</a></li></li><li><li><a href="../../../Tech/operating-system/Docker/高级/Docker-网络" data-for="Tech/operating-system/Docker/高级/Docker-网络">Docker 网络</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Linux"><button class="folder-button"><p class="folder-title">Linux</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Linux"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Linux/0.文化"><button class="folder-button"><p class="folder-title">0.文化</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Linux/0.文化"><li><li><a href="../../../Tech/operating-system/Linux/0.文化/GNU&Linux-历史与发展" data-for="Tech/operating-system/Linux/0.文化/GNU&Linux-历史与发展">GNU&Linux 历史与发展</a></li></li><li><li><a href="../../../Tech/operating-system/Linux/0.文化/GNU&Linux-社区与文化" data-for="Tech/operating-system/Linux/0.文化/GNU&Linux-社区与文化">GNU&Linux 社区与文化</a></li></li><li><li><a href="../../../Tech/operating-system/Linux/0.文化/开源软件的概念与重要性" data-for="Tech/operating-system/Linux/0.文化/开源软件的概念与重要性">开源软件的概念与重要性</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Linux/1.安装"><button class="folder-button"><p class="folder-title">1.安装</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Linux/1.安装"><li><li><a href="../../../Tech/operating-system/Linux/1.安装/Linux-下源代码编译与安装实战指南" data-for="Tech/operating-system/Linux/1.安装/Linux-下源代码编译与安装实战指南">Linux 下源代码编译与安装实战指南</a></li></li><li><li><a href="../../../Tech/operating-system/Linux/1.安装/Linux-发行版镜像" data-for="Tech/operating-system/Linux/1.安装/Linux-发行版镜像">Linux 发行版镜像</a></li></li><li><li><a href="../../../Tech/operating-system/Linux/1.安装/Linux-安装和配置" data-for="Tech/operating-system/Linux/1.安装/Linux-安装和配置">Linux 安装和配置</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Linux/2.基础操作"><button class="folder-button"><p class="folder-title">2.基础操作</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Linux/2.基础操作"><li><li><a href="../../../Tech/operating-system/Linux/2.基础操作/Linux-包管理器" data-for="Tech/operating-system/Linux/2.基础操作/Linux-包管理器">Linux 包管理器</a></li></li><li><li><a href="../../../Tech/operating-system/Linux/2.基础操作/Shell-命令行操作" data-for="Tech/operating-system/Linux/2.基础操作/Shell-命令行操作">Linux 命令行操作</a></li></li><li><li><a href="../../../Tech/operating-system/Linux/2.基础操作/Linux-文件管理" data-for="Tech/operating-system/Linux/2.基础操作/Linux-文件管理">Linux 文件管理</a></li></li><li><li><a href="../../../Tech/operating-system/Linux/2.基础操作/Linux-用户和权限" data-for="Tech/operating-system/Linux/2.基础操作/Linux-用户和权限">Linux 用户和权限</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Linux/3.系统管理"><button class="folder-button"><p class="folder-title">3.系统管理</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Linux/3.系统管理"><li><li><a href="../../../Tech/operating-system/Linux/3.系统管理/Linux-内核管理" data-for="Tech/operating-system/Linux/3.系统管理/Linux-内核管理">Linux 内核管理</a></li></li><li><li><a href="../../../Tech/operating-system/Linux/3.系统管理/Linux-基本配置" data-for="Tech/operating-system/Linux/3.系统管理/Linux-基本配置">Linux 基本配置</a></li></li><li><li><a href="../../../Tech/operating-system/Linux/3.系统管理/Linux-日志管理" data-for="Tech/operating-system/Linux/3.系统管理/Linux-日志管理">Linux 日志管理</a></li></li><li><li><a href="../../../Tech/operating-system/Linux/3.系统管理/Linux-服务管理" data-for="Tech/operating-system/Linux/3.系统管理/Linux-服务管理">Linux 服务管理</a></li></li><li><li><a href="../../../Tech/operating-system/Linux/3.系统管理/Linux-系统启动详解" data-for="Tech/operating-system/Linux/3.系统管理/Linux-系统启动详解">Linux 服务管理</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Linux/4.安全配置"><button class="folder-button"><p class="folder-title">4.安全配置</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Linux/4.安全配置"><li><li><a href="../../../Tech/operating-system/Linux/4.安全配置/Linux-系统安全与防护" data-for="Tech/operating-system/Linux/4.安全配置/Linux-系统安全与防护">Linux 系统安全与防护</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Linux/5.网络管理"><button class="folder-button"><p class="folder-title">5.网络管理</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Linux/5.网络管理"><li><li><a href="../../../Tech/operating-system/Linux/5.网络管理/Linux-网络配置" data-for="Tech/operating-system/Linux/5.网络管理/Linux-网络配置">Linux 网络配置</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Linux/7.存储管理"><button class="folder-button"><p class="folder-title">7.存储管理</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Linux/7.存储管理"><li><li><a href="../../../Tech/operating-system/Linux/7.存储管理/Linux-文件系统" data-for="Tech/operating-system/Linux/7.存储管理/Linux-文件系统">Linux 文件系统</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Linux/8.虚拟化"><button class="folder-button"><p class="folder-title">8.虚拟化</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Linux/8.虚拟化"><li><li><a href="../../../Tech/operating-system/Linux/8.虚拟化/KVM-虚拟化管理" data-for="Tech/operating-system/Linux/8.虚拟化/KVM-虚拟化管理">KVM 虚拟化管理</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Virtualization"><button class="folder-button"><p class="folder-title">Virtualization</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Virtualization"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Virtualization/1.虚拟化概述"><button class="folder-button"><p class="folder-title">1.虚拟化概述</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Virtualization/1.虚拟化概述"><li><li><a href="../../../Tech/operating-system/Virtualization/1.虚拟化概述/虚拟化概述" data-for="Tech/operating-system/Virtualization/1.虚拟化概述/虚拟化概述">标题</a></li></li><li><li><a href="../../../Tech/operating-system/Virtualization/1.虚拟化概述/虚拟化平台简介" data-for="Tech/operating-system/Virtualization/1.虚拟化概述/虚拟化平台简介">虚拟化平台简介</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Virtualization/2.KVM虚拟化"><button class="folder-button"><p class="folder-title">2.KVM虚拟化</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Virtualization/2.KVM虚拟化"><li><li><a href="../../../Tech/operating-system/Virtualization/2.KVM虚拟化/2.-KVM-安装配置" data-for="Tech/operating-system/Virtualization/2.KVM虚拟化/2.-KVM-安装配置">KVM 安装配置</a></li></li><li><li><a href="../../../Tech/operating-system/Virtualization/2.KVM虚拟化/1.-KVM-概述" data-for="Tech/operating-system/Virtualization/2.KVM虚拟化/1.-KVM-概述">KVM 概述</a></li></li><li><li><a href="../../../Tech/operating-system/Virtualization/2.KVM虚拟化/3.-KVM-管理工具" data-for="Tech/operating-system/Virtualization/2.KVM虚拟化/3.-KVM-管理工具">KVM 管理工具</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Windows"><button class="folder-button"><p class="folder-title">Windows</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Windows"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/operating-system/Windows/文化"><button class="folder-button"><p class="folder-title">文化</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/operating-system/Windows/文化"><li><li><a href="../../../Tech/operating-system/Windows/文化/微软及其Windows系统的历史发展" data-for="Tech/operating-system/Windows/文化/微软及其Windows系统的历史发展">微软及其Windows系统的历史发展</a></li></li></ul></div></div></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language"><button class="folder-button"><p class="folder-title">programming-language</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python"><button class="folder-button"><p class="folder-title">Python</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/入门"><button class="folder-button"><p class="folder-title">入门</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/入门"><li><li><a href="../../../Tech/programming-language/Python/入门/函数方法" data-for="Tech/programming-language/Python/入门/函数方法">函数方法</a></li></li><li><li><a href="../../../Tech/programming-language/Python/入门/基础语法" data-for="Tech/programming-language/Python/入门/基础语法">基础语法</a></li></li><li><li><a href="../../../Tech/programming-language/Python/入门/控制语句" data-for="Tech/programming-language/Python/入门/控制语句">控制语句</a></li></li><li><li><a href="../../../Tech/programming-language/Python/入门/数据类型" data-for="Tech/programming-language/Python/入门/数据类型">数据类型</a></li></li><li><li><a href="../../../Tech/programming-language/Python/入门/数据结构" data-for="Tech/programming-language/Python/入门/数据结构">数据结构</a></li></li><li><li><a href="../../../Tech/programming-language/Python/入门/模块和包" data-for="Tech/programming-language/Python/入门/模块和包">模块和包</a></li></li><li><li><a href="../../../Tech/programming-language/Python/入门/面对对象" data-for="Tech/programming-language/Python/入门/面对对象">面对对象</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/文化"><button class="folder-button"><p class="folder-title">文化</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/文化"><li><li><a href="../../../Tech/programming-language/Python/文化/发展历史" data-for="Tech/programming-language/Python/文化/发展历史">发展历史</a></li></li><li><li><a href="../../../Tech/programming-language/Python/文化/生命周期" data-for="Tech/programming-language/Python/文化/生命周期">生命周期</a></li></li><li><li><a href="../../../Tech/programming-language/Python/文化/社区文化" data-for="Tech/programming-language/Python/文化/社区文化">社区文化</a></li></li><li><li><a href="../../../Tech/programming-language/Python/文化/设计哲学" data-for="Tech/programming-language/Python/文化/设计哲学">设计哲学</a></li></li><li><li><a href="../../../Tech/programming-language/Python/文化/语言特性" data-for="Tech/programming-language/Python/文化/语言特性">语言特性</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/模块"><button class="folder-button"><p class="folder-title">模块</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/模块"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/模块/WEB开发"><button class="folder-button"><p class="folder-title">WEB开发</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/模块/WEB开发"><li><li><a href="../../../Tech/programming-language/Python/模块/WEB开发/Jinja-模板引擎" data-for="Tech/programming-language/Python/模块/WEB开发/Jinja-模板引擎">Jinja 模板引擎</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/模块/数据处理"><button class="folder-button"><p class="folder-title">数据处理</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/模块/数据处理"><li><li><a href="../../../Tech/programming-language/Python/模块/数据处理/configparser-配置文件解析器" data-for="Tech/programming-language/Python/模块/数据处理/configparser-配置文件解析器">configparser 配置文件解析器</a></li></li><li><li><a href="../../../Tech/programming-language/Python/模块/数据处理/csv-文件读写" data-for="Tech/programming-language/Python/模块/数据处理/csv-文件读写">csv 文件读写</a></li></li><li><li><a href="../../../Tech/programming-language/Python/模块/数据处理/json-编码和解码器" data-for="Tech/programming-language/Python/模块/数据处理/json-编码和解码器">json 编码和解码器</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/模块/文本处理"><button class="folder-button"><p class="folder-title">文本处理</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/模块/文本处理"><li><li><a href="../../../Tech/programming-language/Python/模块/文本处理/re-----正则表达式操作" data-for="Tech/programming-language/Python/模块/文本处理/re-----正则表达式操作">re --- 正则表达式操作</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/模块/系统交互"><button class="folder-button"><p class="folder-title">系统交互</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/模块/系统交互"><li><li><a href="../../../Tech/programming-language/Python/模块/系统交互/dotenv-环境变量管理" data-for="Tech/programming-language/Python/模块/系统交互/dotenv-环境变量管理">dotenv 环境变量管理</a></li></li><li><li><a href="../../../Tech/programming-language/Python/模块/系统交互/logging-日志记录工具" data-for="Tech/programming-language/Python/模块/系统交互/logging-日志记录工具">logging 日志记录工具</a></li></li><li><li><a href="../../../Tech/programming-language/Python/模块/系统交互/loguru-日志库" data-for="Tech/programming-language/Python/模块/系统交互/loguru-日志库">loguru 日志库</a></li></li><li><li><a href="../../../Tech/programming-language/Python/模块/系统交互/os-多种操作系统接口" data-for="Tech/programming-language/Python/模块/系统交互/os-多种操作系统接口">os 多种操作系统接口</a></li></li><li><li><a href="../../../Tech/programming-language/Python/模块/系统交互/subprocess-子进程管理" data-for="Tech/programming-language/Python/模块/系统交互/subprocess-子进程管理">subprocess 子进程管理</a></li></li><li><li><a href="../../../Tech/programming-language/Python/模块/系统交互/sys-系统相关的形参和函数" data-for="Tech/programming-language/Python/模块/系统交互/sys-系统相关的形参和函数">sys 系统相关的形参和函数</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/模块/网络处理"><button class="folder-button"><p class="folder-title">网络处理</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/模块/网络处理"><li><li><a href="../../../Tech/programming-language/Python/模块/网络处理/requests-HTTP-库" data-for="Tech/programming-language/Python/模块/网络处理/requests-HTTP-库">requests HTTP 库</a></li></li><li><li><a href="../../../Tech/programming-language/Python/模块/网络处理/socket-底层网络接口" data-for="Tech/programming-language/Python/模块/网络处理/socket-底层网络接口">socket 底层网络接口</a></li></li><li><li><a href="../../../Tech/programming-language/Python/模块/网络处理/urllib-URL-处理模块" data-for="Tech/programming-language/Python/模块/网络处理/urllib-URL-处理模块">urllib URL 处理模块</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/进阶"><button class="folder-button"><p class="folder-title">进阶</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/进阶"><li><li><a href="../../../Tech/programming-language/Python/进阶/函数式编程" data-for="Tech/programming-language/Python/进阶/函数式编程">函数式编程</a></li></li><li><li><a href="../../../Tech/programming-language/Python/进阶/垃圾回收" data-for="Tech/programming-language/Python/进阶/垃圾回收">垃圾回收</a></li></li><li><li><a href="../../../Tech/programming-language/Python/进阶/并行和并发" data-for="Tech/programming-language/Python/进阶/并行和并发">并行和并发</a></li></li><li><li><a href="../../../Tech/programming-language/Python/进阶/异常处理" data-for="Tech/programming-language/Python/进阶/异常处理">异常处理</a></li></li><li><li><a href="../../../Tech/programming-language/Python/进阶/数据库操作" data-for="Tech/programming-language/Python/进阶/数据库操作">数据库操作</a></li></li><li><li><a href="../../../Tech/programming-language/Python/进阶/文件和IO操作" data-for="Tech/programming-language/Python/进阶/文件和IO操作">文件和IO操作</a></li></li><li><li><a href="../../../Tech/programming-language/Python/进阶/测试和调试" data-for="Tech/programming-language/Python/进阶/测试和调试">测试和调试</a></li></li><li><li><a href="../../../Tech/programming-language/Python/进阶/资源管理" data-for="Tech/programming-language/Python/进阶/资源管理">资源管理</a></li></li><li><li><a href="../../../Tech/programming-language/Python/进阶/面向对象进阶" data-for="Tech/programming-language/Python/进阶/面向对象进阶">面向对象</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/项目"><button class="folder-button"><p class="folder-title">项目</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/项目"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/项目/虚拟环境"><button class="folder-button"><p class="folder-title">虚拟环境</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/项目/虚拟环境"><li><li><a href="../../../Tech/programming-language/Python/项目/虚拟环境/pip" data-for="Tech/programming-language/Python/项目/虚拟环境/pip">pip</a></li></li><li><li><a href="../../../Tech/programming-language/Python/项目/虚拟环境/pipenv" data-for="Tech/programming-language/Python/项目/虚拟环境/pipenv">pipenv</a></li></li><li><li><a href="../../../Tech/programming-language/Python/项目/虚拟环境/poetry" data-for="Tech/programming-language/Python/项目/虚拟环境/poetry">poetry</a></li></li><li><li><a href="../../../Tech/programming-language/Python/项目/虚拟环境/pyenv" data-for="Tech/programming-language/Python/项目/虚拟环境/pyenv">pyenv</a></li></li><li><li><a href="../../../Tech/programming-language/Python/项目/虚拟环境/virtualenv" data-for="Tech/programming-language/Python/项目/虚拟环境/virtualenv">Virtualenv</a></li></li><li><li><a href="../../../Tech/programming-language/Python/项目/虚拟环境/概述" data-for="Tech/programming-language/Python/项目/虚拟环境/概述">概述</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/programming-language/Python/项目/风格指南"><button class="folder-button"><p class="folder-title">风格指南</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/programming-language/Python/项目/风格指南"><li><li><a href="../../../Tech/programming-language/Python/项目/风格指南/风格指南" data-for="Tech/programming-language/Python/项目/风格指南/风格指南">Python 风格指南</a></li></li></ul></div></div></li></ul></div></div></li></ul></div></div></li><li><li><a href="../../../Tech/programming-language/home" data-for="Tech/programming-language/home">程序设计语言</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/software-engineering"><button class="folder-button"><p class="folder-title">software-engineering</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/software-engineering"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/software-engineering/协作规范"><button class="folder-button"><p class="folder-title">协作规范</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/software-engineering/协作规范"><li><li><a href="../../../Tech/software-engineering/协作规范/交流反馈(Issue)" data-for="Tech/software-engineering/协作规范/交流反馈(Issue)">交流反馈(Issue)</a></li></li><li><li><a href="../../../Tech/software-engineering/协作规范/关于(Readme)" data-for="Tech/software-engineering/协作规范/关于(Readme)">关于(Readme)</a></li></li><li><li><a href="../../../Tech/software-engineering/协作规范/分支(Branch)" data-for="Tech/software-engineering/协作规范/分支(Branch)">分支(Branch)</a></li></li><li><li><a href="../../../Tech/software-engineering/协作规范/开源协议(License)" data-for="Tech/software-engineering/协作规范/开源协议(License)">开源协议(License)</a></li></li><li><li><a href="../../../Tech/software-engineering/协作规范/日志(Commit)" data-for="Tech/software-engineering/协作规范/日志(Commit)">日志(Commit)</a></li></li><li><li><a href="../../../Tech/software-engineering/协作规范/注释(Comments)" data-for="Tech/software-engineering/协作规范/注释(Comments)">注释(Comments)</a></li></li><li><li><a href="../../../Tech/software-engineering/协作规范/版本(Tag)" data-for="Tech/software-engineering/协作规范/版本(Tag)">版本(Tag)</a></li></li><li><li><a href="../../../Tech/software-engineering/协作规范/贡献者协议(Contributing)" data-for="Tech/software-engineering/协作规范/贡献者协议(Contributing)">贡献者协议(Contributing)</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/software-engineering/技术文档"><button class="folder-button"><p class="folder-title">技术文档</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/software-engineering/技术文档"><li><li><a href="../../../Tech/software-engineering/技术文档/命名约定" data-for="Tech/software-engineering/技术文档/命名约定">命名约定</a></li></li><li><li><a href="../../../Tech/software-engineering/技术文档/文档内容" data-for="Tech/software-engineering/技术文档/文档内容">文档内容</a></li></li><li><li><a href="../../../Tech/software-engineering/技术文档/文档结构" data-for="Tech/software-engineering/技术文档/文档结构">文档结构</a></li></li><li><li><a href="../../../Tech/software-engineering/技术文档/标点符号" data-for="Tech/software-engineering/技术文档/标点符号">标点符号</a></li></li><li><li><a href="../../../Tech/software-engineering/技术文档/简介" data-for="Tech/software-engineering/技术文档/简介">简介</a></li></li><li><li><a href="../../../Tech/software-engineering/技术文档/语言风格" data-for="Tech/software-engineering/技术文档/语言风格">语言风格</a></li></li><li><li><a href="../../../Tech/software-engineering/技术文档/附录资料" data-for="Tech/software-engineering/技术文档/附录资料">附录资料</a></li></li></ul></div></div></li><li><li><a href="../../../Tech/software-engineering/谷歌开源项目风格指南" data-for="Tech/software-engineering/谷歌开源项目风格指南">谷歌开源项目风格指南</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Tech/structures-algorithms"><button class="folder-button"><p class="folder-title">structures-algorithms</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Tech/structures-algorithms"><li><li><a href="../../../Tech/structures-algorithms/数据结构" data-for="Tech/structures-algorithms/数据结构">数据结构</a></li></li><li><li><a href="../../../Tech/structures-algorithms/算法" data-for="Tech/structures-algorithms/算法">算法</a></li></li></ul></div></div></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work"><button class="folder-button"><p class="folder-title">Work</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/data-engineer"><button class="folder-button"><p class="folder-title">data-engineer</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/data-engineer"><li><li><a href="../../../Work/data-engineer/home" data-for="Work/data-engineer/home">数据工程师(data-engineer)</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/full-stack"><button class="folder-button"><p class="folder-title">full-stack</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/full-stack"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/full-stack/基础"><button class="folder-button"><p class="folder-title">基础</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/full-stack/基础"><li><li><a href="../../../Work/full-stack/基础/CSS" data-for="Work/full-stack/基础/CSS">CSS</a></li></li><li><li><a href="../../../Work/full-stack/基础/HTML" data-for="Work/full-stack/基础/HTML">HTML</a></li></li><li><li><a href="../../../Work/full-stack/基础/JavaScript" data-for="Work/full-stack/基础/JavaScript">JavaScript</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/full-stack/工具"><button class="folder-button"><p class="folder-title">工具</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/full-stack/工具"><li><li><a href="../../../Work/full-stack/工具/PM2-工具" data-for="Work/full-stack/工具/PM2-工具">PM2 工具</a></li></li><li><li><a href="../../../Work/full-stack/工具/Webpack" data-for="Work/full-stack/工具/Webpack">Webpack</a></li></li><li><li><a href="../../../Work/full-stack/工具/包管理工具" data-for="Work/full-stack/工具/包管理工具">包管理器</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/full-stack/文化"><button class="folder-button"><p class="folder-title">文化</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/full-stack/文化"><li><li><a href="../../../Work/full-stack/文化/历史发展" data-for="Work/full-stack/文化/历史发展">历史发展</a></li></li><li><li><a href="../../../Work/full-stack/文化/概述" data-for="Work/full-stack/文化/概述">概述</a></li></li><li><li><a href="../../../Work/full-stack/文化/现代化开发工具链" data-for="Work/full-stack/文化/现代化开发工具链">现代化开发工具链</a></li></li></ul></div></div></li><li><li><a href="../../../Work/full-stack/home" data-for="Work/full-stack/home">前端工程师(Front-End Engineer)</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/roadmap"><button class="folder-button"><p class="folder-title">roadmap</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/roadmap"><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/roadmap/权益保障"><button class="folder-button"><p class="folder-title">权益保障</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/roadmap/权益保障"><li><li><a href="../../../Work/roadmap/权益保障/仲裁指南" data-for="Work/roadmap/权益保障/仲裁指南">仲裁指南</a></li></li><li><li><a href="../../../Work/roadmap/权益保障/职场维权实战经验" data-for="Work/roadmap/权益保障/职场维权实战经验">职场维权实战经验</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/roadmap/求职经验"><button class="folder-button"><p class="folder-title">求职经验</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/roadmap/求职经验"><li><li><a href="../../../Work/roadmap/求职经验/互联网行业-郑州" data-for="Work/roadmap/求职经验/互联网行业-郑州">互联网行业-郑州</a></li></li><li><li><a href="../../../Work/roadmap/求职经验/写给软件工程师的建议" data-for="Work/roadmap/求职经验/写给软件工程师的建议">写给软件工程师的建议</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/roadmap/简历攻略"><button class="folder-button"><p class="folder-title">简历攻略</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/roadmap/简历攻略"><li><li><a href="../../../Work/roadmap/简历攻略/IT-类简历" data-for="Work/roadmap/简历攻略/IT-类简历">IT 类简历</a></li></li><li><li><a href="../../../Work/roadmap/简历攻略/简历原则" data-for="Work/roadmap/简历攻略/简历原则">简历原则</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/roadmap/职业规划"><button class="folder-button"><p class="folder-title">职业规划</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/roadmap/职业规划"><li><li><a href="../../../Work/roadmap/职业规划/开发者职业路线图" data-for="Work/roadmap/职业规划/开发者职业路线图">开发者职业路线图</a></li></li><li><li><a href="../../../Work/roadmap/职业规划/职业宏观规划图" data-for="Work/roadmap/职业规划/职业宏观规划图">职业宏观规划图</a></li></li><li><li><a href="../../../Work/roadmap/职业规划/职业宏观路线图" data-for="Work/roadmap/职业规划/职业宏观路线图">职业宏观路线图</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/roadmap/职场心得"><button class="folder-button"><p class="folder-title">职场心得</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/roadmap/职场心得"><li><li><a href="../../../Work/roadmap/职场心得/华为新员工的-8-个阶段" data-for="Work/roadmap/职场心得/华为新员工的-8-个阶段">华为新员工的 8 个阶段</a></li></li><li><li><a href="../../../Work/roadmap/职场心得/如何平衡工作和生活" data-for="Work/roadmap/职场心得/如何平衡工作和生活">如何平衡工作和生活</a></li></li><li><li><a href="../../../Work/roadmap/职场心得/如何度过新手村" data-for="Work/roadmap/职场心得/如何度过新手村">如何度过新手村</a></li></li><li><li><a href="../../../Work/roadmap/职场心得/如何有效应对职场政治" data-for="Work/roadmap/职场心得/如何有效应对职场政治">如何有效应对职场政治</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/roadmap/薪酬攻略"><button class="folder-button"><p class="folder-title">薪酬攻略</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/roadmap/薪酬攻略"><li><li><a href="../../../Work/roadmap/薪酬攻略/社会保障" data-for="Work/roadmap/薪酬攻略/社会保障">社会保障</a></li></li><li><li><a href="../../../Work/roadmap/薪酬攻略/绩效考核" data-for="Work/roadmap/薪酬攻略/绩效考核">绩效考核</a></li></li><li><li><a href="../../../Work/roadmap/薪酬攻略/薪酬制度" data-for="Work/roadmap/薪酬攻略/薪酬制度">薪酬制度</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/roadmap/面试法则"><button class="folder-button"><p class="folder-title">面试法则</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/roadmap/面试法则"><li><li><a href="../../../Work/roadmap/面试法则/反向面试" data-for="Work/roadmap/面试法则/反向面试">反向面试</a></li></li><li><li><a href="../../../Work/roadmap/面试法则/面试-10-大常见问题" data-for="Work/roadmap/面试法则/面试-10-大常见问题">面试 10 大常见问题</a></li></li></ul></div></div></li><li><li><a href="../../../Work/roadmap/home" data-for="Work/roadmap/home">求职之路</a></li></li></ul></div></div></li><li><div><div class="folder-container"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="5 8 14 8" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="folder-icon"><polyline points="6 9 12 15 18 9"></polyline></svg><div data-folderpath="/Work/sre-engineer"><button class="folder-button"><p class="folder-title">sre-engineer</p></button></div></div><div class="folder-outer "><ul style="padding-left:1.4rem;" class="content" data-folderul="/Work/sre-engineer"><li><li><a href="../../../Work/sre-engineer/home" data-for="Work/sre-engineer/home">SRE (站点可靠性工程师)</a></li></li></ul></div></div></li></ul></div></div></li></ul></div></div></li><li id="explorer-end"></li></ul></div></div></div></div><footer class><hr/><p>Created with <a href="https://quartz.jzhao.xyz/">Quartz v4.1.0</a>, © 2024</p><ul><li><a href="https://www.7wate.com">Home</a></li><li><a href="https://blog.7wate.com">Blog</a></li><li><a href="https://github.com/7wate">GitHub</a></li></ul></footer></div></body><script type="application/javascript">// quartz/components/scripts/quartz/components/scripts/callout.inline.ts
|
||
function toggleCallout() {
|
||
const outerBlock = this.parentElement;
|
||
outerBlock.classList.toggle(`is-collapsed`);
|
||
const collapsed = outerBlock.classList.contains(`is-collapsed`);
|
||
const height = collapsed ? this.scrollHeight : outerBlock.scrollHeight;
|
||
outerBlock.style.maxHeight = height + `px`;
|
||
let current = outerBlock;
|
||
let parent = outerBlock.parentElement;
|
||
while (parent) {
|
||
if (!parent.classList.contains(`callout`)) {
|
||
return;
|
||
}
|
||
const collapsed2 = parent.classList.contains(`is-collapsed`);
|
||
const height2 = collapsed2 ? parent.scrollHeight : parent.scrollHeight + current.scrollHeight;
|
||
parent.style.maxHeight = height2 + `px`;
|
||
current = parent;
|
||
parent = parent.parentElement;
|
||
}
|
||
}
|
||
function setupCallout() {
|
||
const collapsible = document.getElementsByClassName(
|
||
`callout is-collapsible`
|
||
);
|
||
for (const div of collapsible) {
|
||
const title = div.firstElementChild;
|
||
if (title) {
|
||
title.removeEventListener(`click`, toggleCallout);
|
||
title.addEventListener(`click`, toggleCallout);
|
||
const collapsed = div.classList.contains(`is-collapsed`);
|
||
const height = collapsed ? title.scrollHeight : div.scrollHeight;
|
||
div.style.maxHeight = height + `px`;
|
||
}
|
||
}
|
||
}
|
||
document.addEventListener(`nav`, setupCallout);
|
||
window.addEventListener(`resize`, setupCallout);
|
||
</script><script type="module">
|
||
import mermaid from 'https://cdn.jsdelivr.net/npm/mermaid/dist/mermaid.esm.min.mjs';
|
||
const darkMode = document.documentElement.getAttribute('saved-theme') === 'dark'
|
||
mermaid.initialize({
|
||
startOnLoad: false,
|
||
securityLevel: 'loose',
|
||
theme: darkMode ? 'dark' : 'default'
|
||
});
|
||
document.addEventListener('nav', async () => {
|
||
await mermaid.run({
|
||
querySelector: '.mermaid'
|
||
})
|
||
});
|
||
</script><script src="https://cdn.jsdelivr.net/npm/katex@0.16.7/dist/contrib/copy-tex.min.js" type="application/javascript"></script><script src="../../../postscript.js" type="module"></script></html> |