- 文档
- 教程
- 知识库
【免费下载链接】tldr
Collaborative cheatsheets for console commands 📚.
本篇文章以 孟加拉语 gzip 速查页 为核心,逐条拆解gzip的压缩、解压、保留原文件、标准输出重定向、压缩级别与压缩清单查看等 8 条核心用法,并结合 tldr 仓库的翻译模板、别名页与维护脚本,说明这张多语言速查卡背后的协作规范。读完本文,你将掌握gzip在终端中的高频实战命令,同时理解 tldr 仓库如何让同一份命令知识在多语言之间保持同步与可校验。
页面定位:一张孟加拉语(bn)的 gzip 速查卡
tldr 项目为每个命令提供"社区协作式速查页"(cheatsheet)。仓库中,英文主页面位于 pages/common/gzip.md,孟加拉语翻译页面则位于 pages.bn/common/gzip.md,采用pages.<locale>/common/<command>.md的目录约定(如bn、fr、zh等),而pages.en是指向pages的符号链接(可直接通过ls -la pages.en在仓库中确认)。
该页面遵循统一的 tldr 页面格式:
# gzip > `gzip` কম্প্রেশন (LZ77) দিয়ে ফাইল কম্প্রেস/আনকম্প্রেস করুন। > আরও তথ্য পাবেন: <https://www.gnu.org/software/gzip/manual/gzip.html>। - একটি ফাইল কম্প্রেস করুন, এটি `gzip` আর্কাইভ দিয়ে প্রতিস্থাপন করুন: `gzip {{ফাইল/এর/পাথ}}`结构上分为三个层次:
- 标题行:
# gzip,即命令名; - 描述行:以
>开头,声明该命令"使用 LZ77 压缩算法对文件进行压缩/解压",并附一条指向 GNU gzip 官方手册的 more-information 链接; - 示例块:每条示例由一句孟加拉语说明 + 一条反引号包裹的可执行命令组成,参数中的用户占位符统一用
{{...}}包裹。
与英文原页 pages/common/gzip.md 逐条对照可以发现,孟加拉语版在示例数量、命令结构、选项语义上完全一致,仅翻译了描述文字与占位符,这正是 tldr 多语言维护的核心理念:内容骨架统一,语言外壳本地化。
gzip 八条核心用法全解析
gzip是 GNU 出品的压缩工具,其压缩格式基于 DEFLATE 算法(组合 LZ77 字典压缩与 Huffman 编码)。下面逐条对照孟加拉语页面与英文原意,给出可直接复制运行的命令。
1. 压缩文件并替换原文件
gzip {{ফাইল/এর/পাথ}}对应英文示例gzip {{path/to/file}}。默认行为下,gzip压缩指定文件后删除原文件,生成同名的.gz归档(例如report.txt变为report.txt.gz)。这是gzip区别于zip的关键点:它不是打包工具,而是针对单个文件流做压缩。
2. 解压文件并还原
gzip {{[-d|--decompress]}} {{ফাইল.gz/এর/পাথ}}对应英文示例gzip {{[-d|--decompress]}} {{path/to/file.gz}}。-d(--decompress)将.gz归档解压回原始未压缩内容,并删除归档文件。这里的{{[-d|--decompress]}}是 tldr 的"选项占位符"语法:方括号表示该参数为短/长两种写法二选一,由 tldr 客户端决定渲染成-d还是--decompress,仓库中的 check-errors.sh 会对这类占位符格式做校验。同样的解压操作也可以直接用别名命令gunzip完成(详见后文"别名页联动"小节)。
3. 查看压缩率(verbose 模式)
gzip {{[-v|--verbose]}} {{ফাইল.gz/এর/পাথ}}对应英文示例gzip {{[-v|--verbose]}} {{path/to/file.gz}}。-v(--verbose)模式会为每个被处理的文件输出文件名与压缩减少百分比,例如压缩report.txt(原大小 1000 字节)得到 800 字节时,终端会打印该文件压缩后节约的比例。运维脚本中常配合日志使用,用于快速评估压缩收益。
4. 保留原文件
gzip {{[-k|--keep]}} {{ফাইল/এর/পাথ}}对应英文示例gzip {{[-k|--keep]}} {{path/to/file}}。-k(--keep)关闭默认的"压缩后删除原文件"行为,压缩成功后原文件与.gz归档同时保留。在需要审计、备份或对比压缩前后内容时非常实用。
5. 指定输出文件名的压缩(-c + 重定向)
gzip {{[-c|--stdout]}} {{ফাইল/এর/পাথ}} > {{কম্প্রেসড_ফাইল.gz/এর/পাথ}}对应英文示例gzip {{[-c|--stdout]}} {{path/to/file}} > {{path/to/compressed_file.gz}}。-c(--stdout)将压缩结果写入标准输出而非磁盘文件,配合 shell 重定向即可自定义输出文件名(如data.log.gz),同时原文件不受影响。这适合在管道中处理流式数据。
6. 指定输出文件名的解压(-cd 组合)
gzip {{[-cd|--stdout --decompress]}} {{ফাইল.gz/এর/পাথ}} > {{আনকম্প্রেসড_ফাইল/এর/পাথ}}对应英文示例gzip {{[-cd|--stdout --decompress]}} {{path/to/file.gz}} > {{path/to/uncompressed_file}}。这里把-c与-d合并为组合选项占位符{{[-cd|--stdout --decompress]}}:短写法为合并的-cd,长写法为空格分隔的--stdout --decompress。tldr 的风格规范(见 style-guide.md)明确要求"程序支持时优先合并标志选项",例如{{[-it|--interactive --tty]}},此例正是这一规范的直接体现。同样地,zcat命令就是gzip --stdout --decompress的别名,效果等价。
7. 指定压缩级别(1–9)
gzip -{{1..9}} {{[-c|--stdout]}} {{ফাইল/এর/পাথ}} > {{কম্প্রেসড_ফাইল.gz/এর/পাথ}}对应英文示例gzip -{{1..9}} {{[-c|--stdout]}} {{path/to/file}} > {{path/to/compressed_file.gz}}。压缩级别共 9 档:
| 级别 | 速度 | 压缩比 |
|---|---|---|
-1 | 最快 | 最低 |
-6 | 均衡(默认值) | 均衡 |
-9 | 最慢 | 最高 |
页面描述原文明确说明:"1 为最快(低压缩率),9 为最慢(高压缩率),6 为默认"。-{{1..9}}的写法把连字符放在占位符之外,因为-前缀是固定语法,需要用户选择填入的只是 1–9 中的数字。实际使用中,追求速度的临时压缩可选用-1,归档分发场景常选用-9换取最小体积。此例同样借助-c与重定向自定义输出文件名,避免覆盖原文件。
8. 查看压缩文件的内容清单
gzip {{[-l|--list]}} {{ফাইল.txt.gz/এর/পাথ}}对应英文示例gzip {{[-l|--list]}} {{path/to/file.txt.gz}}。-l(--list)不解压即可列出归档的元信息:原始文件名、压缩后大小、压缩率、未压缩大小等,方便快速确认归档内容而不必先解压到磁盘。
gzip 选项速查表
基于上述页面内容,可归纳出这张速查表:
| 选项 | 长写法 | 作用 | 页面示例 |
|---|---|---|---|
-d | --decompress | 解压 | gzip {{[-d\|--decompress]}} {{ফাইল.gz/এর/পাথ}} |
-v | --verbose | 显示文件名与压缩减少百分比 | gzip {{[-v\|--verbose]}} {{ফাইল.gz/এর/পাথ}} |
-k | --keep | 压缩后保留原文件 | gzip {{[-k\|--keep]}} {{ফাইল/এর/পাথ}} |
-c | --stdout | 结果写标准输出(配合>重定向) | gzip {{[-c\|--stdout]}} {{ফাইল/এর/পাথ}} > {{কম্প্রেসড_ফাইল.gz/এর/পাথ}} |
-l | --list | 列出压缩文件内容清单 | gzip {{[-l\|--list]}} {{ফাইল.txt.gz/এর/পাথ}} |
-1..-9 | --fast/--best | 压缩级别,-6为默认 | gzip -{{1..9}} {{[-c\|--stdout]}} {{ফাইল/এর/পাথ}} > ... |
孟加拉语占位符与常用文案的翻译约定
多语言页面要保证占位符语义一致,tldr 仓库在 contributing-guides/translation-templates/common-arguments.md 中维护了一张跨语言的"通用占位符对照表"。其中孟加拉语(bn)一行(第 14 行)定义了核心占位符的译法:
| 英文占位符 | 孟加拉语译法 |
|---|---|
path/to/file | ফাইল/এর/পাথ |
path/to/directory | ডিরেক্টরি/এর/পাথ |
path/to/file_or_directory | ফাইল_অথবা_ডিরেক্টরি/এর/পাথ |
package | প্যাকেজ |
username | ইউজারনেম |
password | পাসওয়ার্ড |
command | কমান্ড |
port | পোর্ট |
value | ভ্যালু |
对比 pages.bn/common/gzip.md 可见,页面中的ফাইল/এর/পাথ正是path/to/file的标准译法,多词占位符用下划线连接(如কম্প্রেসড_ফাইল.gz/এর/পাথ),与英文侧compressed_file.gz的snake_case约定对应。
同时,common-descriptions.md 维护了高频描述文案的翻译,孟加拉语行定义了"显示帮助(সাহায্য প্রদর্শন)"与"显示版本(ভার্সন দেখুন)"等通用表述,供各页面复用。这两张对照表正是仓库多语言协作的"词汇表":译者先查表统一术语,再逐页翻译,从而避免同义词漂移。
别名页联动:gunzip 与 zcat
gzip还有两个高频别名,仓库为其单独建页。孟加拉语版 pages.bn/common/gunzip.md 与 pages.bn/common/zcat.md 内容为:
# gunzip > এই কমান্ডটি `gzip --decompress` - এর একটি উপনাম। - মূল কমান্ডের ডকুমেন্টেশন দেখুন: `tldr gzip`即:"gunzip是gzip --decompress的别名,查看原命令文档请运行tldr gzip"。zcat同理指向gzip --stdout --decompress。这种"别名页 → 原命令页"的重定向由仓库的别名页模板驱动——alias-pages.md 的### bn小节(第 94–104 行)提供了孟加拉语别名页的标准模板,而 scripts/set-alias-page.py 负责扫描英文别名页并自动同步生成各语言版本,保证tldr gunzip、tldr zcat这类查询最终都能把读者引导回完整的 gzip 文档。
选项占位符语法与仓库校验机制
页面中的{{[-d|--decompress]}}、{{[-cd|--stdout --decompress]}}等写法不是随意而为,而是 tldr 风格规范的一部分。style-guide.md 明确要求:
- 当客户端需要决定展示短选项还是长选项时,使用选项占位符,即
{{[-o|--output]}}; - 程序支持时优先合并标志选项,如
{{[-it|--interactive --tty]}},而不是拆成两个占位符; - 接受参数的多字符选项不合并,如
{{[-it|--interactive --tty]}} {{[-w|--workdir]}} {{path/to/directory}}。
这些规范让同一份页面在"只显示短选项"与"只显示长选项"的不同 tldr 客户端下都能正确渲染。为保证页面不被格式错误污染,scripts/check-errors.sh 会针对占位符做正则校验(如检查{{[...]}}的闭合、方括号内连字符格式等),错误格式的页面会在 CI 阶段被拦截。
多语言页面如何被统一管理与校验
从源码视角看,仓库的脚本通过 scripts/_common.py 统一处理所有语言目录:
get_pages_dirs()(第 140–153 行)遍历仓库根目录下所有以pages开头且非符号链接的目录,得到pages、pages.bn、pages.fr等全部语言目录列表;get_target_paths()(第 185–213 行)在全部语言目录中定位某个命令页(如common/gzip)的对应路径,用于跨语言批量操作;get_templates()(第 95–137 行)解析 contributing-guides/translation-templates/ 下的别名页、常用参数等翻译模板。
这意味着维护者可以"改一处英文页、自动同步多语言":脚本以英文页为骨架,把本地化描述与占位符映射到每个语言目录,pages.bn/common/gzip.md 正是这套机制下生成与维护的产物之一。读者若想为其他语言添加gzip页面,只需参照英文原页、套用对应语言的 common-arguments 占位符译法,即可保证语义一致且通过 lint 校验。
小结
从一张孟加拉语速查页出发,可以看到 tldr 仓库的三层设计:内容层是命令用法本身——gzip的 8 条高频操作覆盖压缩、解压、保留原文件、自定义输出名、级别调优与归档检视;规范层是选项占位符、通用占位符对照表与别名页模板,保证跨语言内容骨架统一;工程层则是_common.py、set-alias-page.py、check-errors.sh等脚本,让多语言同步与校验成为可自动化的流程。理解这三层,你既能在终端熟练使用gzip,也能看懂 tldr 这类协作式文档项目如何保持"内容一致、语言各异"的高质量状态。
- 文档
- 教程
- 知识库
【免费下载链接】tldr
Collaborative cheatsheets for console commands 📚.
相关推荐
tldr 孟加拉语页面实战:bzip2 压缩器命令速查全解析
tldr 孟加拉语页面实战:bzip2 压缩器命令速查全解析 导读 本文以开源 tldr 仓库中孟加拉语(Bengali)速查页面 pages.bn/commo
文档教程知识库Android am 命令实战速查:tldr 仓库 pages.bn/android/am.md 孟加拉语速查页全面解析
Android am 命令实战速查:tldr 仓库 pages.bn/android/am.md 孟加拉语速查页全面解析 本文以 tldr 开源仓库中孟加拉语(
文档教程知识库tldr 孟加拉语 7z 命令速查页解读:掌握 7z 归档、加密与解压的完整用法
tldr 孟加拉语 7z 命令速查页解读:掌握 7z 归档、加密与解压的完整用法 本篇指南以 pages.bn/common/7z.md https://lin
文档教程知识库
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考