- 文档
- 教程
- 知识库
【免费下载链接】tldr
Collaborative cheatsheets for console commands 📚.
ug是 tldr 手册中一个典型的"别名页(alias page)":它本身只有三行信息,明确告诉你ug等价于ugrep --config --pretty --sort,并指引你通过tldr ugrep查看原始命令的完整用法。本文以仓库中的保加利亚语页面 pages.bg/common/ug.md 为骨架,讲清别名页的书写规范、多语言模板机制、背后的自动化脚本,以及被指向的原始命令ugrep的实战命令清单——读完即可在终端中直接使用ug/ugrep完成递归搜索、模糊匹配与压缩包检索。
一、ug是什么:一个指向ugrep的别名
在 tldr 手册体系中,"别名页"专门用于记录那些「本质上是另一个命令的快捷方式」的 shell 命令。保加利亚语页面 ug.md 的完整原文如下:
# ug > Тази команда е псевдоним на `ugrep --config --pretty --sort`. - Виж документацията за оригиналната команда: `tldr ugrep`逐行解读:
- 标题行
# ug:页面命令名,与文件名ug.md保持一致; - 描述行(以
>开头):保加利亚语"Тази команда е псевдоним на ...",即「此命令是ugrep --config --pretty --sort的别名」——这给出了别名展开的完整等价形式,是别名页的核心事实; - 示例行(以
-开头):保加利亚语"Виж документацията за оригиналната команда:",即「查看原始命令的文档」,配套命令为反引号内的tldr ugrep。
也就是说,ug并非独立的搜索工具,而是ugrep的快捷调用方式:当你敲下ug时,实际执行的是带--config、--pretty、--sort三个默认选项的ugrep。这一别名关系在英文主页面 pages/common/ug.md 中表述为:
# ug > This command is an alias of `ugrep --config --pretty --sort`. - View documentation for the original command: `tldr ugrep`二、别名页的仓库级规范:一页两字段,多语言模板
ug.md这类别名页并非随意书写,仓库中维护着一套严格的结构化模板,见 contributing-guides/translation-templates/alias-pages.md。该文件收录了从ar(阿拉伯语)到zh_TW(繁体中文)共 30 余种语言的统一模板,每个别名页都必须且只能包含三部分:
# 命令名标题;- 一行
> 此命令是 ... 的别名描述(明确指出原始命令及其别名参数); - 一行
- 查看原始命令文档:引导语,配一条tldr <原始命令>命令。
保加利亚语(bg)模板在 alias-pages.md 中定义如下:
# example > Тази команда е псевдоним на `example`. - Виж документацията за оригиналната команда: `tldr example`对照可见,pages.bg/common/ug.md 正是该模板的实例化:模板中的两个example占位符分别被替换为原始命令ugrep --config --pretty --sort(描述行)与文档命令ugrep(tldr行),而标题替换为页面命令名ug。这种「同一结构、多语言翻译」的设计,保证了任意语言的别名页都能被tldr客户端一致地解析与展示。
三、别名页如何自动化生成:set-alias-page.py脚本链路
别名页的创建与同步由脚本 scripts/set-alias-page.py 驱动,它恰好印证了ug.md的成文过程:
- 模板占位符替换:函数
generate_alias_page_content按顺序把模板中出现的example依次替换为标题、原始命令、文档命令(set-alias-page.py),这正是上文「一页两字段」落盘时的实际执行逻辑; - 交互式创建:运行
python3 scripts/set-alias-page.py -p common/ug会启动向导,依次询问页面标题、原始命令(ugrep --config --pretty --sort)与文档命令(ugrep),并预览最终页面后写入; - 跨语言同步:运行
python3 scripts/set-alias-page.py -S会扫描英文别名页(get_english_alias_pages),然后调用sync_alias_page_to_locale把每个别名页同步到各语言目录;可用-l bg限定只同步保加利亚语,-n做预演,-s自动git stage变更; - 模板一致性校验:函数
get_alias_command_in_page用get_locale_alias_pattern(locale)从模板正则提取别名描述模式(如bg的Тази команда е псевдоним на),据此识别某个.md是否属于别名页,并校验其结构是否偏离模板。
也就是说,pages.bg/common/ug.md 既是模板规范的产物,也是这套脚本工作流的直接成果:主仓库只需维护英文页 pages/common/ug.md,各语言页由脚本按本地化模板生成与同步,从而避免手工翻译的漂移。
四、深入原始命令:ugrep的典型实战用法
别名页把ug指向 pages/common/ugrep.md,后者是真正的"内容主体"——一个名为"Ultra fast search tool with query TUI"(带查询 TUI 的极速搜索工具)的命令文档。以下是该页提供的完整命令清单,可直接复制使用:
启动交互式查询 TUI,递归搜索当前目录(按<Ctrl z>获取帮助):
ugrep -Q递归搜索当前目录中包含某正则模式的文件:
ugrep "{{search_pattern}}"在指定文件或目录中搜索,并显示匹配行号:
ugrep -n "{{search_pattern}}" {{path/to/file_or_directory}}递归搜索当前目录,只打印匹配文件的文件名:
ugrep -l "{{search_pattern}}"模糊搜索:允许模式中最多 3 个字符的增、缺或错配:
ugrep -Z 3 "{{search_pattern}}"连压缩文件、Zip 与.tar归档一起递归搜索:
ugrep -z "{{search_pattern}}"只搜索文件名匹配特定 glob 模式的文件:
ugrep -g "{{glob_pattern}}" "{{search_pattern}}"只搜索 C++ 源文件(可用ugrep --file-type=list列出所有支持的文件类型):
ugrep -t cpp "{{search_pattern}}"说明:
-Q/--query提供基于 TUI 的交互式搜索界面;-n/--line-number输出行号;-l/--files-with-matches只列文件名;-Z/--fuzzy=N开启容错为 N 的模糊匹配;-z/--decompress穿透压缩归档;-g/--glob按通配符过滤目标文件;-t/--file-type按语言/文件类型过滤。上表中{{...}}为 tldr 的占位符约定,实际使用时应替换为真实参数。
五、把别名参数拆开看:--config、--pretty、--sort各自承担什么
回到别名本身ugrep --config --pretty --sort。从 ugrep 的命令行选项命名与常用约定可以推断这三个默认参数的含义:
--config:启动时加载用户配置文件中的默认选项,让ug带上个人化的搜索设置(如默认高亮、忽略文件规则等);--pretty:以美化(pretty-print)方式输出匹配结果,通常涉及终端彩色高亮与更易读的排版;--sort:对匹配结果按一定规则排序输出,便于在多文件中快速定位。
三者的组合效果是:ug一条命令即可获得"读取个人配置 + 美化输出 + 结果有序"的开箱即用体验,这正是它作为ugrep别名存在的意义——把最常用的默认行为封装进一个更短的名字。若要获得逐选项的完整权威说明,直接执行tldr ugrep(对应 pages/common/ugrep.md),或在本机运行ugrep --help/ 阅读其 man 手册。
六、在终端中的完整使用闭环
结合以上全部信息,一名使用 tldr 的终端用户面对ug时的完整闭环是:
- 键入
tldr ug,tldr 客户端展示保加利亚语(或按LANG/TLDR_LANGUAGE选择的语言)别名页; - 页面告知
ug等价于ugrep --config --pretty --sort; - 键入
tldr ugrep获取原始命令的完整示例(递归搜索、行号、文件名、模糊匹配、压缩归档、glob、文件类型过滤等八类场景); - 直接使用
ug "pattern"享受带配置、美化且排序的搜索体验。
这一闭环正是 tldr 设计别名页的初衷:别名页本身轻量到只有"一句话 + 一个跳转命令",却通过模板规范、多语言覆盖与脚本同步(contributing-guides/translation-templates/alias-pages.md、scripts/set-alias-page.py),把用户精确引导到承载完整示例的原始命令页,实现"薄入口、厚内容"的手册体验。
- 文档
- 教程
- 知识库
【免费下载链接】tldr
Collaborative cheatsheets for console commands 📚.
相关推荐
tldr 仓库中的保加利亚语别名页 `npm it`:从别名模板到 `npm install-test` 全链路解读
tldr 仓库中的保加利亚语别名页 npm it :从别名模板到 npm install test 全链路解读 npm it 是 npm 官方提供的 npm i
文档教程知识库tldr 仓库保加利亚语 todoman 别名页面解析:别名文档机制与 todo 命令完整用法
tldr 仓库保加利亚语 todoman 别名页面解析:别名文档机制与 todo 命令完整用法 todoman 是一个基于命令行的待办事项管理器,它在 tldr
文档教程知识库tldr 仓库中的 ypchpass 别名页:从保加利亚语页面到 FreeBSD chpass 命令全解析
tldr 仓库中的 ypchpass 别名页:从保加利亚语页面到 FreeBSD chpass 命令全解析 本文以 tldr 仓库中 pages.bg/free
文档教程知识库
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考