From 9b757d3c8cefbb66b20eba0ea674a6a226c06f04 Mon Sep 17 00:00:00 2001 From: zhanghuid Date: Tue, 13 Aug 2024 03:43:39 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20pages=20from=20=20@=20d6564b52?= =?UTF-8?q?8cbacb125f7ed0d15395a0474b2298a3=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- data.js | 2 +- data.json | 2 +- docs/lang/php/phpbrew.html | 3 +- .../git-\345\256\236\350\267\265.html" | 3 +- docs/shortcut/sourcetree.html | 3 +- docs/software/backend/mysql.html | 5 +- docs/software/backend/nginx.html | 1601 +---------------- docs/software/backend/redis.html | 3 +- docs/software/docker.html | 3 +- docs/software/frontend/build.html | 5 +- docs/software/frontend/pm2.html | 3 +- docs/software/{backend => }/mitmproxy.html | 15 +- docs/system/linux/audit.html | 83 + .../system/linux/dd.html | 23 +- docs/{lang => system}/linux/ps.html | 2 +- docs/{lang => system}/linux/tcpdump.html | 5 +- docs/{lang => system}/linux/top.html | 2 +- index.html | 34 +- 18 files changed, 162 insertions(+), 1635 deletions(-) rename docs/software/{backend => }/mitmproxy.html (86%) create mode 100644 docs/system/linux/audit.html rename "docs/practice/Linux-dd-\345\256\236\350\267\265.html" => docs/system/linux/dd.html (85%) rename docs/{lang => system}/linux/ps.html (93%) rename docs/{lang => system}/linux/tcpdump.html (93%) rename docs/{lang => system}/linux/top.html (94%) diff --git a/data.js b/data.js index 340e03ee2ec..9e4ce8d8d7f 100644 --- a/data.js +++ b/data.js @@ -1 +1 @@ -const REFS_DATA = [{"title":"curl 的具体实践","path":"docs/practice/CURL-实践.html","intro":"curl 的具体实践\n\n入门,为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#入门","t":"入门","l":2},{"a":"#查看-进程运行-时长","t":"查看 进程运行 时长","l":2},{"a":"#curl","t":"curl","l":3},{"a":"#httpstat","t":"httpstat","l":3}],"name":"CURL-实践"},{"title":"linux - dd 命令","path":"docs/practice/Linux-dd-实践.html","intro":",为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#test-disk-write-speed","t":"TEST Disk WRITE Speed","l":2},{"a":"#命令","t":"命令","l":3},{"a":"#解释","t":"解释","l":3},{"a":"#test-disk-read-speed","t":"TEST Disk READ Speed","l":2},{"a":"#命令-1","t":"命令","l":3},{"a":"#解释-1","t":"解释","l":3}],"name":"Linux-dd-实践"},{"title":"GIT","path":"docs/practice/git-实践.html","intro":",为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#更改git已提交的useremail信息","t":"更改git已提交的user.email信息","l":2},{"a":"#操作步骤","t":"操作步骤","l":3},{"a":"#可能出现的问题","t":"可能出现的问题","l":3}],"name":"git-实践"},{"title":"SourceTree Keyboard Shortcuts","path":"docs/shortcut/sourcetree.html","intro":",为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#概览","t":"概览","l":2},{"a":"#navigation--menus","t":"Navigation & Menus","l":3},{"a":"#staging--commit-operations","t":"Staging & Commit Operations","l":3},{"a":"#removing-and-resetting-files","t":"Removing and resetting files","l":3},{"a":"#find","t":"Find","l":3},{"a":"#branch-operations","t":"Branch Operations","l":3},{"a":"#repository-operations","t":"Repository Operations","l":3},{"a":"#window-normal-mac-shortcuts","t":"Window (Normal Mac Shortcuts)","l":3}],"rgb":"500 168 255","name":"sourcetree","tags":[]},{"title":"Vim 备忘清单","path":"docs/shortcut/vim.html","intro":"Vim 8.2 快速参考备忘单的有用集合,可帮助您更快地学习 vim 编辑器。\n\n入门,为开发人员分享快速参考备忘单。","icon":"vim","sections":[{"a":"#入门","t":"入门","l":2},{"a":"#运动图","t":"运动图","l":3},{"a":"#动作","t":"动作","l":3},{"a":"#插入模式","t":"插入模式","l":3},{"a":"#保存和退出","t":"保存和退出","l":3},{"a":"#正常模式","t":"正常模式","l":3},{"a":"#剪切和粘贴","t":"剪切和粘贴","l":3},{"a":"#重复","t":"重复","l":3},{"a":"#可视化模式","t":"可视化模式","l":3},{"a":"#宏","t":"宏","l":3},{"a":"#vim-运算符","t":"Vim 运算符","l":2},{"a":"#用法","t":"用法","l":3},{"a":"#可用运算符","t":"可用运算符","l":3},{"a":"#例子","t":"例子","l":3},{"a":"#计数","t":"计数","l":3},{"a":"#vim-文本对象","t":"Vim 文本对象","l":2},{"a":"#用法-1","t":"用法","l":3},{"a":"#文本对象","t":"文本对象","l":3},{"a":"#删除","t":"删除","l":3},{"a":"#选择","t":"选择","l":3},{"a":"#杂项","t":"杂项","l":3},{"a":"#vim-多个文件","t":"Vim 多个文件","l":2},{"a":"#buffers-缓冲器","t":"Buffers (缓冲器)","l":3},{"a":"#窗口-1","t":"窗口","l":3},{"a":"#选项卡","t":"选项卡","l":3},{"a":"#vim-搜索和替换","t":"Vim 搜索和替换","l":2},{"a":"#搜索","t":"搜索","l":3},{"a":"#更换行","t":"更换行","l":3},{"a":"#替换文件","t":"替换文件","l":3},{"a":"#范围","t":"范围","l":3},{"a":"#全局命令","t":"全局命令","l":3},{"a":"#inverse逆-g","t":"Inverse(逆) :g","l":3},{"a":"#flags标志","t":"Flags(标志)","l":3},{"a":"#替换表达式魔术","t":"替换表达式(魔术)","l":3},{"a":"#例子-1","t":"例子","l":3},{"a":"#vimdiff","t":"Vimdiff","l":2},{"a":"#用法-2","t":"用法","l":3},{"a":"#编辑","t":"编辑","l":3},{"a":"#折叠","t":"折叠","l":3},{"a":"#跳跃","t":"跳跃","l":3},{"a":"#各种各样的","t":"各种各样的","l":2},{"a":"#case","t":"Case","l":3},{"a":"#跳跃-1","t":"跳跃","l":3},{"a":"#其他命令行","t":"其他命令行","l":3},{"a":"#导航","t":"导航","l":3},{"a":"#计数器","t":"计数器","l":3},{"a":"#选项卡-1","t":"选项卡","l":3},{"a":"#格式化","t":"格式化","l":3},{"a":"#标记","t":"标记","l":3},{"a":"#计算器","t":"计算器","l":3},{"a":"#shell","t":"Shell","l":3},{"a":"#命令行","t":"命令行","l":3},{"a":"#技巧","t":"技巧","l":3},{"a":"#理解-vim","t":"理解 Vim","l":2},{"a":"#动词理解","t":"动词理解","l":3},{"a":"#名词理解","t":"名词理解","l":3},{"a":"#介词理解","t":"介词理解","l":3},{"a":"#数词理解","t":"数词理解","l":3},{"a":"#组词为句理解","t":"组词为句理解","l":3}],"rgb":"500 168 255","name":"vim","tags":[]},{"title":"VSCode 备忘清单","path":"docs/shortcut/vscode.html","intro":"这个 VSCode (Visual Studio Code) 快速参考备忘单显示了它的键盘快捷键和命令。,为开发人员分享快速参考备忘单。","icon":"vscode","sections":[{"a":"#windows","t":"Windows","l":2},{"a":"#通用","t":"通用","l":3},{"a":"#基本编辑","t":"基本编辑","l":3},{"a":"#导航","t":"导航","l":3},{"a":"#搜索和替换","t":"搜索和替换","l":3},{"a":"#多光标和选择","t":"多光标和选择","l":3},{"a":"#丰富的语言编辑","t":"丰富的语言编辑","l":3},{"a":"#编辑管理","t":"编辑管理","l":3},{"a":"#文件管理","t":"文件管理","l":3},{"a":"#展示","t":"展示","l":3},{"a":"#调试","t":"调试","l":3}],"rgb":"500 168 255","name":"vscode","tags":[]},{"title":"Vimium 备忘清单","path":"docs/shortcut/vimium.html","intro":"这是开始使用 Vimium 浏览器扩展的快速参考备忘单,可以帮助用户更高效地浏览网页\n\n入门,为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#入门","t":"入门","l":2},{"a":"#功能特点","t":"功能特点","l":3},{"a":"#安装","t":"安装","l":3},{"a":"#快捷键自定义-1","t":"快捷键自定义","l":3},{"a":"#键盘快捷键","t":"键盘快捷键","l":2},{"a":"#基本导航","t":"基本导航","l":3},{"a":"#导航到新页面","t":"导航到新页面","l":3},{"a":"#浏览您的历史","t":"浏览您的历史","l":3},{"a":"#操作选项卡","t":"操作选项卡","l":3},{"a":"#链接操作","t":"链接操作","l":3},{"a":"#标签页操作","t":"标签页操作","l":3},{"a":"#搜索与复制","t":"搜索与复制","l":3},{"a":"#插入模式","t":"插入模式","l":3},{"a":"#开发者工具","t":"开发者工具","l":3}],"rgb":"500 168 255","name":"vimium","tags":[]},{"title":"Android Debug Bridge 备忘清单","path":"docs/lang/android/adb.html","intro":"ADB 既 Android Debug Bridge,是 Google 的 Android SDK 中的一个命令行工具,可让您的计算机控制 Android 设备执行各种设备操作。以下是您可以与 ADB 一起使用的一些最常见的命令及其用法\n\n入门,为开发人员分享快速参考备忘单。","icon":"adb","sections":[{"a":"#入门","t":"入门","l":2},{"a":"#设备基础","t":"设备基础","l":3},{"a":"#logcat","t":"Logcat","l":3},{"a":"#文件管理","t":"文件管理","l":3},{"a":"#远程-shell","t":"远程 Shell","l":3},{"a":"#包安装","t":"包安装","l":3},{"a":"#paths","t":"Paths","l":3},{"a":"#手机信息","t":"手机信息","l":3},{"a":"#包信息","t":"包信息","l":3},{"a":"#设备相关命令","t":"设备相关命令","l":3},{"a":"#权限","t":"权限","l":3},{"a":"#logs","t":"Logs","l":3},{"a":"#常见的-adb-命令","t":"常见的 ADB 命令","l":2},{"a":"#将文件推送到-android-设备的下载文件夹","t":"将文件推送到 Android 设备的下载文件夹","l":3},{"a":"#列出所有已安装的包并获取完整路径","t":"列出所有已安装的包并获取完整路径","l":3},{"a":"#从安卓设备中提取文件","t":"从安卓设备中提取文件","l":3},{"a":"#从主机安装-apk-到-android-设备","t":"从主机安装 APK 到 Android 设备","l":3},{"a":"#从-android-设备存储安装-apk","t":"从 Android 设备存储安装 APK","l":3},{"a":"#设置网络代理","t":"设置网络代理","l":3},{"a":"#禁用网络代理","t":"禁用网络代理","l":3},{"a":"#显示连接的设备并指定一个设备进行-shell","t":"显示连接的设备并指定一个设备进行 Shell","l":3},{"a":"#通过-ip-地址连接到设备","t":"通过 IP 地址连接到设备","l":3},{"a":"#通过-wi-fi-连接-adb","t":"通过 Wi-Fi 连接 ADB","l":3},{"a":"#将计算机上的-apk-文件安装到设备","t":"将计算机上的 APK 文件安装到设备","l":3},{"a":"#查找应用的-apk-路径","t":"查找应用的 APK 路径","l":3},{"a":"#通过名称查找应用的包名","t":"通过名称查找应用的包名","l":3},{"a":"#从设备提取-apk-到您的计算机","t":"从设备提取 APK 到您的计算机","l":3},{"a":"#将文件从计算机复制到设备","t":"将文件从计算机复制到设备","l":3},{"a":"#滚动屏幕","t":"滚动屏幕","l":3},{"a":"#发文本","t":"发文本","l":3},{"a":"#发送按键事件","t":"发送按键事件","l":3},{"a":"#发送点击","t":"发送点击","l":3},{"a":"#查看包的日志","t":"查看包的日志","l":3}],"rgb":"10 100 192","name":"adb","tags":[]},{"title":"ps","path":"docs/lang/linux/ps.html","intro":"这是开始使用 PS 命令快速参考备忘单,可以帮助用户更高效地浏览网页\n\n入门,为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#入门","t":"入门","l":2}],"rgb":"10 100 192","name":"ps","tags":[]},{"title":"tcpdump","path":"docs/lang/linux/tcpdump.html","intro":",为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#tcpdump-使用----选项类","t":"tcpdump 使用 -- 选项类","l":2},{"a":"#tcpdump-使用----过滤表达式类","t":"tcpdump 使用 -- 过滤表达式类","l":2}],"rgb":"10 200 192","name":"tcpdump","tags":[]},{"title":"top","path":"docs/lang/linux/top.html","intro":",为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#基本描述","t":"基本描述","l":2}],"rgb":"10 100 192","name":"top","tags":[]},{"title":"composer","path":"docs/lang/php/composer.html","intro":"emm... 其实 composer 的命令都是依赖 composer.phar 文件来的,使用 composer 命令,只不过是将其放到 $PATH 环境变量里,为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#installing-dependencies","t":"Installing dependencies","l":2},{"a":"#updating-packages","t":"Updating packages","l":2},{"a":"#updating-autoloader","t":"Updating autoloader","l":2},{"a":"#adding-packages","t":"Adding packages","l":2},{"a":"#passing-versions","t":"Passing versions","l":2}],"rgb":"100 107 192","name":"composer","tags":[]},{"title":"phpbrew","path":"docs/lang/php/phpbrew.html","intro":",为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#基础用法","t":"基础用法","l":2}],"rgb":"100 207 192","name":"phpbrew","tags":[]},{"title":"docker","path":"docs/software/docker.html","intro":",为开发人员分享快速参考备忘单。","icon":"docker","sections":[{"a":"#从容器创建一个新的镜像","t":"从容器创建一个新的镜像","l":2},{"a":"#docker-commit-example","t":"docker commit example","l":3},{"a":"#查看正在运行的容器","t":"查看正在运行的容器","l":3},{"a":"#查看停止的容器","t":"查看停止的容器","l":3},{"a":"#查看所有容器包括运行和停止","t":"查看所有容器(包括运行和停止)","l":3},{"a":"#命名容器","t":"命名容器","l":3},{"a":"#映射端口","t":"映射端口","l":3},{"a":"#挂载目录","t":"挂载目录","l":3},{"a":"#运行容器的-bash","t":"运行容器的 bash","l":3}],"rgb":"200 117 19","name":"docker","tags":[]},{"title":"mysql","path":"docs/software/backend/mysql.html","intro":"# DDL -- 数据定义语言,为开发人员分享快速参考备忘单。","icon":"mysql","sections":[{"a":"#ddl","t":"DDL","l":2},{"a":"#新增","t":"新增","l":3},{"a":"#切换","t":"切换","l":3},{"a":"#删除","t":"删除","l":3},{"a":"#修改","t":"修改","l":3},{"a":"#dql","t":"DQL","l":2},{"a":"#查询","t":"查询","l":3},{"a":"#关联查询","t":"关联查询","l":3},{"a":"#条件","t":"条件","l":3},{"a":"#dml","t":"DML","l":2},{"a":"#新增-1","t":"新增","l":3},{"a":"#删除-1","t":"删除","l":3},{"a":"#更新","t":"更新","l":3},{"a":"#create","t":"Create","l":2},{"a":"#example-1","t":"example 1","l":3},{"a":"#example-2","t":"example 2","l":3},{"a":"#example-3","t":"example 3","l":3},{"a":"#example-4","t":"example 4","l":3},{"a":"#example-5","t":"example 5","l":3},{"a":"#删除表","t":"删除表","l":3},{"a":"#更新表字段","t":"更新表字段","l":3},{"a":"#更改表字段顺序","t":"更改表字段顺序","l":3},{"a":"#新增索引","t":"新增索引","l":3},{"a":"#用户--权限","t":"用户 & 权限","l":2},{"a":"#创建用户","t":"创建用户","l":3},{"a":"#删除用户","t":"删除用户","l":3},{"a":"#授权","t":"授权","l":3},{"a":"#回收权限","t":"回收权限","l":3},{"a":"#重置密码","t":"重置密码","l":3},{"a":"#数据类型","t":"数据类型","l":2},{"a":"#主要的字段类型","t":"主要的字段类型","l":3},{"a":"#explain-extra-字段","t":"explain Extra 字段","l":2},{"a":"#using-where","t":"Using where","l":3},{"a":"#using-index","t":"Using index","l":3},{"a":"#using-index-condition","t":"Using index condition","l":3},{"a":"#using-filesort","t":"Using filesort","l":3},{"a":"#using-temporary","t":"Using temporary","l":3},{"a":"#using-join-buffer-block-nested-loop","t":"Using join buffer (Block Nested Loop)","l":3},{"a":"#内置工具","t":"内置工具","l":2},{"a":"#备份数据库文件","t":"备份数据库文件","l":3},{"a":"#从-sql-文件恢复","t":"从 sql 文件恢复","l":3},{"a":"#repair-tables-after-unclean-shutdown","t":"Repair Tables After Unclean Shutdown","l":3},{"a":"#重置-root-密码","t":"重置 root 密码","l":3},{"a":"#备忘","t":"备忘","l":2},{"a":"#sql","t":"sql","l":3}],"rgb":"200 0 0","name":"mysql","tags":[]},{"title":"mitmproxy","path":"docs/software/backend/mitmproxy.html","intro":",为开发人员分享快速参考备忘单。","icon":"mitmproxy","sections":[{"a":"#macos-安装","t":"MacOS 安装","l":2},{"a":"#证书","t":"证书","l":2}],"rgb":"200 138 15","name":"mitmproxy","tags":[]},{"title":"nginx","path":"docs/software/backend/nginx.html","intro":",为开发人员分享快速参考备忘单。","icon":"nginx","sections":[{"a":"#ngx_http_fastcgi_module","t":"ngx_http_fastcgi_module","l":2},{"a":"#示例配置","t":"示例配置","l":2},{"a":"#指令","t":"指令","l":2},{"a":"#fastcgi_bind","t":"fastcgi_bind","l":3},{"a":"#fastcgi_buffer_size","t":"fastcgi_buffer_size","l":3},{"a":"#fastcgi_buffering","t":"fastcgi_buffering","l":3},{"a":"#fastcgi_buffes","t":"fastcgi_buffes","l":3},{"a":"#fastcgi_busy_buffers_size","t":"fastcgi_busy_buffers_size","l":3},{"a":"#fastcgi_cache","t":"fastcgi_cache","l":3},{"a":"#fastcgi_cache_background_update","t":"fastcgi_cache_background_update","l":3},{"a":"#fastcgi_cache_bypass","t":"fastcgi_cache_bypass","l":3},{"a":"#fastcgi_cache_key","t":"fastcgi_cache_key","l":3},{"a":"#fastcgi_cache_lock","t":"fastcgi_cache_lock","l":3},{"a":"#fastcgi_cache_lock_age","t":"fastcgi_cache_lock_age","l":3},{"a":"#fastcgi_cache_lock_timeout","t":"fastcgi_cache_lock_timeout","l":3},{"a":"#fastcgi_cache_max_range_offset","t":"fastcgi_cache_max_range_offset","l":3},{"a":"#fastcgi_cache_methods","t":"fastcgi_cache_methods","l":3},{"a":"#fastcgi_cache_min_uses","t":"fastcgi_cache_min_uses","l":3},{"a":"#fastcgi_cache_path","t":"fastcgi_cache_path","l":3},{"a":"#fastcgi_cache_purge","t":"fastcgi_cache_purge","l":3},{"a":"#fastcgi_cache_revalidate","t":"fastcgi_cache_revalidate","l":3},{"a":"#fastcgi_cache_use_stale","t":"fastcgi_cache_use_stale","l":3},{"a":"#fastcgi_cache_valid","t":"fastcgi_cache_valid","l":3},{"a":"#fastcgi_catch_stderr","t":"fastcgi_catch_stderr","l":3},{"a":"#fastcgi_connect_timeout","t":"fastcgi_connect_timeout","l":3},{"a":"#fastcgi_force_ranges","t":"fastcgi_force_ranges","l":3},{"a":"#fastcgi_hide_header","t":"fastcgi_hide_header","l":3},{"a":"#fastcgi_ignore_client_abort","t":"fastcgi_ignore_client_abort","l":3},{"a":"#fastcgi_ignore_headers","t":"fastcgi_ignore_headers","l":3},{"a":"#fastcgi_index","t":"fastcgi_index","l":3},{"a":"#fastcgi_intercept_errors","t":"fastcgi_intercept_errors","l":3},{"a":"#fastcgi_keep_conn","t":"fastcgi_keep_conn","l":3},{"a":"#fastcgi_limit_rate","t":"fastcgi_limit_rate","l":3},{"a":"#fastcgi_max_temp_file_size","t":"fastcgi_max_temp_file_size","l":3},{"a":"#fastcgi_next_upstream","t":"fastcgi_next_upstream","l":3},{"a":"#fastcgi_next_upstream_timeout","t":"fastcgi_next_upstream_timeout","l":3},{"a":"#fastcgi_next_upstream_tries","t":"fastcgi_next_upstream_tries","l":3},{"a":"#fastcgi_no_cache","t":"fastcgi_no_cache","l":3},{"a":"#fastcgi_param","t":"fastcgi_param","l":3},{"a":"#fastcgi_pass","t":"fastcgi_pass","l":3},{"a":"#fastcgi_pass_header","t":"fastcgi_pass_header","l":3},{"a":"#fastcgi_pass_request_body","t":"fastcgi_pass_request_body","l":3},{"a":"#fastcgi_pass_request_headers","t":"fastcgi_pass_request_headers","l":3},{"a":"#fastcgi_read_timeout","t":"fastcgi_read_timeout","l":3},{"a":"#fastcgi_request_buffering","t":"fastcgi_request_buffering","l":3},{"a":"#fastcgi_send_lowat","t":"fastcgi_send_lowat","l":3},{"a":"#fastcgi_send_timeout","t":"fastcgi_send_timeout","l":3},{"a":"#fastcgi_split_path_info","t":"fastcgi_split_path_info","l":3},{"a":"#fastcgi_store","t":"fastcgi_store","l":3},{"a":"#fastcgi_store_access","t":"fastcgi_store_access","l":3},{"a":"#fastcgi_temp_file_write_size","t":"fastcgi_temp_file_write_size","l":3},{"a":"#fastcgi_temp_path","t":"fastcgi_temp_path","l":3},{"a":"#传参到-fastcgi-服务器","t":"传参到 FastCGI 服务器","l":2},{"a":"#内嵌变量","t":"内嵌变量","l":2}],"rgb":"200 138 13","name":"nginx","tags":[]},{"title":"redis","path":"docs/software/backend/redis.html","intro":",为开发人员分享快速参考备忘单。","icon":"redis","sections":[{"a":"#查询","t":"查询","l":2},{"a":"#memory-内存信息","t":"memory 内存信息","l":2},{"a":"#strings","t":"Strings","l":2},{"a":"#databases","t":"Databases","l":2},{"a":"#hashes","t":"Hashes","l":2},{"a":"#sets","t":"Sets","l":2},{"a":"#sortedsets","t":"SortedSets","l":2},{"a":"#lists","t":"Lists","l":2},{"a":"#clientserver","t":"Client/Server","l":2},{"a":"#scripts","t":"Scripts","l":2}],"rgb":"200 138 13","name":"redis","tags":[]},{"title":"前端构建工具备忘","path":"docs/software/frontend/build.html","intro":"# 缓存,为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#npm","t":"npm","l":2},{"a":"#查看缓存路径","t":"查看缓存路径","l":3},{"a":"#清除缓存","t":"清除缓存","l":3},{"a":"#缓存验证","t":"缓存验证","l":3},{"a":"#pnpm","t":"pnpm","l":2},{"a":"#查看缓存路径-1","t":"查看缓存路径","l":3},{"a":"#清除缓存-1","t":"清除缓存","l":3},{"a":"#yarn","t":"yarn","l":2},{"a":"#查看缓存列表","t":"查看缓存列表","l":3},{"a":"#查看缓存路径-2","t":"查看缓存路径","l":3},{"a":"#清除缓存-2","t":"清除缓存","l":3},{"a":"#缓存验证-1","t":"缓存验证","l":3}],"rgb":"300 250 192","name":"build","tags":[]},{"title":"pm2","path":"docs/software/frontend/pm2.html","intro":"pm2,为开发人员分享快速参考备忘单。","icon":"pm2","sections":[{"a":"#fork-mode","t":"Fork mode","l":2},{"a":"#cluster-mode","t":"Cluster mode","l":2},{"a":"#listing","t":"Listing","l":2},{"a":"#logs","t":"Logs","l":2},{"a":"#actions","t":"Actions","l":2}],"rgb":"300 250 192","name":"pm2","tags":[]}] \ No newline at end of file +const REFS_DATA = [{"title":"curl 的具体实践","path":"docs/practice/CURL-实践.html","intro":"curl 的具体实践\n\n入门,为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#入门","t":"入门","l":2},{"a":"#查看-进程运行-时长","t":"查看 进程运行 时长","l":2},{"a":"#curl","t":"curl","l":3},{"a":"#httpstat","t":"httpstat","l":3}],"name":"CURL-实践"},{"title":"GIT","path":"docs/practice/git-实践.html","intro":"不常见操作的备忘,为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#更改git已提交的useremail信息","t":"更改git已提交的user.email信息","l":2},{"a":"#操作步骤","t":"操作步骤","l":3},{"a":"#可能出现的问题","t":"可能出现的问题","l":3}],"name":"git-实践"},{"title":"SourceTree Keyboard Shortcuts","path":"docs/shortcut/sourcetree.html","intro":"简明手册,为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#概览","t":"概览","l":2},{"a":"#navigation--menus","t":"Navigation & Menus","l":3},{"a":"#staging--commit-operations","t":"Staging & Commit Operations","l":3},{"a":"#removing-and-resetting-files","t":"Removing and resetting files","l":3},{"a":"#find","t":"Find","l":3},{"a":"#branch-operations","t":"Branch Operations","l":3},{"a":"#repository-operations","t":"Repository Operations","l":3},{"a":"#window-normal-mac-shortcuts","t":"Window (Normal Mac Shortcuts)","l":3}],"rgb":"500 168 255","name":"sourcetree","tags":[]},{"title":"Vim 备忘清单","path":"docs/shortcut/vim.html","intro":"Vim 8.2 快速参考备忘单的有用集合,可帮助您更快地学习 vim 编辑器。\n\n入门,为开发人员分享快速参考备忘单。","icon":"vim","sections":[{"a":"#入门","t":"入门","l":2},{"a":"#运动图","t":"运动图","l":3},{"a":"#动作","t":"动作","l":3},{"a":"#插入模式","t":"插入模式","l":3},{"a":"#保存和退出","t":"保存和退出","l":3},{"a":"#正常模式","t":"正常模式","l":3},{"a":"#剪切和粘贴","t":"剪切和粘贴","l":3},{"a":"#重复","t":"重复","l":3},{"a":"#可视化模式","t":"可视化模式","l":3},{"a":"#宏","t":"宏","l":3},{"a":"#vim-运算符","t":"Vim 运算符","l":2},{"a":"#用法","t":"用法","l":3},{"a":"#可用运算符","t":"可用运算符","l":3},{"a":"#例子","t":"例子","l":3},{"a":"#计数","t":"计数","l":3},{"a":"#vim-文本对象","t":"Vim 文本对象","l":2},{"a":"#用法-1","t":"用法","l":3},{"a":"#文本对象","t":"文本对象","l":3},{"a":"#删除","t":"删除","l":3},{"a":"#选择","t":"选择","l":3},{"a":"#杂项","t":"杂项","l":3},{"a":"#vim-多个文件","t":"Vim 多个文件","l":2},{"a":"#buffers-缓冲器","t":"Buffers (缓冲器)","l":3},{"a":"#窗口-1","t":"窗口","l":3},{"a":"#选项卡","t":"选项卡","l":3},{"a":"#vim-搜索和替换","t":"Vim 搜索和替换","l":2},{"a":"#搜索","t":"搜索","l":3},{"a":"#更换行","t":"更换行","l":3},{"a":"#替换文件","t":"替换文件","l":3},{"a":"#范围","t":"范围","l":3},{"a":"#全局命令","t":"全局命令","l":3},{"a":"#inverse逆-g","t":"Inverse(逆) :g","l":3},{"a":"#flags标志","t":"Flags(标志)","l":3},{"a":"#替换表达式魔术","t":"替换表达式(魔术)","l":3},{"a":"#例子-1","t":"例子","l":3},{"a":"#vimdiff","t":"Vimdiff","l":2},{"a":"#用法-2","t":"用法","l":3},{"a":"#编辑","t":"编辑","l":3},{"a":"#折叠","t":"折叠","l":3},{"a":"#跳跃","t":"跳跃","l":3},{"a":"#各种各样的","t":"各种各样的","l":2},{"a":"#case","t":"Case","l":3},{"a":"#跳跃-1","t":"跳跃","l":3},{"a":"#其他命令行","t":"其他命令行","l":3},{"a":"#导航","t":"导航","l":3},{"a":"#计数器","t":"计数器","l":3},{"a":"#选项卡-1","t":"选项卡","l":3},{"a":"#格式化","t":"格式化","l":3},{"a":"#标记","t":"标记","l":3},{"a":"#计算器","t":"计算器","l":3},{"a":"#shell","t":"Shell","l":3},{"a":"#命令行","t":"命令行","l":3},{"a":"#技巧","t":"技巧","l":3},{"a":"#理解-vim","t":"理解 Vim","l":2},{"a":"#动词理解","t":"动词理解","l":3},{"a":"#名词理解","t":"名词理解","l":3},{"a":"#介词理解","t":"介词理解","l":3},{"a":"#数词理解","t":"数词理解","l":3},{"a":"#组词为句理解","t":"组词为句理解","l":3}],"rgb":"500 168 255","name":"vim","tags":[]},{"title":"VSCode 备忘清单","path":"docs/shortcut/vscode.html","intro":"这个 VSCode (Visual Studio Code) 快速参考备忘单显示了它的键盘快捷键和命令。,为开发人员分享快速参考备忘单。","icon":"vscode","sections":[{"a":"#windows","t":"Windows","l":2},{"a":"#通用","t":"通用","l":3},{"a":"#基本编辑","t":"基本编辑","l":3},{"a":"#导航","t":"导航","l":3},{"a":"#搜索和替换","t":"搜索和替换","l":3},{"a":"#多光标和选择","t":"多光标和选择","l":3},{"a":"#丰富的语言编辑","t":"丰富的语言编辑","l":3},{"a":"#编辑管理","t":"编辑管理","l":3},{"a":"#文件管理","t":"文件管理","l":3},{"a":"#展示","t":"展示","l":3},{"a":"#调试","t":"调试","l":3}],"rgb":"500 168 255","name":"vscode","tags":[]},{"title":"Vimium 备忘清单","path":"docs/shortcut/vimium.html","intro":"这是开始使用 Vimium 浏览器扩展的快速参考备忘单,可以帮助用户更高效地浏览网页\n\n入门,为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#入门","t":"入门","l":2},{"a":"#功能特点","t":"功能特点","l":3},{"a":"#安装","t":"安装","l":3},{"a":"#快捷键自定义-1","t":"快捷键自定义","l":3},{"a":"#键盘快捷键","t":"键盘快捷键","l":2},{"a":"#基本导航","t":"基本导航","l":3},{"a":"#导航到新页面","t":"导航到新页面","l":3},{"a":"#浏览您的历史","t":"浏览您的历史","l":3},{"a":"#操作选项卡","t":"操作选项卡","l":3},{"a":"#链接操作","t":"链接操作","l":3},{"a":"#标签页操作","t":"标签页操作","l":3},{"a":"#搜索与复制","t":"搜索与复制","l":3},{"a":"#插入模式","t":"插入模式","l":3},{"a":"#开发者工具","t":"开发者工具","l":3}],"rgb":"500 168 255","name":"vimium","tags":[]},{"title":"Android Debug Bridge 备忘清单","path":"docs/lang/android/adb.html","intro":"ADB 既 Android Debug Bridge,是 Google 的 Android SDK 中的一个命令行工具,可让您的计算机控制 Android 设备执行各种设备操作。以下是您可以与 ADB 一起使用的一些最常见的命令及其用法\n\n入门,为开发人员分享快速参考备忘单。","icon":"adb","sections":[{"a":"#入门","t":"入门","l":2},{"a":"#设备基础","t":"设备基础","l":3},{"a":"#logcat","t":"Logcat","l":3},{"a":"#文件管理","t":"文件管理","l":3},{"a":"#远程-shell","t":"远程 Shell","l":3},{"a":"#包安装","t":"包安装","l":3},{"a":"#paths","t":"Paths","l":3},{"a":"#手机信息","t":"手机信息","l":3},{"a":"#包信息","t":"包信息","l":3},{"a":"#设备相关命令","t":"设备相关命令","l":3},{"a":"#权限","t":"权限","l":3},{"a":"#logs","t":"Logs","l":3},{"a":"#常见的-adb-命令","t":"常见的 ADB 命令","l":2},{"a":"#将文件推送到-android-设备的下载文件夹","t":"将文件推送到 Android 设备的下载文件夹","l":3},{"a":"#列出所有已安装的包并获取完整路径","t":"列出所有已安装的包并获取完整路径","l":3},{"a":"#从安卓设备中提取文件","t":"从安卓设备中提取文件","l":3},{"a":"#从主机安装-apk-到-android-设备","t":"从主机安装 APK 到 Android 设备","l":3},{"a":"#从-android-设备存储安装-apk","t":"从 Android 设备存储安装 APK","l":3},{"a":"#设置网络代理","t":"设置网络代理","l":3},{"a":"#禁用网络代理","t":"禁用网络代理","l":3},{"a":"#显示连接的设备并指定一个设备进行-shell","t":"显示连接的设备并指定一个设备进行 Shell","l":3},{"a":"#通过-ip-地址连接到设备","t":"通过 IP 地址连接到设备","l":3},{"a":"#通过-wi-fi-连接-adb","t":"通过 Wi-Fi 连接 ADB","l":3},{"a":"#将计算机上的-apk-文件安装到设备","t":"将计算机上的 APK 文件安装到设备","l":3},{"a":"#查找应用的-apk-路径","t":"查找应用的 APK 路径","l":3},{"a":"#通过名称查找应用的包名","t":"通过名称查找应用的包名","l":3},{"a":"#从设备提取-apk-到您的计算机","t":"从设备提取 APK 到您的计算机","l":3},{"a":"#将文件从计算机复制到设备","t":"将文件从计算机复制到设备","l":3},{"a":"#滚动屏幕","t":"滚动屏幕","l":3},{"a":"#发文本","t":"发文本","l":3},{"a":"#发送按键事件","t":"发送按键事件","l":3},{"a":"#发送点击","t":"发送点击","l":3},{"a":"#查看包的日志","t":"查看包的日志","l":3}],"rgb":"10 100 192","name":"adb","tags":[]},{"title":"composer","path":"docs/lang/php/composer.html","intro":"emm... 其实 composer 的命令都是依赖 composer.phar 文件来的,使用 composer 命令,只不过是将其放到 $PATH 环境变量里,为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#installing-dependencies","t":"Installing dependencies","l":2},{"a":"#updating-packages","t":"Updating packages","l":2},{"a":"#updating-autoloader","t":"Updating autoloader","l":2},{"a":"#adding-packages","t":"Adding packages","l":2},{"a":"#passing-versions","t":"Passing versions","l":2}],"rgb":"100 107 192","name":"composer","tags":[]},{"title":"phpbrew","path":"docs/lang/php/phpbrew.html","intro":"php 版本的 Homebrew,为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#基础用法","t":"基础用法","l":2}],"rgb":"100 207 192","name":"phpbrew","tags":[]},{"title":"docker","path":"docs/software/docker.html","intro":"简明手册,为开发人员分享快速参考备忘单。","icon":"docker","sections":[{"a":"#从容器创建一个新的镜像","t":"从容器创建一个新的镜像","l":2},{"a":"#docker-commit-example","t":"docker commit example","l":3},{"a":"#查看正在运行的容器","t":"查看正在运行的容器","l":3},{"a":"#查看停止的容器","t":"查看停止的容器","l":3},{"a":"#查看所有容器包括运行和停止","t":"查看所有容器(包括运行和停止)","l":3},{"a":"#命名容器","t":"命名容器","l":3},{"a":"#映射端口","t":"映射端口","l":3},{"a":"#挂载目录","t":"挂载目录","l":3},{"a":"#运行容器的-bash","t":"运行容器的 bash","l":3}],"rgb":"200 117 19","name":"docker","tags":[]},{"title":"mitmproxy","path":"docs/software/mitmproxy.html","intro":"简明手册,为开发人员分享快速参考备忘单。","icon":"mitmproxy","sections":[{"a":"#macos-安装","t":"MacOS 安装","l":2},{"a":"#证书","t":"证书","l":2}],"rgb":"200 138 15","name":"mitmproxy","tags":[]},{"title":"mysql","path":"docs/software/backend/mysql.html","intro":"简明手册\n\n# DDL -- 数据定义语言,为开发人员分享快速参考备忘单。","icon":"mysql","sections":[{"a":"#ddl","t":"DDL","l":2},{"a":"#新增","t":"新增","l":3},{"a":"#切换","t":"切换","l":3},{"a":"#删除","t":"删除","l":3},{"a":"#修改","t":"修改","l":3},{"a":"#dql","t":"DQL","l":2},{"a":"#查询","t":"查询","l":3},{"a":"#关联查询","t":"关联查询","l":3},{"a":"#条件","t":"条件","l":3},{"a":"#dml","t":"DML","l":2},{"a":"#新增-1","t":"新增","l":3},{"a":"#删除-1","t":"删除","l":3},{"a":"#更新","t":"更新","l":3},{"a":"#create","t":"Create","l":2},{"a":"#example-1","t":"example 1","l":3},{"a":"#example-2","t":"example 2","l":3},{"a":"#example-3","t":"example 3","l":3},{"a":"#example-4","t":"example 4","l":3},{"a":"#example-5","t":"example 5","l":3},{"a":"#删除表","t":"删除表","l":3},{"a":"#更新表字段","t":"更新表字段","l":3},{"a":"#更改表字段顺序","t":"更改表字段顺序","l":3},{"a":"#新增索引","t":"新增索引","l":3},{"a":"#用户--权限","t":"用户 & 权限","l":2},{"a":"#创建用户","t":"创建用户","l":3},{"a":"#删除用户","t":"删除用户","l":3},{"a":"#授权","t":"授权","l":3},{"a":"#回收权限","t":"回收权限","l":3},{"a":"#重置密码","t":"重置密码","l":3},{"a":"#数据类型","t":"数据类型","l":2},{"a":"#主要的字段类型","t":"主要的字段类型","l":3},{"a":"#explain-extra-字段","t":"explain Extra 字段","l":2},{"a":"#using-where","t":"Using where","l":3},{"a":"#using-index","t":"Using index","l":3},{"a":"#using-index-condition","t":"Using index condition","l":3},{"a":"#using-filesort","t":"Using filesort","l":3},{"a":"#using-temporary","t":"Using temporary","l":3},{"a":"#using-join-buffer-block-nested-loop","t":"Using join buffer (Block Nested Loop)","l":3},{"a":"#内置工具","t":"内置工具","l":2},{"a":"#备份数据库文件","t":"备份数据库文件","l":3},{"a":"#从-sql-文件恢复","t":"从 sql 文件恢复","l":3},{"a":"#repair-tables-after-unclean-shutdown","t":"Repair Tables After Unclean Shutdown","l":3},{"a":"#重置-root-密码","t":"重置 root 密码","l":3},{"a":"#备忘","t":"备忘","l":2},{"a":"#sql","t":"sql","l":3}],"rgb":"200 0 0","name":"mysql","tags":[]},{"title":"nginx","path":"docs/software/backend/nginx.html","intro":"nginx 关于常用配置的手册,为开发人员分享快速参考备忘单。","icon":"nginx","sections":[{"a":"#变量","t":"变量","l":2},{"a":"#指令","t":"指令","l":2},{"a":"#模块","t":"模块","l":2},{"a":"#ngx_http_fastcgi_module","t":"ngx_http_fastcgi_module","l":3}],"rgb":"200 138 13","name":"nginx","tags":[]},{"title":"redis","path":"docs/software/backend/redis.html","intro":"简明手册,为开发人员分享快速参考备忘单。","icon":"redis","sections":[{"a":"#查询","t":"查询","l":2},{"a":"#memory-内存信息","t":"memory 内存信息","l":2},{"a":"#strings","t":"Strings","l":2},{"a":"#databases","t":"Databases","l":2},{"a":"#hashes","t":"Hashes","l":2},{"a":"#sets","t":"Sets","l":2},{"a":"#sortedsets","t":"SortedSets","l":2},{"a":"#lists","t":"Lists","l":2},{"a":"#clientserver","t":"Client/Server","l":2},{"a":"#scripts","t":"Scripts","l":2}],"rgb":"200 138 13","name":"redis","tags":[]},{"title":"前端构建工具备忘","path":"docs/software/frontend/build.html","intro":"简明手册\n\n# 缓存,为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#npm","t":"npm","l":2},{"a":"#查看缓存路径","t":"查看缓存路径","l":3},{"a":"#清除缓存","t":"清除缓存","l":3},{"a":"#缓存验证","t":"缓存验证","l":3},{"a":"#pnpm","t":"pnpm","l":2},{"a":"#查看缓存路径-1","t":"查看缓存路径","l":3},{"a":"#清除缓存-1","t":"清除缓存","l":3},{"a":"#yarn","t":"yarn","l":2},{"a":"#查看缓存列表","t":"查看缓存列表","l":3},{"a":"#查看缓存路径-2","t":"查看缓存路径","l":3},{"a":"#清除缓存-2","t":"清除缓存","l":3},{"a":"#缓存验证-1","t":"缓存验证","l":3}],"rgb":"300 250 192","name":"build","tags":[]},{"title":"pm2","path":"docs/software/frontend/pm2.html","intro":"pm2简明手册,为开发人员分享快速参考备忘单。","icon":"pm2","sections":[{"a":"#fork-mode","t":"Fork mode","l":2},{"a":"#cluster-mode","t":"Cluster mode","l":2},{"a":"#listing","t":"Listing","l":2},{"a":"#logs","t":"Logs","l":2},{"a":"#actions","t":"Actions","l":2}],"rgb":"300 250 192","name":"pm2","tags":[]},{"title":"audit 审计框架","path":"docs/system/linux/audit.html","intro":"auditd 是 Linux 的内核审计框架,能够记录与安全相关的系统事件。通过 auditd 可以获取更多关于删除事件的详细信息。,为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#监控删除目录事件","t":"监控删除目录事件","l":2},{"a":"#添加规则","t":"添加规则","l":3},{"a":"#按事件名称查询","t":"按事件名称查询","l":3},{"a":"#搜索","t":"搜索","l":3},{"a":"#删除事件","t":"删除事件","l":3},{"a":"#删除全部审计","t":"删除全部审计","l":2},{"a":"#命令-1","t":"命令","l":3}],"rgb":"10 100 193","name":"audit","tags":[]},{"title":"dd","path":"docs/system/linux/dd.html","intro":"简明手册,为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#test-disk-write-speed","t":"TEST Disk WRITE Speed","l":2},{"a":"#命令","t":"命令","l":3},{"a":"#解释","t":"解释","l":3},{"a":"#test-disk-read-speed","t":"TEST Disk READ Speed","l":2},{"a":"#命令-1","t":"命令","l":3},{"a":"#解释-1","t":"解释","l":3}],"rgb":"10 100 193","name":"dd","tags":[]},{"title":"ps","path":"docs/system/linux/ps.html","intro":"这是开始使用 PS 命令快速参考备忘单,可以帮助用户更高效地浏览网页\n\n入门,为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#入门","t":"入门","l":2}],"rgb":"10 100 192","name":"ps","tags":[]},{"title":"tcpdump","path":"docs/system/linux/tcpdump.html","intro":"tcpdump 简明手册,为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#tcpdump-使用----选项类","t":"tcpdump 使用 -- 选项类","l":2},{"a":"#tcpdump-使用----过滤表达式类","t":"tcpdump 使用 -- 过滤表达式类","l":2}],"rgb":"10 200 192","name":"tcpdump","tags":[]},{"title":"top","path":"docs/system/linux/top.html","intro":",为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#基本描述","t":"基本描述","l":2}],"rgb":"10 100 192","name":"top","tags":[]}] \ No newline at end of file diff --git a/data.json b/data.json index 6b340cb2e11..d59d2bfb20b 100644 --- a/data.json +++ b/data.json @@ -1 +1 @@ -[{"title":"curl 的具体实践","path":"docs/practice/CURL-实践.html","intro":"curl 的具体实践\n\n入门,为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#入门","t":"入门","l":2},{"a":"#查看-进程运行-时长","t":"查看 进程运行 时长","l":2},{"a":"#curl","t":"curl","l":3},{"a":"#httpstat","t":"httpstat","l":3}],"name":"CURL-实践"},{"title":"linux - dd 命令","path":"docs/practice/Linux-dd-实践.html","intro":",为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#test-disk-write-speed","t":"TEST Disk WRITE Speed","l":2},{"a":"#命令","t":"命令","l":3},{"a":"#解释","t":"解释","l":3},{"a":"#test-disk-read-speed","t":"TEST Disk READ Speed","l":2},{"a":"#命令-1","t":"命令","l":3},{"a":"#解释-1","t":"解释","l":3}],"name":"Linux-dd-实践"},{"title":"GIT","path":"docs/practice/git-实践.html","intro":",为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#更改git已提交的useremail信息","t":"更改git已提交的user.email信息","l":2},{"a":"#操作步骤","t":"操作步骤","l":3},{"a":"#可能出现的问题","t":"可能出现的问题","l":3}],"name":"git-实践"},{"title":"SourceTree Keyboard Shortcuts","path":"docs/shortcut/sourcetree.html","intro":",为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#概览","t":"概览","l":2},{"a":"#navigation--menus","t":"Navigation & Menus","l":3},{"a":"#staging--commit-operations","t":"Staging & Commit Operations","l":3},{"a":"#removing-and-resetting-files","t":"Removing and resetting files","l":3},{"a":"#find","t":"Find","l":3},{"a":"#branch-operations","t":"Branch Operations","l":3},{"a":"#repository-operations","t":"Repository Operations","l":3},{"a":"#window-normal-mac-shortcuts","t":"Window (Normal Mac Shortcuts)","l":3}],"rgb":"500 168 255","name":"sourcetree","tags":[]},{"title":"Vim 备忘清单","path":"docs/shortcut/vim.html","intro":"Vim 8.2 快速参考备忘单的有用集合,可帮助您更快地学习 vim 编辑器。\n\n入门,为开发人员分享快速参考备忘单。","icon":"vim","sections":[{"a":"#入门","t":"入门","l":2},{"a":"#运动图","t":"运动图","l":3},{"a":"#动作","t":"动作","l":3},{"a":"#插入模式","t":"插入模式","l":3},{"a":"#保存和退出","t":"保存和退出","l":3},{"a":"#正常模式","t":"正常模式","l":3},{"a":"#剪切和粘贴","t":"剪切和粘贴","l":3},{"a":"#重复","t":"重复","l":3},{"a":"#可视化模式","t":"可视化模式","l":3},{"a":"#宏","t":"宏","l":3},{"a":"#vim-运算符","t":"Vim 运算符","l":2},{"a":"#用法","t":"用法","l":3},{"a":"#可用运算符","t":"可用运算符","l":3},{"a":"#例子","t":"例子","l":3},{"a":"#计数","t":"计数","l":3},{"a":"#vim-文本对象","t":"Vim 文本对象","l":2},{"a":"#用法-1","t":"用法","l":3},{"a":"#文本对象","t":"文本对象","l":3},{"a":"#删除","t":"删除","l":3},{"a":"#选择","t":"选择","l":3},{"a":"#杂项","t":"杂项","l":3},{"a":"#vim-多个文件","t":"Vim 多个文件","l":2},{"a":"#buffers-缓冲器","t":"Buffers (缓冲器)","l":3},{"a":"#窗口-1","t":"窗口","l":3},{"a":"#选项卡","t":"选项卡","l":3},{"a":"#vim-搜索和替换","t":"Vim 搜索和替换","l":2},{"a":"#搜索","t":"搜索","l":3},{"a":"#更换行","t":"更换行","l":3},{"a":"#替换文件","t":"替换文件","l":3},{"a":"#范围","t":"范围","l":3},{"a":"#全局命令","t":"全局命令","l":3},{"a":"#inverse逆-g","t":"Inverse(逆) :g","l":3},{"a":"#flags标志","t":"Flags(标志)","l":3},{"a":"#替换表达式魔术","t":"替换表达式(魔术)","l":3},{"a":"#例子-1","t":"例子","l":3},{"a":"#vimdiff","t":"Vimdiff","l":2},{"a":"#用法-2","t":"用法","l":3},{"a":"#编辑","t":"编辑","l":3},{"a":"#折叠","t":"折叠","l":3},{"a":"#跳跃","t":"跳跃","l":3},{"a":"#各种各样的","t":"各种各样的","l":2},{"a":"#case","t":"Case","l":3},{"a":"#跳跃-1","t":"跳跃","l":3},{"a":"#其他命令行","t":"其他命令行","l":3},{"a":"#导航","t":"导航","l":3},{"a":"#计数器","t":"计数器","l":3},{"a":"#选项卡-1","t":"选项卡","l":3},{"a":"#格式化","t":"格式化","l":3},{"a":"#标记","t":"标记","l":3},{"a":"#计算器","t":"计算器","l":3},{"a":"#shell","t":"Shell","l":3},{"a":"#命令行","t":"命令行","l":3},{"a":"#技巧","t":"技巧","l":3},{"a":"#理解-vim","t":"理解 Vim","l":2},{"a":"#动词理解","t":"动词理解","l":3},{"a":"#名词理解","t":"名词理解","l":3},{"a":"#介词理解","t":"介词理解","l":3},{"a":"#数词理解","t":"数词理解","l":3},{"a":"#组词为句理解","t":"组词为句理解","l":3}],"rgb":"500 168 255","name":"vim","tags":[]},{"title":"VSCode 备忘清单","path":"docs/shortcut/vscode.html","intro":"这个 VSCode (Visual Studio Code) 快速参考备忘单显示了它的键盘快捷键和命令。,为开发人员分享快速参考备忘单。","icon":"vscode","sections":[{"a":"#windows","t":"Windows","l":2},{"a":"#通用","t":"通用","l":3},{"a":"#基本编辑","t":"基本编辑","l":3},{"a":"#导航","t":"导航","l":3},{"a":"#搜索和替换","t":"搜索和替换","l":3},{"a":"#多光标和选择","t":"多光标和选择","l":3},{"a":"#丰富的语言编辑","t":"丰富的语言编辑","l":3},{"a":"#编辑管理","t":"编辑管理","l":3},{"a":"#文件管理","t":"文件管理","l":3},{"a":"#展示","t":"展示","l":3},{"a":"#调试","t":"调试","l":3}],"rgb":"500 168 255","name":"vscode","tags":[]},{"title":"Vimium 备忘清单","path":"docs/shortcut/vimium.html","intro":"这是开始使用 Vimium 浏览器扩展的快速参考备忘单,可以帮助用户更高效地浏览网页\n\n入门,为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#入门","t":"入门","l":2},{"a":"#功能特点","t":"功能特点","l":3},{"a":"#安装","t":"安装","l":3},{"a":"#快捷键自定义-1","t":"快捷键自定义","l":3},{"a":"#键盘快捷键","t":"键盘快捷键","l":2},{"a":"#基本导航","t":"基本导航","l":3},{"a":"#导航到新页面","t":"导航到新页面","l":3},{"a":"#浏览您的历史","t":"浏览您的历史","l":3},{"a":"#操作选项卡","t":"操作选项卡","l":3},{"a":"#链接操作","t":"链接操作","l":3},{"a":"#标签页操作","t":"标签页操作","l":3},{"a":"#搜索与复制","t":"搜索与复制","l":3},{"a":"#插入模式","t":"插入模式","l":3},{"a":"#开发者工具","t":"开发者工具","l":3}],"rgb":"500 168 255","name":"vimium","tags":[]},{"title":"Android Debug Bridge 备忘清单","path":"docs/lang/android/adb.html","intro":"ADB 既 Android Debug Bridge,是 Google 的 Android SDK 中的一个命令行工具,可让您的计算机控制 Android 设备执行各种设备操作。以下是您可以与 ADB 一起使用的一些最常见的命令及其用法\n\n入门,为开发人员分享快速参考备忘单。","icon":"adb","sections":[{"a":"#入门","t":"入门","l":2},{"a":"#设备基础","t":"设备基础","l":3},{"a":"#logcat","t":"Logcat","l":3},{"a":"#文件管理","t":"文件管理","l":3},{"a":"#远程-shell","t":"远程 Shell","l":3},{"a":"#包安装","t":"包安装","l":3},{"a":"#paths","t":"Paths","l":3},{"a":"#手机信息","t":"手机信息","l":3},{"a":"#包信息","t":"包信息","l":3},{"a":"#设备相关命令","t":"设备相关命令","l":3},{"a":"#权限","t":"权限","l":3},{"a":"#logs","t":"Logs","l":3},{"a":"#常见的-adb-命令","t":"常见的 ADB 命令","l":2},{"a":"#将文件推送到-android-设备的下载文件夹","t":"将文件推送到 Android 设备的下载文件夹","l":3},{"a":"#列出所有已安装的包并获取完整路径","t":"列出所有已安装的包并获取完整路径","l":3},{"a":"#从安卓设备中提取文件","t":"从安卓设备中提取文件","l":3},{"a":"#从主机安装-apk-到-android-设备","t":"从主机安装 APK 到 Android 设备","l":3},{"a":"#从-android-设备存储安装-apk","t":"从 Android 设备存储安装 APK","l":3},{"a":"#设置网络代理","t":"设置网络代理","l":3},{"a":"#禁用网络代理","t":"禁用网络代理","l":3},{"a":"#显示连接的设备并指定一个设备进行-shell","t":"显示连接的设备并指定一个设备进行 Shell","l":3},{"a":"#通过-ip-地址连接到设备","t":"通过 IP 地址连接到设备","l":3},{"a":"#通过-wi-fi-连接-adb","t":"通过 Wi-Fi 连接 ADB","l":3},{"a":"#将计算机上的-apk-文件安装到设备","t":"将计算机上的 APK 文件安装到设备","l":3},{"a":"#查找应用的-apk-路径","t":"查找应用的 APK 路径","l":3},{"a":"#通过名称查找应用的包名","t":"通过名称查找应用的包名","l":3},{"a":"#从设备提取-apk-到您的计算机","t":"从设备提取 APK 到您的计算机","l":3},{"a":"#将文件从计算机复制到设备","t":"将文件从计算机复制到设备","l":3},{"a":"#滚动屏幕","t":"滚动屏幕","l":3},{"a":"#发文本","t":"发文本","l":3},{"a":"#发送按键事件","t":"发送按键事件","l":3},{"a":"#发送点击","t":"发送点击","l":3},{"a":"#查看包的日志","t":"查看包的日志","l":3}],"rgb":"10 100 192","name":"adb","tags":[]},{"title":"ps","path":"docs/lang/linux/ps.html","intro":"这是开始使用 PS 命令快速参考备忘单,可以帮助用户更高效地浏览网页\n\n入门,为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#入门","t":"入门","l":2}],"rgb":"10 100 192","name":"ps","tags":[]},{"title":"tcpdump","path":"docs/lang/linux/tcpdump.html","intro":",为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#tcpdump-使用----选项类","t":"tcpdump 使用 -- 选项类","l":2},{"a":"#tcpdump-使用----过滤表达式类","t":"tcpdump 使用 -- 过滤表达式类","l":2}],"rgb":"10 200 192","name":"tcpdump","tags":[]},{"title":"top","path":"docs/lang/linux/top.html","intro":",为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#基本描述","t":"基本描述","l":2}],"rgb":"10 100 192","name":"top","tags":[]},{"title":"composer","path":"docs/lang/php/composer.html","intro":"emm... 其实 composer 的命令都是依赖 composer.phar 文件来的,使用 composer 命令,只不过是将其放到 $PATH 环境变量里,为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#installing-dependencies","t":"Installing dependencies","l":2},{"a":"#updating-packages","t":"Updating packages","l":2},{"a":"#updating-autoloader","t":"Updating autoloader","l":2},{"a":"#adding-packages","t":"Adding packages","l":2},{"a":"#passing-versions","t":"Passing versions","l":2}],"rgb":"100 107 192","name":"composer","tags":[]},{"title":"phpbrew","path":"docs/lang/php/phpbrew.html","intro":",为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#基础用法","t":"基础用法","l":2}],"rgb":"100 207 192","name":"phpbrew","tags":[]},{"title":"docker","path":"docs/software/docker.html","intro":",为开发人员分享快速参考备忘单。","icon":"docker","sections":[{"a":"#从容器创建一个新的镜像","t":"从容器创建一个新的镜像","l":2},{"a":"#docker-commit-example","t":"docker commit example","l":3},{"a":"#查看正在运行的容器","t":"查看正在运行的容器","l":3},{"a":"#查看停止的容器","t":"查看停止的容器","l":3},{"a":"#查看所有容器包括运行和停止","t":"查看所有容器(包括运行和停止)","l":3},{"a":"#命名容器","t":"命名容器","l":3},{"a":"#映射端口","t":"映射端口","l":3},{"a":"#挂载目录","t":"挂载目录","l":3},{"a":"#运行容器的-bash","t":"运行容器的 bash","l":3}],"rgb":"200 117 19","name":"docker","tags":[]},{"title":"mysql","path":"docs/software/backend/mysql.html","intro":"# DDL -- 数据定义语言,为开发人员分享快速参考备忘单。","icon":"mysql","sections":[{"a":"#ddl","t":"DDL","l":2},{"a":"#新增","t":"新增","l":3},{"a":"#切换","t":"切换","l":3},{"a":"#删除","t":"删除","l":3},{"a":"#修改","t":"修改","l":3},{"a":"#dql","t":"DQL","l":2},{"a":"#查询","t":"查询","l":3},{"a":"#关联查询","t":"关联查询","l":3},{"a":"#条件","t":"条件","l":3},{"a":"#dml","t":"DML","l":2},{"a":"#新增-1","t":"新增","l":3},{"a":"#删除-1","t":"删除","l":3},{"a":"#更新","t":"更新","l":3},{"a":"#create","t":"Create","l":2},{"a":"#example-1","t":"example 1","l":3},{"a":"#example-2","t":"example 2","l":3},{"a":"#example-3","t":"example 3","l":3},{"a":"#example-4","t":"example 4","l":3},{"a":"#example-5","t":"example 5","l":3},{"a":"#删除表","t":"删除表","l":3},{"a":"#更新表字段","t":"更新表字段","l":3},{"a":"#更改表字段顺序","t":"更改表字段顺序","l":3},{"a":"#新增索引","t":"新增索引","l":3},{"a":"#用户--权限","t":"用户 & 权限","l":2},{"a":"#创建用户","t":"创建用户","l":3},{"a":"#删除用户","t":"删除用户","l":3},{"a":"#授权","t":"授权","l":3},{"a":"#回收权限","t":"回收权限","l":3},{"a":"#重置密码","t":"重置密码","l":3},{"a":"#数据类型","t":"数据类型","l":2},{"a":"#主要的字段类型","t":"主要的字段类型","l":3},{"a":"#explain-extra-字段","t":"explain Extra 字段","l":2},{"a":"#using-where","t":"Using where","l":3},{"a":"#using-index","t":"Using index","l":3},{"a":"#using-index-condition","t":"Using index condition","l":3},{"a":"#using-filesort","t":"Using filesort","l":3},{"a":"#using-temporary","t":"Using temporary","l":3},{"a":"#using-join-buffer-block-nested-loop","t":"Using join buffer (Block Nested Loop)","l":3},{"a":"#内置工具","t":"内置工具","l":2},{"a":"#备份数据库文件","t":"备份数据库文件","l":3},{"a":"#从-sql-文件恢复","t":"从 sql 文件恢复","l":3},{"a":"#repair-tables-after-unclean-shutdown","t":"Repair Tables After Unclean Shutdown","l":3},{"a":"#重置-root-密码","t":"重置 root 密码","l":3},{"a":"#备忘","t":"备忘","l":2},{"a":"#sql","t":"sql","l":3}],"rgb":"200 0 0","name":"mysql","tags":[]},{"title":"mitmproxy","path":"docs/software/backend/mitmproxy.html","intro":",为开发人员分享快速参考备忘单。","icon":"mitmproxy","sections":[{"a":"#macos-安装","t":"MacOS 安装","l":2},{"a":"#证书","t":"证书","l":2}],"rgb":"200 138 15","name":"mitmproxy","tags":[]},{"title":"nginx","path":"docs/software/backend/nginx.html","intro":",为开发人员分享快速参考备忘单。","icon":"nginx","sections":[{"a":"#ngx_http_fastcgi_module","t":"ngx_http_fastcgi_module","l":2},{"a":"#示例配置","t":"示例配置","l":2},{"a":"#指令","t":"指令","l":2},{"a":"#fastcgi_bind","t":"fastcgi_bind","l":3},{"a":"#fastcgi_buffer_size","t":"fastcgi_buffer_size","l":3},{"a":"#fastcgi_buffering","t":"fastcgi_buffering","l":3},{"a":"#fastcgi_buffes","t":"fastcgi_buffes","l":3},{"a":"#fastcgi_busy_buffers_size","t":"fastcgi_busy_buffers_size","l":3},{"a":"#fastcgi_cache","t":"fastcgi_cache","l":3},{"a":"#fastcgi_cache_background_update","t":"fastcgi_cache_background_update","l":3},{"a":"#fastcgi_cache_bypass","t":"fastcgi_cache_bypass","l":3},{"a":"#fastcgi_cache_key","t":"fastcgi_cache_key","l":3},{"a":"#fastcgi_cache_lock","t":"fastcgi_cache_lock","l":3},{"a":"#fastcgi_cache_lock_age","t":"fastcgi_cache_lock_age","l":3},{"a":"#fastcgi_cache_lock_timeout","t":"fastcgi_cache_lock_timeout","l":3},{"a":"#fastcgi_cache_max_range_offset","t":"fastcgi_cache_max_range_offset","l":3},{"a":"#fastcgi_cache_methods","t":"fastcgi_cache_methods","l":3},{"a":"#fastcgi_cache_min_uses","t":"fastcgi_cache_min_uses","l":3},{"a":"#fastcgi_cache_path","t":"fastcgi_cache_path","l":3},{"a":"#fastcgi_cache_purge","t":"fastcgi_cache_purge","l":3},{"a":"#fastcgi_cache_revalidate","t":"fastcgi_cache_revalidate","l":3},{"a":"#fastcgi_cache_use_stale","t":"fastcgi_cache_use_stale","l":3},{"a":"#fastcgi_cache_valid","t":"fastcgi_cache_valid","l":3},{"a":"#fastcgi_catch_stderr","t":"fastcgi_catch_stderr","l":3},{"a":"#fastcgi_connect_timeout","t":"fastcgi_connect_timeout","l":3},{"a":"#fastcgi_force_ranges","t":"fastcgi_force_ranges","l":3},{"a":"#fastcgi_hide_header","t":"fastcgi_hide_header","l":3},{"a":"#fastcgi_ignore_client_abort","t":"fastcgi_ignore_client_abort","l":3},{"a":"#fastcgi_ignore_headers","t":"fastcgi_ignore_headers","l":3},{"a":"#fastcgi_index","t":"fastcgi_index","l":3},{"a":"#fastcgi_intercept_errors","t":"fastcgi_intercept_errors","l":3},{"a":"#fastcgi_keep_conn","t":"fastcgi_keep_conn","l":3},{"a":"#fastcgi_limit_rate","t":"fastcgi_limit_rate","l":3},{"a":"#fastcgi_max_temp_file_size","t":"fastcgi_max_temp_file_size","l":3},{"a":"#fastcgi_next_upstream","t":"fastcgi_next_upstream","l":3},{"a":"#fastcgi_next_upstream_timeout","t":"fastcgi_next_upstream_timeout","l":3},{"a":"#fastcgi_next_upstream_tries","t":"fastcgi_next_upstream_tries","l":3},{"a":"#fastcgi_no_cache","t":"fastcgi_no_cache","l":3},{"a":"#fastcgi_param","t":"fastcgi_param","l":3},{"a":"#fastcgi_pass","t":"fastcgi_pass","l":3},{"a":"#fastcgi_pass_header","t":"fastcgi_pass_header","l":3},{"a":"#fastcgi_pass_request_body","t":"fastcgi_pass_request_body","l":3},{"a":"#fastcgi_pass_request_headers","t":"fastcgi_pass_request_headers","l":3},{"a":"#fastcgi_read_timeout","t":"fastcgi_read_timeout","l":3},{"a":"#fastcgi_request_buffering","t":"fastcgi_request_buffering","l":3},{"a":"#fastcgi_send_lowat","t":"fastcgi_send_lowat","l":3},{"a":"#fastcgi_send_timeout","t":"fastcgi_send_timeout","l":3},{"a":"#fastcgi_split_path_info","t":"fastcgi_split_path_info","l":3},{"a":"#fastcgi_store","t":"fastcgi_store","l":3},{"a":"#fastcgi_store_access","t":"fastcgi_store_access","l":3},{"a":"#fastcgi_temp_file_write_size","t":"fastcgi_temp_file_write_size","l":3},{"a":"#fastcgi_temp_path","t":"fastcgi_temp_path","l":3},{"a":"#传参到-fastcgi-服务器","t":"传参到 FastCGI 服务器","l":2},{"a":"#内嵌变量","t":"内嵌变量","l":2}],"rgb":"200 138 13","name":"nginx","tags":[]},{"title":"redis","path":"docs/software/backend/redis.html","intro":",为开发人员分享快速参考备忘单。","icon":"redis","sections":[{"a":"#查询","t":"查询","l":2},{"a":"#memory-内存信息","t":"memory 内存信息","l":2},{"a":"#strings","t":"Strings","l":2},{"a":"#databases","t":"Databases","l":2},{"a":"#hashes","t":"Hashes","l":2},{"a":"#sets","t":"Sets","l":2},{"a":"#sortedsets","t":"SortedSets","l":2},{"a":"#lists","t":"Lists","l":2},{"a":"#clientserver","t":"Client/Server","l":2},{"a":"#scripts","t":"Scripts","l":2}],"rgb":"200 138 13","name":"redis","tags":[]},{"title":"前端构建工具备忘","path":"docs/software/frontend/build.html","intro":"# 缓存,为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#npm","t":"npm","l":2},{"a":"#查看缓存路径","t":"查看缓存路径","l":3},{"a":"#清除缓存","t":"清除缓存","l":3},{"a":"#缓存验证","t":"缓存验证","l":3},{"a":"#pnpm","t":"pnpm","l":2},{"a":"#查看缓存路径-1","t":"查看缓存路径","l":3},{"a":"#清除缓存-1","t":"清除缓存","l":3},{"a":"#yarn","t":"yarn","l":2},{"a":"#查看缓存列表","t":"查看缓存列表","l":3},{"a":"#查看缓存路径-2","t":"查看缓存路径","l":3},{"a":"#清除缓存-2","t":"清除缓存","l":3},{"a":"#缓存验证-1","t":"缓存验证","l":3}],"rgb":"300 250 192","name":"build","tags":[]},{"title":"pm2","path":"docs/software/frontend/pm2.html","intro":"pm2,为开发人员分享快速参考备忘单。","icon":"pm2","sections":[{"a":"#fork-mode","t":"Fork mode","l":2},{"a":"#cluster-mode","t":"Cluster mode","l":2},{"a":"#listing","t":"Listing","l":2},{"a":"#logs","t":"Logs","l":2},{"a":"#actions","t":"Actions","l":2}],"rgb":"300 250 192","name":"pm2","tags":[]}] +[{"title":"curl 的具体实践","path":"docs/practice/CURL-实践.html","intro":"curl 的具体实践\n\n入门,为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#入门","t":"入门","l":2},{"a":"#查看-进程运行-时长","t":"查看 进程运行 时长","l":2},{"a":"#curl","t":"curl","l":3},{"a":"#httpstat","t":"httpstat","l":3}],"name":"CURL-实践"},{"title":"GIT","path":"docs/practice/git-实践.html","intro":"不常见操作的备忘,为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#更改git已提交的useremail信息","t":"更改git已提交的user.email信息","l":2},{"a":"#操作步骤","t":"操作步骤","l":3},{"a":"#可能出现的问题","t":"可能出现的问题","l":3}],"name":"git-实践"},{"title":"SourceTree Keyboard Shortcuts","path":"docs/shortcut/sourcetree.html","intro":"简明手册,为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#概览","t":"概览","l":2},{"a":"#navigation--menus","t":"Navigation & Menus","l":3},{"a":"#staging--commit-operations","t":"Staging & Commit Operations","l":3},{"a":"#removing-and-resetting-files","t":"Removing and resetting files","l":3},{"a":"#find","t":"Find","l":3},{"a":"#branch-operations","t":"Branch Operations","l":3},{"a":"#repository-operations","t":"Repository Operations","l":3},{"a":"#window-normal-mac-shortcuts","t":"Window (Normal Mac Shortcuts)","l":3}],"rgb":"500 168 255","name":"sourcetree","tags":[]},{"title":"Vim 备忘清单","path":"docs/shortcut/vim.html","intro":"Vim 8.2 快速参考备忘单的有用集合,可帮助您更快地学习 vim 编辑器。\n\n入门,为开发人员分享快速参考备忘单。","icon":"vim","sections":[{"a":"#入门","t":"入门","l":2},{"a":"#运动图","t":"运动图","l":3},{"a":"#动作","t":"动作","l":3},{"a":"#插入模式","t":"插入模式","l":3},{"a":"#保存和退出","t":"保存和退出","l":3},{"a":"#正常模式","t":"正常模式","l":3},{"a":"#剪切和粘贴","t":"剪切和粘贴","l":3},{"a":"#重复","t":"重复","l":3},{"a":"#可视化模式","t":"可视化模式","l":3},{"a":"#宏","t":"宏","l":3},{"a":"#vim-运算符","t":"Vim 运算符","l":2},{"a":"#用法","t":"用法","l":3},{"a":"#可用运算符","t":"可用运算符","l":3},{"a":"#例子","t":"例子","l":3},{"a":"#计数","t":"计数","l":3},{"a":"#vim-文本对象","t":"Vim 文本对象","l":2},{"a":"#用法-1","t":"用法","l":3},{"a":"#文本对象","t":"文本对象","l":3},{"a":"#删除","t":"删除","l":3},{"a":"#选择","t":"选择","l":3},{"a":"#杂项","t":"杂项","l":3},{"a":"#vim-多个文件","t":"Vim 多个文件","l":2},{"a":"#buffers-缓冲器","t":"Buffers (缓冲器)","l":3},{"a":"#窗口-1","t":"窗口","l":3},{"a":"#选项卡","t":"选项卡","l":3},{"a":"#vim-搜索和替换","t":"Vim 搜索和替换","l":2},{"a":"#搜索","t":"搜索","l":3},{"a":"#更换行","t":"更换行","l":3},{"a":"#替换文件","t":"替换文件","l":3},{"a":"#范围","t":"范围","l":3},{"a":"#全局命令","t":"全局命令","l":3},{"a":"#inverse逆-g","t":"Inverse(逆) :g","l":3},{"a":"#flags标志","t":"Flags(标志)","l":3},{"a":"#替换表达式魔术","t":"替换表达式(魔术)","l":3},{"a":"#例子-1","t":"例子","l":3},{"a":"#vimdiff","t":"Vimdiff","l":2},{"a":"#用法-2","t":"用法","l":3},{"a":"#编辑","t":"编辑","l":3},{"a":"#折叠","t":"折叠","l":3},{"a":"#跳跃","t":"跳跃","l":3},{"a":"#各种各样的","t":"各种各样的","l":2},{"a":"#case","t":"Case","l":3},{"a":"#跳跃-1","t":"跳跃","l":3},{"a":"#其他命令行","t":"其他命令行","l":3},{"a":"#导航","t":"导航","l":3},{"a":"#计数器","t":"计数器","l":3},{"a":"#选项卡-1","t":"选项卡","l":3},{"a":"#格式化","t":"格式化","l":3},{"a":"#标记","t":"标记","l":3},{"a":"#计算器","t":"计算器","l":3},{"a":"#shell","t":"Shell","l":3},{"a":"#命令行","t":"命令行","l":3},{"a":"#技巧","t":"技巧","l":3},{"a":"#理解-vim","t":"理解 Vim","l":2},{"a":"#动词理解","t":"动词理解","l":3},{"a":"#名词理解","t":"名词理解","l":3},{"a":"#介词理解","t":"介词理解","l":3},{"a":"#数词理解","t":"数词理解","l":3},{"a":"#组词为句理解","t":"组词为句理解","l":3}],"rgb":"500 168 255","name":"vim","tags":[]},{"title":"VSCode 备忘清单","path":"docs/shortcut/vscode.html","intro":"这个 VSCode (Visual Studio Code) 快速参考备忘单显示了它的键盘快捷键和命令。,为开发人员分享快速参考备忘单。","icon":"vscode","sections":[{"a":"#windows","t":"Windows","l":2},{"a":"#通用","t":"通用","l":3},{"a":"#基本编辑","t":"基本编辑","l":3},{"a":"#导航","t":"导航","l":3},{"a":"#搜索和替换","t":"搜索和替换","l":3},{"a":"#多光标和选择","t":"多光标和选择","l":3},{"a":"#丰富的语言编辑","t":"丰富的语言编辑","l":3},{"a":"#编辑管理","t":"编辑管理","l":3},{"a":"#文件管理","t":"文件管理","l":3},{"a":"#展示","t":"展示","l":3},{"a":"#调试","t":"调试","l":3}],"rgb":"500 168 255","name":"vscode","tags":[]},{"title":"Vimium 备忘清单","path":"docs/shortcut/vimium.html","intro":"这是开始使用 Vimium 浏览器扩展的快速参考备忘单,可以帮助用户更高效地浏览网页\n\n入门,为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#入门","t":"入门","l":2},{"a":"#功能特点","t":"功能特点","l":3},{"a":"#安装","t":"安装","l":3},{"a":"#快捷键自定义-1","t":"快捷键自定义","l":3},{"a":"#键盘快捷键","t":"键盘快捷键","l":2},{"a":"#基本导航","t":"基本导航","l":3},{"a":"#导航到新页面","t":"导航到新页面","l":3},{"a":"#浏览您的历史","t":"浏览您的历史","l":3},{"a":"#操作选项卡","t":"操作选项卡","l":3},{"a":"#链接操作","t":"链接操作","l":3},{"a":"#标签页操作","t":"标签页操作","l":3},{"a":"#搜索与复制","t":"搜索与复制","l":3},{"a":"#插入模式","t":"插入模式","l":3},{"a":"#开发者工具","t":"开发者工具","l":3}],"rgb":"500 168 255","name":"vimium","tags":[]},{"title":"Android Debug Bridge 备忘清单","path":"docs/lang/android/adb.html","intro":"ADB 既 Android Debug Bridge,是 Google 的 Android SDK 中的一个命令行工具,可让您的计算机控制 Android 设备执行各种设备操作。以下是您可以与 ADB 一起使用的一些最常见的命令及其用法\n\n入门,为开发人员分享快速参考备忘单。","icon":"adb","sections":[{"a":"#入门","t":"入门","l":2},{"a":"#设备基础","t":"设备基础","l":3},{"a":"#logcat","t":"Logcat","l":3},{"a":"#文件管理","t":"文件管理","l":3},{"a":"#远程-shell","t":"远程 Shell","l":3},{"a":"#包安装","t":"包安装","l":3},{"a":"#paths","t":"Paths","l":3},{"a":"#手机信息","t":"手机信息","l":3},{"a":"#包信息","t":"包信息","l":3},{"a":"#设备相关命令","t":"设备相关命令","l":3},{"a":"#权限","t":"权限","l":3},{"a":"#logs","t":"Logs","l":3},{"a":"#常见的-adb-命令","t":"常见的 ADB 命令","l":2},{"a":"#将文件推送到-android-设备的下载文件夹","t":"将文件推送到 Android 设备的下载文件夹","l":3},{"a":"#列出所有已安装的包并获取完整路径","t":"列出所有已安装的包并获取完整路径","l":3},{"a":"#从安卓设备中提取文件","t":"从安卓设备中提取文件","l":3},{"a":"#从主机安装-apk-到-android-设备","t":"从主机安装 APK 到 Android 设备","l":3},{"a":"#从-android-设备存储安装-apk","t":"从 Android 设备存储安装 APK","l":3},{"a":"#设置网络代理","t":"设置网络代理","l":3},{"a":"#禁用网络代理","t":"禁用网络代理","l":3},{"a":"#显示连接的设备并指定一个设备进行-shell","t":"显示连接的设备并指定一个设备进行 Shell","l":3},{"a":"#通过-ip-地址连接到设备","t":"通过 IP 地址连接到设备","l":3},{"a":"#通过-wi-fi-连接-adb","t":"通过 Wi-Fi 连接 ADB","l":3},{"a":"#将计算机上的-apk-文件安装到设备","t":"将计算机上的 APK 文件安装到设备","l":3},{"a":"#查找应用的-apk-路径","t":"查找应用的 APK 路径","l":3},{"a":"#通过名称查找应用的包名","t":"通过名称查找应用的包名","l":3},{"a":"#从设备提取-apk-到您的计算机","t":"从设备提取 APK 到您的计算机","l":3},{"a":"#将文件从计算机复制到设备","t":"将文件从计算机复制到设备","l":3},{"a":"#滚动屏幕","t":"滚动屏幕","l":3},{"a":"#发文本","t":"发文本","l":3},{"a":"#发送按键事件","t":"发送按键事件","l":3},{"a":"#发送点击","t":"发送点击","l":3},{"a":"#查看包的日志","t":"查看包的日志","l":3}],"rgb":"10 100 192","name":"adb","tags":[]},{"title":"composer","path":"docs/lang/php/composer.html","intro":"emm... 其实 composer 的命令都是依赖 composer.phar 文件来的,使用 composer 命令,只不过是将其放到 $PATH 环境变量里,为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#installing-dependencies","t":"Installing dependencies","l":2},{"a":"#updating-packages","t":"Updating packages","l":2},{"a":"#updating-autoloader","t":"Updating autoloader","l":2},{"a":"#adding-packages","t":"Adding packages","l":2},{"a":"#passing-versions","t":"Passing versions","l":2}],"rgb":"100 107 192","name":"composer","tags":[]},{"title":"phpbrew","path":"docs/lang/php/phpbrew.html","intro":"php 版本的 Homebrew,为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#基础用法","t":"基础用法","l":2}],"rgb":"100 207 192","name":"phpbrew","tags":[]},{"title":"docker","path":"docs/software/docker.html","intro":"简明手册,为开发人员分享快速参考备忘单。","icon":"docker","sections":[{"a":"#从容器创建一个新的镜像","t":"从容器创建一个新的镜像","l":2},{"a":"#docker-commit-example","t":"docker commit example","l":3},{"a":"#查看正在运行的容器","t":"查看正在运行的容器","l":3},{"a":"#查看停止的容器","t":"查看停止的容器","l":3},{"a":"#查看所有容器包括运行和停止","t":"查看所有容器(包括运行和停止)","l":3},{"a":"#命名容器","t":"命名容器","l":3},{"a":"#映射端口","t":"映射端口","l":3},{"a":"#挂载目录","t":"挂载目录","l":3},{"a":"#运行容器的-bash","t":"运行容器的 bash","l":3}],"rgb":"200 117 19","name":"docker","tags":[]},{"title":"mitmproxy","path":"docs/software/mitmproxy.html","intro":"简明手册,为开发人员分享快速参考备忘单。","icon":"mitmproxy","sections":[{"a":"#macos-安装","t":"MacOS 安装","l":2},{"a":"#证书","t":"证书","l":2}],"rgb":"200 138 15","name":"mitmproxy","tags":[]},{"title":"mysql","path":"docs/software/backend/mysql.html","intro":"简明手册\n\n# DDL -- 数据定义语言,为开发人员分享快速参考备忘单。","icon":"mysql","sections":[{"a":"#ddl","t":"DDL","l":2},{"a":"#新增","t":"新增","l":3},{"a":"#切换","t":"切换","l":3},{"a":"#删除","t":"删除","l":3},{"a":"#修改","t":"修改","l":3},{"a":"#dql","t":"DQL","l":2},{"a":"#查询","t":"查询","l":3},{"a":"#关联查询","t":"关联查询","l":3},{"a":"#条件","t":"条件","l":3},{"a":"#dml","t":"DML","l":2},{"a":"#新增-1","t":"新增","l":3},{"a":"#删除-1","t":"删除","l":3},{"a":"#更新","t":"更新","l":3},{"a":"#create","t":"Create","l":2},{"a":"#example-1","t":"example 1","l":3},{"a":"#example-2","t":"example 2","l":3},{"a":"#example-3","t":"example 3","l":3},{"a":"#example-4","t":"example 4","l":3},{"a":"#example-5","t":"example 5","l":3},{"a":"#删除表","t":"删除表","l":3},{"a":"#更新表字段","t":"更新表字段","l":3},{"a":"#更改表字段顺序","t":"更改表字段顺序","l":3},{"a":"#新增索引","t":"新增索引","l":3},{"a":"#用户--权限","t":"用户 & 权限","l":2},{"a":"#创建用户","t":"创建用户","l":3},{"a":"#删除用户","t":"删除用户","l":3},{"a":"#授权","t":"授权","l":3},{"a":"#回收权限","t":"回收权限","l":3},{"a":"#重置密码","t":"重置密码","l":3},{"a":"#数据类型","t":"数据类型","l":2},{"a":"#主要的字段类型","t":"主要的字段类型","l":3},{"a":"#explain-extra-字段","t":"explain Extra 字段","l":2},{"a":"#using-where","t":"Using where","l":3},{"a":"#using-index","t":"Using index","l":3},{"a":"#using-index-condition","t":"Using index condition","l":3},{"a":"#using-filesort","t":"Using filesort","l":3},{"a":"#using-temporary","t":"Using temporary","l":3},{"a":"#using-join-buffer-block-nested-loop","t":"Using join buffer (Block Nested Loop)","l":3},{"a":"#内置工具","t":"内置工具","l":2},{"a":"#备份数据库文件","t":"备份数据库文件","l":3},{"a":"#从-sql-文件恢复","t":"从 sql 文件恢复","l":3},{"a":"#repair-tables-after-unclean-shutdown","t":"Repair Tables After Unclean Shutdown","l":3},{"a":"#重置-root-密码","t":"重置 root 密码","l":3},{"a":"#备忘","t":"备忘","l":2},{"a":"#sql","t":"sql","l":3}],"rgb":"200 0 0","name":"mysql","tags":[]},{"title":"nginx","path":"docs/software/backend/nginx.html","intro":"nginx 关于常用配置的手册,为开发人员分享快速参考备忘单。","icon":"nginx","sections":[{"a":"#变量","t":"变量","l":2},{"a":"#指令","t":"指令","l":2},{"a":"#模块","t":"模块","l":2},{"a":"#ngx_http_fastcgi_module","t":"ngx_http_fastcgi_module","l":3}],"rgb":"200 138 13","name":"nginx","tags":[]},{"title":"redis","path":"docs/software/backend/redis.html","intro":"简明手册,为开发人员分享快速参考备忘单。","icon":"redis","sections":[{"a":"#查询","t":"查询","l":2},{"a":"#memory-内存信息","t":"memory 内存信息","l":2},{"a":"#strings","t":"Strings","l":2},{"a":"#databases","t":"Databases","l":2},{"a":"#hashes","t":"Hashes","l":2},{"a":"#sets","t":"Sets","l":2},{"a":"#sortedsets","t":"SortedSets","l":2},{"a":"#lists","t":"Lists","l":2},{"a":"#clientserver","t":"Client/Server","l":2},{"a":"#scripts","t":"Scripts","l":2}],"rgb":"200 138 13","name":"redis","tags":[]},{"title":"前端构建工具备忘","path":"docs/software/frontend/build.html","intro":"简明手册\n\n# 缓存,为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#npm","t":"npm","l":2},{"a":"#查看缓存路径","t":"查看缓存路径","l":3},{"a":"#清除缓存","t":"清除缓存","l":3},{"a":"#缓存验证","t":"缓存验证","l":3},{"a":"#pnpm","t":"pnpm","l":2},{"a":"#查看缓存路径-1","t":"查看缓存路径","l":3},{"a":"#清除缓存-1","t":"清除缓存","l":3},{"a":"#yarn","t":"yarn","l":2},{"a":"#查看缓存列表","t":"查看缓存列表","l":3},{"a":"#查看缓存路径-2","t":"查看缓存路径","l":3},{"a":"#清除缓存-2","t":"清除缓存","l":3},{"a":"#缓存验证-1","t":"缓存验证","l":3}],"rgb":"300 250 192","name":"build","tags":[]},{"title":"pm2","path":"docs/software/frontend/pm2.html","intro":"pm2简明手册,为开发人员分享快速参考备忘单。","icon":"pm2","sections":[{"a":"#fork-mode","t":"Fork mode","l":2},{"a":"#cluster-mode","t":"Cluster mode","l":2},{"a":"#listing","t":"Listing","l":2},{"a":"#logs","t":"Logs","l":2},{"a":"#actions","t":"Actions","l":2}],"rgb":"300 250 192","name":"pm2","tags":[]},{"title":"audit 审计框架","path":"docs/system/linux/audit.html","intro":"auditd 是 Linux 的内核审计框架,能够记录与安全相关的系统事件。通过 auditd 可以获取更多关于删除事件的详细信息。,为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#监控删除目录事件","t":"监控删除目录事件","l":2},{"a":"#添加规则","t":"添加规则","l":3},{"a":"#按事件名称查询","t":"按事件名称查询","l":3},{"a":"#搜索","t":"搜索","l":3},{"a":"#删除事件","t":"删除事件","l":3},{"a":"#删除全部审计","t":"删除全部审计","l":2},{"a":"#命令-1","t":"命令","l":3}],"rgb":"10 100 193","name":"audit","tags":[]},{"title":"dd","path":"docs/system/linux/dd.html","intro":"简明手册,为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#test-disk-write-speed","t":"TEST Disk WRITE Speed","l":2},{"a":"#命令","t":"命令","l":3},{"a":"#解释","t":"解释","l":3},{"a":"#test-disk-read-speed","t":"TEST Disk READ Speed","l":2},{"a":"#命令-1","t":"命令","l":3},{"a":"#解释-1","t":"解释","l":3}],"rgb":"10 100 193","name":"dd","tags":[]},{"title":"ps","path":"docs/system/linux/ps.html","intro":"这是开始使用 PS 命令快速参考备忘单,可以帮助用户更高效地浏览网页\n\n入门,为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#入门","t":"入门","l":2}],"rgb":"10 100 192","name":"ps","tags":[]},{"title":"tcpdump","path":"docs/system/linux/tcpdump.html","intro":"tcpdump 简明手册,为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#tcpdump-使用----选项类","t":"tcpdump 使用 -- 选项类","l":2},{"a":"#tcpdump-使用----过滤表达式类","t":"tcpdump 使用 -- 过滤表达式类","l":2}],"rgb":"10 200 192","name":"tcpdump","tags":[]},{"title":"top","path":"docs/system/linux/top.html","intro":",为开发人员分享快速参考备忘单。","icon":"","sections":[{"a":"#基本描述","t":"基本描述","l":2}],"rgb":"10 100 192","name":"top","tags":[]}] diff --git a/docs/lang/php/phpbrew.html b/docs/lang/php/phpbrew.html index 60bc1c75386..7130bdb1f19 100644 --- a/docs/lang/php/phpbrew.html +++ b/docs/lang/php/phpbrew.html @@ -5,7 +5,7 @@ phpbrew & phpbrew cheatsheet & Quick Reference - + @@ -27,6 +27,7 @@

phpbrew

+

php 版本的 Homebrew

基础用法

diff --git "a/docs/practice/git-\345\256\236\350\267\265.html" "b/docs/practice/git-\345\256\236\350\267\265.html" index 5680af0930f..2f09bbc01fd 100644 --- "a/docs/practice/git-\345\256\236\350\267\265.html" +++ "b/docs/practice/git-\345\256\236\350\267\265.html" @@ -5,7 +5,7 @@ GIT & git-实践 cheatsheet & Quick Reference - + @@ -27,6 +27,7 @@

GIT

+

不常见操作的备忘

更改git已提交的user.email信息

diff --git a/docs/shortcut/sourcetree.html b/docs/shortcut/sourcetree.html index 9bd8d5414c6..3dad2124797 100644 --- a/docs/shortcut/sourcetree.html +++ b/docs/shortcut/sourcetree.html @@ -5,7 +5,7 @@ SourceTree Keyboard Shortcuts & sourcetree cheatsheet & Quick Reference - + @@ -27,6 +27,7 @@

SourceTree Keyboard Shortcuts

+

简明手册

概览

diff --git a/docs/software/backend/mysql.html b/docs/software/backend/mysql.html index 8680165ce3c..1a6179d0dd3 100644 --- a/docs/software/backend/mysql.html +++ b/docs/software/backend/mysql.html @@ -5,7 +5,9 @@ mysql & mysql cheatsheet & Quick Reference - + @@ -26,6 +28,7 @@

diff --git a/docs/software/backend/nginx.html b/docs/software/backend/nginx.html index b942f4cfad8..7d8f53fb491 100644 --- a/docs/software/backend/nginx.html +++ b/docs/software/backend/nginx.html @@ -5,7 +5,7 @@ nginx & nginx cheatsheet & Quick Reference - + @@ -27,1597 +27,20 @@

nginx

+

nginx 关于常用配置的手册

示例配置

-
location / {
-    fastcgi_pass  localhost:9000;
-    fastcgi_index index.php;
-
-    fastcgi_param SCRIPT_FILENAME /home/www/scripts/php$fastcgi_script_name;
-    fastcgi_param QUERY_STRING    $query_string;
-    fastcgi_param REQUEST_METHOD  $request_method;
-    fastcgi_param CONTENT_TYPE    $content_type;
-    fastcgi_param CONTENT_LENGTH  $content_length;
-}
-
-

-

指令

-

fastcgi_bind

- - - - - - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_bindfastcgi_bind address [transparent] | off;
$1——
$1http、server、location
$1该指令在 0.8.22 版本中出现
-

通过一个可选的端口(1.11.2)从指定的本地 IP 地址发出到 FastCGI 服务器的传出连接。参数值可以包含变量(1.3.12)。特殊值 off(1.3.12)取消从上层配置级别继承到的 fastcgi_bind 指令作用,这允许系统自动分配本地 IP 地址和端口。

-

transparent 参数(1.11.0)允许从非本地 IP 地址(例如来自客户端的真实 IP 地址)的到 FastCGI 服务器的传出连接:

-
fastcgi_bind $remote_addr transparent;
-
-

为了使这个参数起作用,有必要以超级用户权限运行 nginx 工作进程,并配置内核路由来拦截来自 FastCGI 服务器的网络流量。

-

fastcgi_buffer_size

- - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_buffer_sizefastcgi_buffer_size size;
$1fastcgi_buffer_size 4k|8k;
$1http、server、location
-

设置读取 FastCGI 服务器收到的响应的第一部分的缓冲区的 size(大小)。该部分通常包含一个小的响应头。默认情况下,缓冲区大小等于一个内存页。为 4K 或 8K,因平台而异。但是,它可以设置得更小。

-

fastcgi_buffering

- - - - - - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_bufferingfastcgi_buffering on | off;
$1fastcgi_buffering on;
$1http、server、location
$1该指令在 1.5.6 版本中出现
-

启用或禁用来自 FastCGI 服务器的响应缓冲。

-

当启用缓冲时,nginx 会尽可能快地收到接收来自 FastCGI 服务器的响应,并将其保存到由 fastcgi_buffer_sizefastcgi_buffers 指令设置的缓冲区中。如果内存放不下整个响应,响应的一部分可以保存到磁盘上的临时文件中。写入临时文件由 fastcgi_max_temp_file_size fastcgi_temp_file_write_size 指令控制。

-

当缓冲被禁用时,nginx 在收到响应时立即同步传递给客户端,不会尝试从 FastCGI 服务器读取整个响应。nginx 一次可以从服务器接收的最大数据量由 fastcgi_buffer_size 指令设置。

-

通过在 X-Accel-Buffering 响应头字段中通过 yesno 也可以启用或禁用缓冲。可以使用 fastcgi_ignore_headers 指令禁用此功能。

-

fastcgi_buffes

- - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_buffesfastcgi_buffes number size;
$1fastcgi_buffers 8 4k|8k;
$1http、server、location
-

设置单个连接从 FastCGI 服务器读取响应的缓冲区的 number (数量)和 size (大小)。默认情况下,缓冲区大小等于一个内存页。为 4K 或 8K,因平台而异。

-

fastcgi_busy_buffers_size

- - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_busy_buffers_sizefastcgi_busy_buffers_size size;
$1fastcgi_busy_buffers_size 8k|16k;
$1http、server、location
-

当启用 FastCGI 服务器响应缓冲时,限制缓冲区的总大小(size)在当响应尚未被完全读取时可向客户端发送响应。同时,其余的缓冲区可以用来读取响应,如果需要的话,缓冲部分响应到临时文件中。默认情况下,sizefastcgi_buffer_sizefastcgi_buffers 指令设置的两个缓冲区的大小限制。

-

fastcgi_cache

- - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_cachefastcgi_cache zone | off;
$1fastcgi_cache off;
$1http、server、location
-

定义用于缓存的共享内存区域。同一个区域可以在几个地方使用。参数值可以包含变量(1.7.9)。off 参数将禁用从上级配置级别继承的缓存配置。

-

fastcgi_cache_background_update

- - - - - - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_cache_background_updatefastcgi_cache_background_update on | off;
$1fastcgi_cache_background_update off;
$1http、server、location
$1该指令在 1.11.10. 版本中出现
-

允许启动后台子请求来更新过期的缓存项,而过时的缓存响应则返回给客户端。请注意,有必要在更新时允许使用陈旧的缓存响应。

-

fastcgi_cache_bypass

- - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_cache_bypassfastcgi_cache_bypass string ...;
$1——
$1http、server、location
-

定义不从缓存中获取响应的条件。如果字符串参数中有一个值不为空且不等于 0,则不会从缓存中获取响应:

-
fastcgi_cache_bypass $cookie_nocache $arg_nocache$arg_comment;
-fastcgi_cache_bypass $http_pragma    $http_authorization;
-
-

可以和 fastcgi_no_cache 指令一起使用。

-

fastcgi_cache_key

- - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_cache_keyfastcgi_cache_key string;
$1——
$1http、server、location
-

为缓存定义一个 key,例如:

-
fastcgi_cache_key localhost:9000$request_uri;
-
-

fastcgi_cache_lock

- - - - - - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_cache_lockfastcgi_cache_lock on | off;
$1fastcgi_cache_lock off;
$1http、server、location
$1该指令在 1.1.12 版本中出现
-

当启用时,同一时间只允许一个请求通过将请求传递给 FastCGI 服务器来填充 fastcgi_cache_key 指令标识的新缓存元素。同一缓存元素的其他请求将等待响应出现在缓存中,或等待此元素的缓存锁释放,直到 fastcgi_cache_lock_timeout 指令设置的时间。

-

fastcgi_cache_lock_age

- - - - - - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_cache_lock_agefastcgi_cache_lock_age time;
$1fastcgi_cache_lock_age 5s;
$1http、server、location
$1该指令在 1.7.8 版本中出现
-

如果传递给 FastCGI 服务器的最后一个请求填充新缓存元素没能在指定的 time 内完成,则可能会有其他另一个请求被传递给 FastCGI 服务器。

-

fastcgi_cache_lock_timeout

- - - - - - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_cache_lock_timeoutfastcgi_cache_lock_timeout time;
$1fastcgi_cache_lock_timeout 5s;
$1http、server、location
$1该指令在 1.1.12 版本中出现
-

设置 fastcgi_cache_lock 的超时时间。当时间到期时,请求将被传递给 FastCGI 服务器,但是,响应不会被缓存。

-
-

在 1.7.8 之前,响应可以被缓存。

-
-

fastcgi_cache_max_range_offset

- - - - - - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_cache_max_range_offsetfastcgi_cache_max_range_offset number;
$1——
$1http、server、location
$1该指令在 1.11.6 版本中出现
-

为 byte-range 请求设置字节偏移量。如果 range 超出 number(偏移量),range 请求将被传递给 FastCGI 服务器,并且不会缓存响应。

-

fastcgi_cache_methods

- - - - - - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_cache_methodsfastcgi_cache_methods GET | HEAD | POST ...;
$1fastcgi_cache_methods GET HEAD;
$1http、server、location
$1该指令在 0.7.59 版本中出现
-

如果此指令中存在当前客户端请求方法,那么响应将被缓存。虽然 GETHEAD 方法总是在该列表中,但我们还是建议您明确指定它们。另请参阅 fastcgi_no_cache 指令。

-

fastcgi_cache_min_uses

- - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_cache_min_usesfastcgi_cache_min_uses number;
$1fastcgi_cache_min_uses 1;
$1http、server、location
-

设置指定数量(number)请求后响应将被缓存。

-

fastcgi_cache_path

- - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_cache_pathfastcgi_cache_path path [levels=levels] [use_temp_path=on|off] keys_zone=name:size [inactive=time] [max_size=size] [manager_files=number] [manager_sleep=time] [manager_threshold=time] [loader_files=number] [loader_sleep=time] [loader_threshold=time] [purger=on|off] [purger_files=number] [purger_sleep=time] [purger_threshold=time];
$1——
$1http
-

设置缓存的路径和其他参数。缓存数据存储在文件中。缓存中的 key 和文件名是代理 URL 经过 MD5 函数处理后得到的值。levels 参数定义缓存的层次结构级别:范围从 13,每个级别可接受值为 12。例如,在以下配置中

-
fastcgi_cache_path /data/nginx/cache levels=1:2 keys_zone=one:10m;
-
-

缓存中的文件名如下所示:

-
/data/nginx/cache/c/29/b7f54b2df7773722d382f4809d65029c
-
-

首先将缓存的响应写入临时文件,然后重命名该文件。从 0.8.9 版本开始,临时文件和缓存可以放在不同的文件系统上。但是,请注意,在这种情况下,文件复制将要跨两个文件系统,而不是简单的重命名操作。因此建议,对于任何给定的位置,缓存和保存临时文件的目录都应该放在同一个文件系统上。临时文件的目录根据 use_temp_path 参数(1.7.10)设置。如果忽略此参数或将其设置为 on,则将使用由 fastcgi_temp_path 指令设置的目录。如果该值设置为 off,临时文件将直接放在缓存目录中。

-

另外,所有活跃的 key 和有关数据的信息都存储在共享内存区中,其名称和大小由 keys_zone 参数配置。一个兆字节的区域可以存储大约 8 千个 key。

-
-

作为商业订阅的一部分,共享内存区还存储其他缓存信息,因此,需要为相同数量的 key区域大小。例如,一个兆字节区域可以存储大约 4 千个 key。

-
-

inactive 参数指定的时间内未被访问的缓存数据将从缓存中删除。默认情况下,inactive 设置为 10 分钟。

-

“缓存管理器”(cache manager)进程监视的最大缓存大小由 max_size 参数设置。当超过此大小时,它将删除最近最少使用的数据。数据在由 manager_filesmanager_thresholdmanager_sleep 参数(1.11.5)配置下进行迭代删除。在一次迭代中,不会超过 manager_files 项被删除(默认为 100)。一次迭代的持续时间受到 manager_threshold 参数(默认为 200 毫秒)的限制。在每次迭代之间存在间隔时间,由 manager_sleep 参数(默认为 50 毫秒)配置。

-

开始后一分钟,“缓存加载器”(cache loader)进程被激活。它将先前存储在文件系统中的缓存数据的有关信息加载到缓存区中。加载也是在迭代中完成。在每一次迭代中,不会加载 loader_files 个项(默认情况下为 100)。此外,每一次迭代的持续时间受到 loader_threshold 参数的限制(默认情况下为 200 毫秒)。在迭代之间存在间隔时间,由 loader_sleep 参数(默认为 50 毫秒)配置。

-

此外,以下参数作为我们商业订阅的一部分:

-
    -
  • -

    purger=on|off -指明缓存清除程序(1.7.12)是否将与通配符键匹配的缓存条目从磁盘中删除。将该参数设置为 on(默认为 off)将激活“缓存清除器”(cache purger)进程,该进程不断遍历所有缓存条目并删除与通配符匹配的条目。

    -
  • -
  • -

    purger_files=number -设置在一次迭代期间将要扫描的条目数量(1.7.12)。默认情况下,purger_files 设置为 10。

    -
  • -
  • -

    purger_threshold=number -设置一次迭代的持续时间(1.7.12)。默认情况下,purger_threshold 设置为 50 毫秒。

    -
  • -
  • -

    purger_sleep=number -在迭代之间设置暂停时间(1.7.12)。默认情况下,purger_sleep 设置为 50 毫秒。

    -
  • -
-
-

在 1.7.3、1.7.7 和 1.11.10 版本中,缓存头格式发生了更改。升级到更新的 nginx 版本后,以前缓存的响应将视为无效。

-
-

fastcgi_cache_purge

- - - - - - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_cache_purgefastcgi_cache_purge string ...;
$1——
$1http、server、location
$1该指令在 1.5.7 版本中出现
-

定义将请求视为缓存清除请求的条件。如果 string 参数中至少有一个不为空的值并且不等于“0”,则带有相应缓存键的缓存条目将被删除。通过返回 204(无内容)响应来表示操作成功。

-

如果清除请求的缓存键以星号(*)结尾,则将匹配通配符键的所有缓存条目从缓存中删除。但是,这些条目仍然保留在磁盘上,直到它们因为不活跃而被删除或被缓存清除程序(1.7.12)处理,或者客户端尝试访问它们。

-

配置示例:

-
fastcgi_cache_path /data/nginx/cache keys_zone=cache_zone:10m;
-
-map $request_method $purge_method {
-    PURGE   1;
-    default 0;
-}
-
-server {
-    ...
-    location / {
-        fastcgi_pass        backend;
-        fastcgi_cache       cache_zone;
-        fastcgi_cache_key   $uri;
-        fastcgi_cache_purge $purge_method;
-    }
-}
-
-
-

该功能可作为我们商业订阅的一部分。

-
-

fastcgi_cache_revalidate

- - - - - - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_cache_purgefastcgi_cache_purge on | off;
$1fastcgi_cache_revalidate off;
$1http、server、location
$1该指令在 1.5.7 版本中出现
-

开启使用带有 If-Modified-SinceIf-None-Match 头字段的条件请求对过期缓存项进行重新验证。

-

fastcgi_cache_use_stale

- - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_cache_use_stalefastcgi_cache_use_stale error | timeout | invalid_header | updating | http_500 | http_503 | http_403 | http_404 | http_429 | off ...;
$1fastcgi_cache_use_stale off;
$1http、server、location
-

当在与 FastCGI 服务器通信期间发生错误时可以使用陈旧的缓存响应。该指令的参数与 fastcgi_next_upstream 指令的参数相匹配。

-

如果无法选择使用 FastCGI 服务器处理请求,则 error 参数还允许使用陈旧的缓存响应。

-

此外,如果它当前正在更新,updating 参数允许使用陈旧的缓存响应。这样可以在更新缓存数据时最大限度地减少对 FastCGI 服务器的访问次数。

-

也可以在响应头中直接启用在响应变为陈旧的指定秒数后使用陈旧的缓存响应(1.11.10)。这比使用指令参数的优先级低。

-
    -
  • Cache-Control 头字段的 stale-while-revalidate 扩展允许使用陈旧的缓存响应当它正在更新。
  • -
  • Cache-Control 头字段的 stale-if-error 扩展允许在发生错误时使用陈旧的缓存响应。
  • -
-

为了最大限度地减少填充新缓存元素时对 FastCGI 服务器的访问次数,可以使用 fastcgi_cache_lock 指令。

-

fastcgi_cache_valid

- - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_cache_validfastcgi_cache_valid [code ...] time;
$1——
$1http、server、location
-

为不同的响应码设置缓存时间。例如:

-
fastcgi_cache_valid 200 302 10m;
-fastcgi_cache_valid 404      1m;
-
-

对响应码为 200 和 302 的响应设置 10 分钟缓存,对响应码为 404 的响应设置为 1 分钟。

-

如果只指定缓存时间(time):

-
fastcgi_cache_valid 5m;
-
-

那么只缓存 200 、301 和 302 响应。

-

另外,可以指定 any 参数来缓存任何响应:

-
fastcgi_cache_valid 200 302 10m;
-fastcgi_cache_valid 301      1h;
-fastcgi_cache_valid any      1m;
-
-

缓存参数也可以直接在响应头中设置。这比使用指令设置缓存时间具有更高的优先级。

-
    -
  • X-Accel-Expires 头字段以秒为单位设置响应的缓存时间。零值会禁用响应缓存。如果该值以 @ 前缀开头,则它会设置自 Epoch 以来的绝对时间(以秒为单位),最多可以缓存该时间段内的响应。
  • -
  • 如果头中不包含 X-Accel-Expires 字段,则可以在头字段 ExpiresCache-Control 中设置缓存参数。
  • -
  • 如果头中包含 Set-Cookie 字段,则不会缓存此类响应。
  • -
  • 如果头中包含具有特殊值 *Vary 字段,则这种响应不会被缓存(1.7.7)。如果头中包含带有另一个值的 Vary 字段,考虑到相应的请求头字段(1.7.7),这样的响应将被缓存。
  • -
-

使用 fastcgi_ignore_headers 指令可以禁用一个或多个响应头字段的处理。

-

fastcgi_catch_stderr

- - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_catch_stderrfastcgi_catch_stderr string;
$1——
$1http、server、location
-

设置一个字符串,用于在从 FastCGI 服务器接收到的响应的错误流中搜索匹配。如果找到该字符串,则认为 FastCGI 服务器返回无效响应。此时将启用 nginx 中的应用程序错误处理,例如:

-
location /php {
-    fastcgi_pass backend:9000;
-    ...
-    fastcgi_catch_stderr "PHP Fatal error";
-    fastcgi_next_upstream error timeout invalid_header;
-}
-
-

fastcgi_connect_timeout

- - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_connect_timeoutfastcgi_connect_timeout time;
$1fastcgi_connect_timeout 60s;
$1http、server、location
-

设置与 FastCGI 服务器建立连接的超时时间。需要注意的是,这个超时通常不能超过 75 秒。

-

fastcgi_force_ranges

- - - - - - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_force_rangesfastcgi_force_ranges on | off;
$1fastcgi_force_ranges off;
$1http、server、location
$1该指令在 1.7.7 版本中出现
-

启用来自 FastCGI 服务器的缓存和未缓存响应的 byte-range 支持,忽略响应中的 Accept-Ranges 头字段。

-

fastcgi_hide_header

- - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_hide_headerfastcgi_hide_header field;
$1——
$1http、server、location
-

默认情况下,nginx 不会将 FastCGI 服务器响应中的头字段 StatusX-Accel-... 传递给客户端。fastcgi_hide_header 指令设置不会被传递的附加字段。但是,如果需要允许传递字段,则可以使用 fastcgi_pass_header 指令。

-

fastcgi_ignore_client_abort

- - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_ignore_client_abortfastcgi_ignore_client_abort on | off;
$1fastcgi_ignore_client_abort off;
$1http、server、location
-

确定当客户端关闭连接而不等待响应时是否关闭与 FastCGI 服务器的连接。

-

fastcgi_ignore_headers

- - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_ignore_headersfastcgi_ignore_headers field ...;
$1——
$1http、server、location
-

禁止处理来自 FastCGI 服务器的某些响应头字段。以下字段将被忽略:X-Accel-RedirectX-Accel-ExpiresX-Accel-Limit-Rate(1.1.6)、X-Accel-Buffering(1.1.6)、X-Accel-Charset(1.1.6)、ExpiresCache-ControlSet-Cookie(0.8.44)和 Vary(1.7.7)。

-

如果未禁用,则处理这些头字段产生以下效果:

-
    -
  • X-Accel-ExpiresExpiresCache-ControlSet-CookieVary 设置响应缓存的参数
  • -
  • X-Accel-Redirect 执行内部重定向到指定的 URI
  • -
  • X-Accel-Limit-Rate 设置响应的传送速率限制回客户端
  • -
  • X-Accel-Buffering 启用或禁用缓冲响应
  • -
  • X-Accel-Charset 设置所需的响应字符集
  • -
-

fastcgi_index

- - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_indexfastcgi_index name;
$1——
$1http、server、location
-

$fastcgi_script_name 变量的值中设置一个文件名,该文件名追加到 URL 后面并以一个斜杠结尾。例如以下设置

-
fastcgi_index index.php;
-fastcgi_param SCRIPT_FILENAME /home/www/scripts/php$fastcgi_script_name;
-
-

/page.php 请求,SCRIPT_FILENAME 参数将等于 /home/www/scripts/php/page.php,并且 / 请求将等于 /home/www/scripts/php/index.php

-

fastcgi_intercept_errors

- - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_intercept_errorsfastcgi_intercept_errors on | off;
$1fastcgi_intercept_errors off;
$1http、server、location
-

确定当 FastCGI 服务器响应码大于或等于 300 时是否应传递给客户端,或者拦截并重定向到 nginx 以便使用 error_page 指令进行处理。

-

fastcgi_keep_conn

- - - - - - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_keep_connfastcgi_keep_conn on | off;
$1fastcgi_keep_conn off;
$1http、server、location
$1该指令在 1.1.4 版本中出现
-

默认情况下,FastCGI 服务器将在发送响应后立即关闭连接。但是,如果当此指令设置为 on 值,则 nginx 将指示 FastCGI 服务器保持连接处于打开状态。这对保持 FastCGI 服务器连接 keepalive 尤为重要。

-

fastcgi_limit_rate

- - - - - - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_limit_ratefastcgi_limit_rate rate;
$1fastcgi_limit_rate 0;
$1http、server、location
$1该指令在 1.7.7 版本中出现
-

限制读取 FastCGI 服务器响应的速度。rate 以每秒字节数为单位。零值则禁用速率限制。该限制是针对每个请求设置的,因此如果 nginx 同时打开两个连接到 FastCFI 服务器的连接,则整体速率将是指定限制的两倍。该限制仅在启用缓冲来自 FastCGI 服务器的响应时才起作用。

-

fastcgi_max_temp_file_size

- - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_max_temp_file_sizefastcgi_max_temp_file_size size;
$1fastcgi_max_temp_file_size 1024m;
$1http、server、location
-

当启用缓冲来自 FastCGI 服务器的响应时并且整个响应不适合由 {fastcgi_buffer_size](#fastcgi_buffer_size) 和 fastcgi_buffers 指令设置的缓冲时,响应的一部分可以保存到临时文件中。该指令用于设置临时文件的最大大小(size)。一次写入临时文件的数据大小由 fastcgi_temp_file_write_size 指令设置。

-

零值将禁用临时文件响应缓冲。

-
-

此限制不适用于将要缓存存储在磁盘上的响应。

-
-

fastcgi_next_upstream

- - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_next_upstreamfastcgi_next_upstream error | timeout | invalid_header | http_500 | http_503 | http_403 | http_404 | http_429 | non_idempotent | off ...
$1fastcgi_next_upstream error timeout;
$1http、server、location
-

指定在哪些情况下请求应传递给下一台服务器:

-
    -
  • -

    erorr

    -

    在与服务器建立连接、传递请求或读取响应头时发生错误

    -
  • -
  • -

    timeout

    -

    在与服务器建立连接、传递请求或读取响应头时发生超时

    -
  • -
  • -

    invalid_header

    -

    服务器返回了空的或无效的响应

    -
  • -
  • -

    http_500

    -

    服务器返回 500 响应码

    -
  • -
  • -

    http_503

    -

    服务器返回 503 响应码

    -
  • -
  • -

    http_403

    -

    服务器返回 403 响应码

    -
  • -
  • -

    http_404

    -

    服务器返回 404 响应码

    -
  • -
  • -

    http_429

    -

    服务器返回 429 响应码(1.11.13)

    -
  • -
  • -

    non_idempotent

    -

    通常,如果请求已发送到上游服务器(1.9.13),则具有非幂等方法(POST、LOCK、PATCH)的请求不会传递到下一个服务器,使这个选项明确允许重试这样的请求

    -
  • -
  • -

    off

    -

    禁用将请求传递给下一个服务器

    -
  • -
-

我们应该记住,只有在没有任何内容发送给客户端的情况下,才能将请求传递给下一台服务器。也就是说,如果在响应传输过程中发生错误或超时,要修复是不可能的。

-

该指令还定义了与服务器进行通信的不成功尝试erorrtimeoutinvalid_header 的情况总是被认为是不成功的尝试,即使它们没有在指令中指定。只有在指令中指定了 http_500http_503http_429 的情况下,它们才被视为不成功尝试。http_403http_404 的情况永远不会被视为不成功尝试。

-

将请求传递给下一台服务器可能受到尝试次数时间的限制。

-

fastcgi_next_upstream_timeout

- - - - - - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_next_upstream_timeoutfastcgi_next_upstream_timeout time;
$1fastcgi_next_upstream_timeout 0;
$1http、server、location
$1该指令在 1.7.5 版本中出现
-

限制请求可以传递到下一个服务器的时间。0 值关闭此限制。

-

fastcgi_next_upstream_tries

- - - - - - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_next_upstream_triesfastcgi_next_upstream_tries number;
$1fastcgi_next_upstream_tries 0;
$1http、server、location
$1该指令在 1.7.5 版本中出现
-

限制将请求传递到下一个服务器的尝试次数0 值关闭此限制。

-

fastcgi_no_cache

- - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_no_cachefastcgi_no_cache string ...;
$1——
$1http、server、location
-

定义响应不会保存到缓存中的条件。如果 string 参数中有一个值不为空且不等于 0,则不会保存响应:

-
fastcgi_no_cache $cookie_nocache $arg_nocache$arg_comment;
-fastcgi_no_cache $http_pragma    $http_authorization;
-
-

可以与 fastcgi_cache_bypass 指令一起使用。

-

fastcgi_param

- - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_paramfastcgi_param parameter value [if_not_empty];
$1——
$1http、server、location
-

设置应传递给 FastCGI 服务器的 parameter (参数)。该值可以包含文本、变量及其组合。当且仅当在当前级别上没有定义 fastcgi_param 指令时,这些指令才从前一级继承。

-

以下示例展示了 PHP 的最小要求配置:

-
fastcgi_param SCRIPT_FILENAME /home/www/scripts/php$fastcgi_script_name;
-fastcgi_param QUERY_STRING    $query_string;
-
-

SCRIPT_FILENAME 参数在 PHP 中用于确定脚本名称,QUERY_STRING 参数用于传递请求参数。

-

对于处理 POST 请求的脚本,还需要以下三个参数:

-
fastcgi_param REQUEST_METHOD  $request_method;
-fastcgi_param CONTENT_TYPE    $content_type;
-fastcgi_param CONTENT_LENGTH  $content_length;
-
-

如果 PHP 使用了 --enable-force-cgi-redirect 配置参数构建,则还应该使用值 200 传递 REDIRECT_STATUS 参数:

-
fastcgi_param REDIRECT_STATUS 200;
-
-

如果该指令是通过 if_not_empty(1.1.11)指定的,那么只有当它的值不为空时,这个参数才会被传递给服务器:

-
fastcgi_param HTTPS           $https if_not_empty;
-
-

fastcgi_pass

- - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_passfastcgi_pass address;
$1——
$1http、server、location
-

设置 FastCGI 服务器的地址。该地址可以指定为域名或 IP 地址,以及端口:

-
fastcgi_pass localhost:9000;
-
-

或者作为 UNIX 域套接字路径:

-
fastcgi_pass unix:/tmp/fastcgi.socket;
-
-

如果域名解析为多个地址,则所有这些地址都将以循环方式使用。另外,地址可以被指定为服务器组

-

参数值可以包含变量。在这种情况下,如果地址被指定为域名,则在所描述的服务器组中搜索名称,如果未找到,则使用解析器来确定。

-

fastcgi_pass_header

- - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_pass_headerfastcgi_pass_header field;
$1——
$1http、server、location
-

允许从 FastCGI 服务器向客户端传递隐藏禁用的头字段。

-

fastcgi_pass_request_body

- - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_pass_request_bodyfastcgi_pass_request_body on | off;
$1fastcgi_pass_request_body on;
$1http、server、location
-

指示是否将原始请求主体传递给 FastCGI 服务器。另请参阅 fastcgi_pass_request_headers 指令。

-

fastcgi_pass_request_headers

- - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_pass_request_headersfastcgi_pass_request_headers on | off;
$1fastcgi_pass_request_headers on;
$1http、server、location
-

指示原始请求的头字段是否传递给 FastCGI 服务器。另请参阅 fastcgi_pass_request_body 指令。

-

fastcgi_read_timeout

- - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_read_timeoutfastcgi_read_timeout time;
$1fastcgi_read_timeout 60s;
$1http、server、location
-

定义从 FastCGI 服务器读取响应的超时时间。超时设置在两次连续的读操作之间,而不是传输整个响应的过程。如果 FastCGI 服务器在此时间内没有发送任何内容,则连接将被关闭。

-

fastcgi_request_buffering

- - - - - - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_request_bufferingfastcgi_request_buffering on | off;
$1fastcgi_request_buffering on;
$1http、server、location
$1该指令在 1.7.11 版本中出现
-

启用或禁用客户端请求体缓冲。

-

启用缓冲时,在将请求发送到 FastCGI 服务器之前,将从客户端取整个请求体。

-

当缓冲被禁用时,请求体在收到时立即发送到 FastCGI 服务器。在这种情况下,如果 nginx 已经开始发送请求体,则请求不能传递到下一个服务器

-

fastcgi_send_lowat

- - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_send_lowatfastcgi_send_lowat size;
$1fastcgi_send_lowat 0;
$1http、server、location
-

如果指令设置为非零值,则 nginx 将尝试通过使用 kqueue 方式的 NOTE_LOWAT 标志或 SO_SNDLOWAT 套接字选项,以指定的 size(大小)来最小化传出连接到 FastCGI 服务器上的发送操作次数。

-

该指令在 Linux、Solaris 和 Windows 上被忽略。

-

fastcgi_send_timeout

- - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_send_timeoutfastcgi_send_timeout time;
$1fastcgi_send_timeout 60s;
$1http、server、location
-

设置向 FastCGI 服务器发送请求的超时时间。超时设置在两次连续写入操作之间,而不是传输整个请求的过程。如果 FastCGI 服务器在此时间内没有收到任何内容,则连接将关闭。

-

fastcgi_split_path_info

- - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_split_path_infofastcgi_split_path_info regex;
$1fastcgi_send_timeout 60s;
$1location
-

定义一个捕获 $fastcgi_path_info 变量值的正则表达式。正则表达式应该有两个捕获:第一个为 $fastcgi_script_name 变量的值,第二个为 $fastcgi_path_info 变量的值。例如以下设置

-
location ~ ^(.+\.php)(.*)$ {
-    fastcgi_split_path_info       ^(.+\.php)(.*)$;
-    fastcgi_param SCRIPT_FILENAME /path/to/php$fastcgi_script_name;
-    fastcgi_param PATH_INFO       $fastcgi_path_info;
-
-

/show.php/article/0001 请求,SCRIPT_FILENAME 参数等于 /path/to/php/show.php,并且 PATH_INFO 参数等于 /article/0001

-

fastcgi_store

- - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_storefastcgi_store on | off | string;
$1fastcgi_store off;
$1http、server、location
-

启用将文件保存到磁盘。on 参数将文件保存为与指令 aliasroot 相对应的路径。off 参数禁用保存文件。另外,可以使用带变量的字符串显式设置文件名:

-
fastcgi_store /data/www$original_uri;
-
-

文件的修改时间根据收到的 Last-Modified 响应头字段设置。首先将响应写入临时文件,然后重命名该文件。从 0.8.9 版本开始,临时文件和持久存储可以放在不同的文件系统上。但是,请注意,在这种情况下,文件将跨两个文件系统进行复制,而不是简单地进行重命名操作。因此建议,对于任何给定位置,保存的文件和由 fastcgi_temp_path 指令设置的保存临时文件的目录都放在同一个文件系统上。

-

该指令可用于创建静态不可更改文件的本地副本,例如:

-
location /images/ {
-    root                 /data/www;
-    error_page           404 = /fetch$uri;
-}
-
-location /fetch/ {
-    internal;
-
-    fastcgi_pass         backend:9000;
-    ...
-
-    fastcgi_store        on;
-    fastcgi_store_access user:rw group:rw all:r;
-    fastcgi_temp_path    /data/temp;
-
-    alias                /data/www/;
-}
-
-

fastcgi_store_access

- - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_store_accessfastcgi_store_access users:permissions ...;
$1fastcgi_store_access user:rw;
$1http、server、location
-

为新创建的文件和目录设置访问权限,例如:

-
fastcgi_store_access user:rw group:rw all:r;
-
-

如果指定了任何组或所有访问权限,则可以省略用户权限

-
fastcgi_store_access group:rw all:r;
-
-

fastcgi_temp_file_write_size

- - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_temp_file_write_sizefastcgi_temp_file_write_size size;
$1fastcgi_temp_file_write_size 8k
$1http、server、location
-

设置当开启缓冲 FastCGI 服务器响应到临时文件时,限制写入临时文件的数据 size(大小)。默认情况下,大小受 fastcgi_buffer_sizefastcgi_buffers 指令设置的两个缓冲区限制。临时文件的最大大小由 fastcgi_max_temp_file_size 指令设置。

-

fastcgi_temp_path

- - - - - - - - - - - - - - - - - - - - - -
-说明
fastcgi_temp_pathfastcgi_temp_path path [level1 [level2 [level3]]];
$1astcgi_temp_path fastcgi_temp;
$1http、server、location
-

定义一个目录,用于存储从 FastCGI 服务器接收到的数据的临时文件。指定目录下最多可有三级子目录。例如以下配置

-
fastcgi_temp_path /spool/nginx/fastcgi_temp 1 2;
-
-

临时文件如下所示:

-
/spool/nginx/fastcgi_temp/7/45/00000123457
-
-

另请参见 fastcgi_cache_path 指令的 use_temp_path 参数。

-

-

传参到 FastCGI 服务器

-

HTTP 请求头字段作为参数传递给 FastCGI 服务器。在作为 FastCGI 服务器运行的应用程序和脚本中,这些参数通常作为环境变量提供。例如,User-Agent 头字段作为 HTTP_USER_AGENT 参数传递。除 HTTP 请求头字段外,还可以使用 fastcgi_param 指令传递任意参数。

-

-

内嵌变量

-

ngx_http_fastcgi_module 模块支持在 fastcgi_param 指令设置参数时使用内嵌变量:

-
    -
  • -

    $fastcgi_script_name

    -

    请求 URI,或者如果 URI 以斜杠结尾,则请求 URI 的索引文件名称由 fastcgi_index 指令配置。该变量可用于设置 SCRIPT_FILENAMEPATH_TRANSLATED 参数,以确定 PHP 中的脚本名称。例如,对 /info/ 请求的指令设置

    -
    fastcgi_index index.php;
    -fastcgi_param SCRIPT_FILENAME /home/www/scripts/php$fastcgi_script_name;
    -
    -

    SCRIPT_FILENAME 参数等于 /home/www/scripts/php/info/index.php

    -

    使用 fastcgi_split_path_info 指令时,$fastcgi_script_name 变量等于指令设置的第一个捕获值。

    -
  • -
  • -

    $fastcgi_path_info

    -

    fastcgi_split_path_info 指令设置的第二个捕获值。这个变量可以用来设置 PATH_INFO 参数。

    -
  • -
-
diff --git a/docs/software/backend/redis.html b/docs/software/backend/redis.html index 0c16ead0bbb..efd360b762d 100644 --- a/docs/software/backend/redis.html +++ b/docs/software/backend/redis.html @@ -5,7 +5,7 @@ redis & redis cheatsheet & Quick Reference - + @@ -36,6 +36,7 @@ redis
+

简明手册

查询

diff --git a/docs/software/docker.html b/docs/software/docker.html index 8abfb95f0b3..845ac544409 100644 --- a/docs/software/docker.html +++ b/docs/software/docker.html @@ -5,7 +5,7 @@ docker & docker cheatsheet & Quick Reference - + @@ -28,6 +28,7 @@ docker
+

简明手册

从容器创建一个新的镜像

diff --git a/docs/software/frontend/build.html b/docs/software/frontend/build.html index 2e36da41260..c6090e84678 100644 --- a/docs/software/frontend/build.html +++ b/docs/software/frontend/build.html @@ -5,7 +5,9 @@ 前端构建工具备忘 & build cheatsheet & Quick Reference - + @@ -27,6 +29,7 @@

diff --git a/docs/software/frontend/pm2.html b/docs/software/frontend/pm2.html index 94d49d3ee81..17d93215a38 100644 --- a/docs/software/frontend/pm2.html +++ b/docs/software/frontend/pm2.html @@ -5,7 +5,7 @@ pm2 & pm2 cheatsheet & Quick Reference - + @@ -28,6 +28,7 @@ pm2

+

简明手册

Fork mode

diff --git a/docs/software/backend/mitmproxy.html b/docs/software/mitmproxy.html similarity index 86% rename from docs/software/backend/mitmproxy.html rename to docs/software/mitmproxy.html index c5591313a66..94adbc24586 100644 --- a/docs/software/backend/mitmproxy.html +++ b/docs/software/mitmproxy.html @@ -5,26 +5,26 @@ mitmproxy & mitmproxy cheatsheet & Quick Reference - + - - + + -

@@ -43,6 +43,7 @@ mitmproxy

+

简明手册

MacOS 安装

@@ -87,7 +88,7 @@ return response -
+
diff --git a/docs/system/linux/audit.html b/docs/system/linux/audit.html new file mode 100644 index 00000000000..42145e14ad4 --- /dev/null +++ b/docs/system/linux/audit.html @@ -0,0 +1,83 @@ + + + + +audit 审计框架 + & audit cheatsheet & Quick Reference + + + + + + + +

+ +audit 审计框架

+

auditd 是 Linux 的内核审计框架,能够记录与安全相关的系统事件。通过 auditd 可以获取更多关于删除事件的详细信息。

+

监控删除目录事件

+ +

添加规则

+
sudo auditctl -w /tmp/agentLog.20240801 -p w -k delete-file-20240801
+
+#   在 auditctl 命令中,-p 选项用于指定监控的权限类型,wa 是由两种权限类型组合而成的标志:
+#   w (write): 监控对文件的写操作。任何对文件内容的写入(包括追加)都会触发审计事件。
+#   a (attribute change): 监控文件属性的变化。例如,文件的所有者、权限、时间戳等发生变化时会触发审计事件。
+
+
+

按事件名称查询

+
sudo ausearch -k delete-file-20240801
+
+

搜索

+

命令

+
sudo ausearch -f agent
+
+# -f agent: -f 选项指定搜索文件路径或文件名,agent 是你要匹配的字符串。
+
+

示例输出

+
time->Tue Aug  9 12:34:56 2024
+type=SYSCALL msg=audit(1628507696.123:4567): arch=c000003e syscall=87 success=yes exit=0 a0=ffffff9c a1=21b83e0 a2=0 a3=7ffdb42b5c10 items=1 ppid=12345 pid=6789 auid=1000 uid=1000 gid=1000 euid=1000 suid=1000 fsuid=1000 egid=1000 sgid=1000 fsgid=1000 tty=pts0 ses=1 comm="rm" exe="/bin/rm" key="delete-file"
+type=CWD msg=audit(1628507696.123:4567):  cwd="/home/user"
+type=PATH msg=audit(1628507696.123:4567): item=0 name="agentLog.20240801" inode=123456 dev=08:01 mode=0100644 ouid=1000 ogid=1000 rdev=00:00 nametype=DELETE
+type=PROCTITLE msg=audit(1628507696.123:4567): proctitle=726D002F7661722F6C6F672F6167656E744C6F672E3230323430383031
+
+

解释

+
    +
  • time: 事件发生的时间。
  • +
  • syscall: 系统调用编号和相关信息。
  • +
  • comm="rm": 触发事件的命令(如 rm 命令)。
  • +
  • exe="/bin/rm": 执行命令的路径。
  • +
  • name="agentLog.20240801": 涉及的文件名。
  • +
  • pid=6789: 触发事件的进程 ID。
  • +
  • key="delete-file": 设置审计规则时使用的关键字。
  • +
+

删除事件

+
sudo auditctl -d /tmp/agentLog.20240801 -p wa
+
+#   -d:删除审计规则。
+#  /tmp/agentLog.20240801:你之前监控的文件或目录。
+#   -p wa:权限标志,表示删除对写操作和属性变化的监控。
+
+

删除全部审计

+

命令

+
sudo auditctl -D
+
+
+ +
+ diff --git "a/docs/practice/Linux-dd-\345\256\236\350\267\265.html" b/docs/system/linux/dd.html similarity index 85% rename from "docs/practice/Linux-dd-\345\256\236\350\267\265.html" rename to docs/system/linux/dd.html index 54b256a6ffc..2baa51b439d 100644 --- "a/docs/practice/Linux-dd-\345\256\236\350\267\265.html" +++ b/docs/system/linux/dd.html @@ -2,31 +2,32 @@ -linux - dd 命令 - & Linux-dd-实践 cheatsheet & Quick Reference +dd + & dd cheatsheet & Quick Reference - - + + - - + + -
+
diff --git a/docs/lang/linux/ps.html b/docs/system/linux/ps.html similarity index 93% rename from docs/lang/linux/ps.html rename to docs/system/linux/ps.html index 11befaa652e..f82e05cc9c4 100644 --- a/docs/lang/linux/ps.html +++ b/docs/system/linux/ps.html @@ -20,7 +20,7 @@ Quick Reference

tcpdump

+

tcpdump 简明手册

tcpdump 使用 -- 选项类

diff --git a/docs/lang/linux/top.html b/docs/system/linux/top.html similarity index 94% rename from docs/lang/linux/top.html rename to docs/system/linux/top.html index 8f1042c2b9b..5204ac2a036 100644 --- a/docs/lang/linux/top.html +++ b/docs/system/linux/top.html @@ -18,7 +18,7 @@ Quick Reference

安卓

linux

+
© 2024 huid. Updated on 2024/08/12 15:18:40
+
© 2024 huid. Updated on 2024/08/13 11:43:37