☰
gzip 命令压缩与解压实战:解读 tldr 仓库孟加拉语速查页面与多语言维护机制
2026/10/6 2:03:29 网站建设 项目流程
  • 文档
  • 教程
  • 知识库

【免费下载链接】tldr

Collaborative cheatsheets for console commands 📚.

项目地址:https://gitcode.com/GitHub_Trending/tl/tldr
点击查看免费下载

本篇文章以 孟加拉语 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 📚.

项目地址:https://gitcode.com/GitHub_Trending/tl/tldr
点击查看免费下载
上一篇:OpenRig Conveyor Starter:用队列交接与工作流实例打造多 Agent 流水线教学 rig
下一篇:Material Theme UI错误与警告样式定制:提升代码质量感知

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询