ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

tldr 中 zcat 别名页全解:gzip --stdout --decompress 的用法与多语言文档维护实践

tldr 中 zcat 别名页全解:gzip --stdout --decompress 的用法与多语言文档维护实践 文档教程知识库【免费下载链接】tldrCollaborative cheatsheets for console commands .项目地址https://gitcode.com/GitHub_Trending/tl/tldr点击查看免费下载本文围绕 pages.ar/common/zcat.md 展开它是一份阿拉伯语版的 tldr 别名页把zcat定义为gzip --stdout --decompress的别名。读完本文你将理解 tldr 项目中别名页的文档结构与生成机制、zcat及其原命令gzip的全部常用参数以及bzcat、xzcat、lzcat等同族命令的定位并能在日常终端工作中直接使用这些速查方法。1. 关联文档速览pages.ar/common/zcat.md 讲了什么本篇文章的主体是 tldr 仓库Collaborative cheatsheets for console commands中阿拉伯语ar的一份命令速查页。文件完整内容如下# zcat هذا الأمر هو اسم مستعار لـ gzip --stdout --decompress. - إعرض التوثيقات للأمر الأصلي: tldr gzip仅三行信息含义对应原文阿拉伯语中文含义# zcat页面标题命令名zcat هذا الأمر هو اسم مستعار لـgzip --stdout --decompress.本命令是gzip --stdout --decompress的别名- إعرض التوثيقات للأمر الأصلي:查看原命令的文档tldr gzip执行方式运行tldr gzip这份文档并不重复罗列zcat自身的全部用法——因为 tldr 采用别名页策略当一个命令只是另一个命令的别名时不复制原命令的完整内容而是只声明别名关系并引导用户查看原命令页。这正是 tldr 保持速查页简洁的核心设计之一。2. 别名页在 tldr 项目中的定位与标准模板zcat页属于 tldr 仓库中的别名页alias page类型其英文原版位于 pages.en/common/zcat.mdpages/common/zcat.md与之内容一致# zcat This command is an alias of gzip --stdout --decompress. - View documentation for the original command: tldr gzip阿拉伯语版与英文版严格一一对应只是翻译了描述行和提示行。所有语言的别名页都必须遵循统一的模板模板定义在 contributing-guides/translation-templates/alias-pages.md 中。该文件为 40 多种语言各提供了一份# example示例模板其中阿拉伯语ar模板正是# example هذا الأمر هو اسم مستعار لـ example. - إعرض التوثيقات للأمر الأصلي: tldr example模板中占位符example会被实际命令名替换。可以推断pages.ar/common/zcat.md 正是由该模板生成的标题占位符替换为zcat描述中的原命令占位符替换为gzip --stdout --decompress而tldr行则指向原命令gzip。为什么采用别名页而不是复制内容从模板与脚本逻辑看别名页解决了三个问题避免内容重复zcat与gzip行为等价若各自维护一套示例容易失同步保证唯一事实源所有用法细节只维护在原命令页 pages/common/gzip.md 中多语言低成本同步脚本只需把英文别名页的标题 / 原命令 / 文档命令三个字段套入对应语言的模板即可生成全部翻译。3. 解析原命令gzip --stdout --decompress 到底做了什么zcat被定义为gzip --stdout --decompress的别名因此理解zcat的关键在于理解这两个 gzip 选项的组合--decompress-d解压模式将.gz压缩文件还原为原始内容--stdout-c把结果写到标准输出而不是默认行为那样用解压结果替换原.gz文件。两者组合的效果是读取一个.gz文件把解压后的原始内容输出到标准输出同时保留压缩文件本身不变。这就是zcat的全部语义——它非常适合在不解压出实体文件的情况下直接查看或管道式消费压缩内容。tldr 的 gzip 速查页 给出了原命令的完整参数清单这些参数同样适用于理解zcat的行为参数作用示例-d/--decompress解压zcat已隐含该选项gzip -d file.gz-c/--stdout输出到标准输出zcat已隐含该选项gzip -cd file.gz out-k/--keep压缩或解压时保留原文件gzip -k file-v/--verbose显示每个文件的压缩率gzip -v file.gz-l/--list列出压缩文件内容信息gzip -l file.txt.gz-1…-9压缩级别1 最快、9 压缩率最高、6 为默认gzip -6 -c file file.gz其中与zcat最相关的等价写法是# zcat 与下面这条 gzip 命令完全等价 gzip --stdout --decompress path/to/file.gz # 等价写法短选项组合 gzip -cd path/to/file.gzgzip 页面还展示了--stdout配合重定向的典型用法例如将压缩结果写入指定文件而不改动源文件或把解压结果重定向到新文件gzip -c path/to/file path/to/compressed_file.gz gzip -cd path/to/file.gz path/to/uncompressed_file4. zcat 的实战使用场景由于zcatgzip --stdout --decompress可以直接把它当作只读查看器使用最常见的三个场景是4.1 不解压文件直接浏览内容zcat path/to/file.txt.gz | less zcat path/to/file.txt.gz | head -n 20压缩文件原样保留符合--stdout不解压到磁盘的语义。4.2 管道送入其他命令处理zcat path/to/file.txt.gz | grep keyword日志、数据文件压缩后仍可被grep、awk、sort等命令直接消费无需中间解压文件。4.3 还原为普通文件zcat path/to/file.txt.gz path/to/file.txt注意zcat本身不生成文件必须通过重定向把标准输出落盘这与gunzip直接替换文件的行为不同。仓库中的阿拉伯语 gunzip 页 与 unxz 页 分别覆盖了对应解压命令的常规用法可作为对照。5. zcat 的同类兄弟命令tldr 仓库在common平台目录下记录了多个*cat家族的别名命令它们的模式完全一致解压并输出到标准输出。对比可见以英文页 pages.en 及 pages/common 为准命令别名指向对应文档zcatgzip --stdout --decompresszcat.mdbzcatbzip2 --decompress --stdoutbzcat.mdxzcatxz --decompress --stdoutxzcat.mdlzcatxz --format lzma --decompress --stdoutlzcat.md例如 bzcat 页 内容为# bzcat This command is an alias of bzip2 --decompress --stdout. - View documentation for the original command: tldr bzip2而 lzcat 页 则指向xz --format lzma --decompress --stdout多了--format lzma表示按 LZMA 格式解压。选择哪个cat命令取决于压缩文件的格式.gz用zcat.bz2用bzcat.xz/.lzma分别用xzcat/lzcat。这些别名页在阿拉伯语目录中同样存在对应翻译如 pages.ar/common/bzcat.md 和 pages.ar/common/xzcat.md。6. 别名页的自动化维护scripts/set-alias-page.py别名页并非手工逐语言维护而是由仓库脚本 scripts/set-alias-page.py 驱动的。脚本的核心流程如下get_templates(root, alias-pages.md)读取 contributing-guides/translation-templates/alias-pages.md 中全部语言的模板generate_alias_page_content()用真实的标题、原命令、文档命令替换模板中的example占位符get_alias_command_in_page()反向解析已有页面识别其是否为别名页并提取原命令与tldr ...文档命令两个字段get_english_alias_pages()扫描英文pages目录下所有平台common、linux、osx等找出全部别名页sync_alias_page_to_locale()把英文别名页同步到指定语言目录。脚本提供的常用操作参见 scripts/set-alias-page.py 的 docstring# 交互式创建/更新某条别名页如 osx/gsum python3 scripts/set-alias-page.py -p osx/gsum # 把英文别名页同步到所有语言翻译 python3 scripts/set-alias-page.py -S # 只同步某一种语言如阿拉伯语 ar / 巴西葡语 pt_BR python3 scripts/set-alias-page.py -S -l ar # 同步并为修改结果执行 git stage python3 scripts/set-alias-page.py -Ss # 预览将产生的改动而不落盘 python3 scripts/set-alias-page.py -Sn正因如此pages.ar/common/zcat.md 的每个字段都能在脚本与模板层面得到印证zcat是标题、gzip --stdout --decompress是原命令、gzip是文档命令三者经generate_alias_page_content()套入ar模板后即生成该文件。7. 终端中的使用方式与查阅路径在安装了 tldr 客户端的终端环境中即可直接使用速查能力# 查看 zcat 的别名说明即本页内容 tldr zcat # 按别名页引导查看原命令 gzip 的完整用法 tldr gziptldr 的速查页在仓库中以platform/命令名.md组织如 pages/common、pages/linux、pages/osx多语言版本分别位于pages.ar/、pages.zh/、pages.zh_TW/等目录。阿拉伯语zcat页所在的 pages.ar/common 目录与英文 pages.en/common 目录保持了完全一致的文件结构这也是别名页能被脚本跨语言批量同步的前提。小结pages.ar/common/zcat.md 虽然只有三行却是 tldr 项目别名页设计的一个典型样本它用一句话定义了zcatgzip --stdout --decompress把全部参数细节交给原命令页并通过 translation-templates/alias-pages.md 模板与 set-alias-page.py 脚本在 40 多种语言中保持同步。掌握这一模式你既能快速上手zcat的只读解压能力也能理解 tldr 仓库维护大型多语言速查集的工程化思路。赞分享文档教程知识库【免费下载链接】tldrCollaborative cheatsheets for console commands .项目地址https://gitcode.com/GitHub_Trending/tl/tldr点击查看免费下载相关推荐Teleport 统一资源视图Unified Resource ViewRFD 137 架构设计与源码实现解析Teleport 统一资源视图Unified Resource ViewRFD 137 架构设计与源码实现解析 导读 Unified Resource V文档教程知识库tldr 别名页机制深度解析以 gunzip 与 gzip --decompress 为例tldr 别名页机制深度解析以 gunzip 与 gzip decompress 为例 本篇以 tldr 仓库中的阿拉伯语别名页 pages.ar/commo文档教程知识库tldr 仓库中的 zegrep 别名页从 zgrep --extended-regexp 到多语言别名页维护机制tldr 仓库中的 zegrep 别名页从 zgrep extended regexp 到多语言别名页维护机制 本文以 pages.ar/common/zeg文档教程知识库创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表