ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

tldr 项目中的 rehash 别名页:理解 `hash -r` 命令与别名页文档机制

tldr 项目中的 rehash 别名页:理解 `hash -r` 命令与别名页文档机制 文档教程知识库【免费下载链接】tldrCollaborative cheatsheets for console commands .项目地址https://gitcode.com/GitHub_Trending/tl/tldr点击查看免费下载rehash是 Bash 内建命令hash -r的别名本仓库GitHub_Trending/tl/tldr即 tldr 协作式命令行速查手册项目通过别名页alias page这一专门的页面格式来收录它引导用户直接查阅原命令hash的完整文档。本文以仓库中的保加利亚语别名页 pages/bg/common/rehash.md 为起点完整解析hash命令的各类用法、tldr 别名页的模板规范与多语言同步机制并延伸介绍仓库内用于生成和维护别名页的 Python 工具链帮助你既掌握该命令的实际用法也理解这类文档在 tldr 仓库中的组织原理。一、rehash 是什么hash -r的别名在 tldr 仓库中pages/bg/common/rehash.md 的完整内容如下# rehash Тази команда е псевдоним на hash -r. - Виж документацията за оригиналната команда: tldr hash逐行解读第一行# rehash是页面标题即命令名第二行 ...是描述行保加利亚语意为该命令是hash -r的别名最后一行tldr hash是唯一的示例告诉用户查看原命令的文档。与其对应的英文原页 pages/common/rehash.md 内容为# rehash This command is an alias of hash -r. - View documentation for the original command: tldr hash可以看到别名页本身不重复罗列命令的全部参数而是将rehash指向其本体hash -r由tldr hash把用户带到原命令的完整速查页。这也是 tldr 项目设计别名页的核心思路同一命令被多种名称调用时用最简页面承接别名避免文档重复维护。二、原命令hash的完整速查解析要真正理解rehash需要先读懂hash。仓库中的 pages/common/hash.md 提供了hash命令的完整速查内容# hash View cached executable locations. More information: https://www.gnu.org/software/bash/manual/bash.html#index-hash. - View cached command locations for the current shell: hash - Clear the hash table: hash -r - Delete a specific command from the hash table: hash -d {{command}} - Print the full path of a command: hash -t {{command}} - Display help: hash --help这条速查页告诉我们hash是 Bash 内建命令用途是查看缓存的命令可执行文件位置。Bash 在启动时会把命令查找结果缓存进一张哈希表hash table避免每次执行命令都重新遍历PATH从而加快查找速度。hash命令即用于查看和操作这张缓存表。各参数含义如下用法作用hash列出当前 shell 中已缓存命令的路径及命中次数hash -r清空整张哈希表强制 Bash 重新扫描PATH缓存hash -d {{command}}从哈希表中删除指定命令的缓存条目hash -t {{command}}打印指定命令的完整绝对路径hash --help显示帮助信息rehash实际执行的就是hash -r即清空命令哈希缓存。这在动态安装了新软件、或PATH下出现新的可执行文件而当前 shell 无法找到时尤为实用执行rehash后后续命令查找将基于刷新后的缓存进行。三、别名页模板与保加利亚语版本别名页并非随意书写而是严格遵循统一模板模板定义在 contributing-guides/translation-templates/alias-pages.md。该文件为每一种已翻译语言保存了一份标准模板英文模板为# example This command is an alias of example. - View documentation for the original command: tldr example其中example是占位符实际创建页面时会依次替换为别名命令名、原命令名和文档查询命令。保加利亚语bg模板为# example Тази команда е псевдоним на example. - Виж документацията за оригиналната команда: tldr example对照 pages/bg/common/rehash.md 可见该页面正是将模板中的三个example分别替换为rehash、hash -r、hash后的产物。别名页因此具备两个显著特点结构与措辞高度统一跨语言可机械翻译、可脚本同步内容极简只承担指路职责命令细节全部留给原命令页。这套约定同样被写入贡献指南的 Aliases 章节当一条命令可以有不同的名称被调用例如vim可以通过vi调用时就可以创建别名页把用户引导到原命令名。指南同时给出了vi指向vim的示例并明确指向了多语言模板文件。四、别名页背后的工具链set-alias-page.py 的生成与同步仓库为别名页的创建与维护提供了专门的脚本 scripts/set-alias-page.py。该脚本以交互方式工作核心能力如下交互式创建/更新单页-p指定页面路径例如python3 scripts/set-alias-page.py -p osx/gsum脚本会引导输入页面标题、原命令与文档查询命令并展示将要生成的页面内容供确认全量同步翻译-S--sync读取英文别名页并同步到各语言目录配合-l可只同步指定语言如python3 scripts/set-alias-page.py -S -l pt_BR预演与暂存-n以 dry-run 方式展示将要产生的改动而不实际写入-s在修改完成后将变更git暂存如-Ss宽松匹配-i忽略与标准模板的精确匹配用于发现非标准的别名页。脚本的关键逻辑在set_alias_page()与get_alias_command_in_page()两个函数中前者从 translation-templates/alias-pages.md 读取当前语言模板通过字符串替换把模板中的example依次替换为真实值后写盘后者则反向解析一个页面是否属于标准别名页——它要求页面恰好包含描述行 tldr 命令行两类关键行并据此提取原命令与文档查询命令。从源码结构看这套解析与生成逻辑互为镜像保证了仓库内别名页生成规范、校验严格。模板的读取由 scripts/_common.py 中的get_templates()完成它解析### 语言标题下的markdown代码块将各语言的模板文本收集为{语言: 模板}字典供set-alias-page.py使用。这意味着新增一种语言的别名页翻译只需在模板文件中补充对应模板即可被工具链自动识别。五、实践如何查阅 rehash 与 hash 的文档在安装了 tldr 客户端的终端环境中查阅方式非常直接# 查看 rehash 别名页会提示其为 hash -r 的别名 tldr rehash # 查看原命令 hash 的完整速查 tldr hash结合上文的参数表实际场景中可以这样运用安装了新工具后发现当前 shell 找不到它执行rehash即hash -r清空缓存后再试排查命令解析问题时用hash -t {{command}}查看某命令实际解析到的路径仅需清理某一个缓存项时使用hash -d {{command}}而不必整体清空。六、结语从 pages/bg/common/rehash.md 这个仅有 7 行的保加利亚语别名页出发可以完整串起一条知识链rehash是 Bash 内建命令hash -r的别名用于清空命令哈希缓存tldr 项目用统一的别名页模板承接这类命令把细节交给 pages/common/hash.md 这样的原命令页而模板定义在 alias-pages.md创建与多语言同步则由 set-alias-page.py 自动化完成。理解这套极简别名页 统一模板 脚本同步的机制不仅能让你快速看懂仓库中大量形如rehash的别名页面也为向 tldr 贡献新别名页提供了可复用的操作范式。赞分享文档教程知识库【免费下载链接】tldrCollaborative cheatsheets for console commands .项目地址https://gitcode.com/GitHub_Trending/tl/tldr点击查看免费下载相关推荐tldr 仓库中的 fdfind 别名页命令别名文档机制与 fd 命令速查tldr 仓库中的 fdfind 别名页命令别名文档机制与 fd 命令速查 导读 本文围绕 fdfind.md https://link.gitcode.co文档教程知识库tldr 别名页全解析以 gh atgh attestation 的别名为例理解 tldr 命令别名文档的机制与实战tldr 别名页全解析以 gh at gh attestation 的别名为例理解 tldr 命令别名文档的机制与实战 本篇指南聚焦 tldr 仓库中一文档教程知识库tldr 仓库中的 gdm-binary 别名页别名命令文档机制与 GDM 使用指南tldr 仓库中的 gdm binary 别名页别名命令文档机制与 GDM 使用指南 本篇文章以 pages.bg/common/gdm binary.md文档教程知识库创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进