- 文档
- 教程
- 知识库
【免费下载链接】tldr
Collaborative cheatsheets for console commands 📚.
本文以 tldr 仓库孟加拉语页面 pages.bn/common/convert.md 为核心骨架,剖析convert命令作为magick convert别名在 ImageMagick 7 中被弃用的完整脉络,并结合仓库内的原命令文档、翻译模板与维护脚本,给出可落地的迁移用法与别名页规范说明。读完你将掌握 ImageMagick 7 下旧版convert的正确替代命令、magick的常用图像处理实战命令,以及 tldr 别名页在翻译、生成与校验环节的运行机制。
一、先读懂这篇页面:别名页的“一句话定位”
pages.bn/common/convert.md 是一页标准的“别名页”(alias page)。全文没有复杂章节,仅由标题、三行描述和一个查询命令构成:
# convert > এই কমান্ডটি `magick convert` - এর একটি উপনাম। > নোট: এই উপনাম ImageMagick 7 থেকে অবচয় (deprecated) হয়েছে। এটি `magick` দ্বারা প্রতিস্থাপিত হয়েছে। > যদি ভার্সন 7+ তে পুরাতন টুল ব্যবহার করতে চান তবে `magick convert` ব্যবহার করুন। - মূল কমান্ডের ডকুমেন্টেশন দেখুন: `tldr magick convert`逐行解读(孟加拉语 → 中文):
# convert:页面标题,即命令名本身。- 第一行:
convert是magick convert的别名(孟加拉语 "এই কমান্ডটি … - এর একটি উপনাম" 意为“该命令是 … 的别名”)。 - 第二行(
নোট:开头,即 “Note”):这个别名自 ImageMagick 7 起已被弃用(অবচয় (deprecated) = 弃用),它已被magick取代。 - 第三行:如果要在 7+ 版本中使用旧工具(পুরাতন টুল = 旧工具),请使用
magick convert。 tldr magick convert:查看原命令文档的查询命令。
与英文版 pages/common/convert.md 相比,孟加拉语版把弃用说明拆成了两行(英文版以一行 Note 表达同样信息),这正体现了 tldr 翻译规范中的约定:除Note:标签外,说明文字允许各语言自由组织表述。这一约定记录在 contributing-guides/translation-templates/notes.md,其中孟加拉语的Note标签模板为> নোট: …,与 convert 页第二行使用的标签完全一致。
二、核心事实:ImageMagick 7 中convert的弃用与替代
这篇别名页之所以存在,根因是 ImageMagick 的重大版本迁移:
- 别名关系:在 ImageMagick 6 及更早版本中,
convert是用户最熟悉的图像转换入口;进入 ImageMagick 7 后,官方将众多独立命令统一收纳到单一的magick命令之下,convert便成了magick的一个子命令形态,即magick convert。因此页面第一行明确标注“convert是magick convert的别名”。 - 弃用状态:裸命令
convert作为别名自 ImageMagick 7 起被标记为弃用(deprecated),官方推荐路径是直接使用magick取代它。 - 两个可用路径:
magick:ImageMagick 7+ 的新入口,完成格式转换等操作的首选;magick convert:需要复现旧工具行为(例如某些依赖旧版调用习惯的场景)时,显式指定convert子命令。
这一点在仓库中得到了交叉印证:pages/common/magick.md 的开头说明即写道 “This tool replacesconvertin ImageMagick 7+. Seemagick convertto use the old tool in versions 7+.”(本工具在 ImageMagick 7+ 中取代了convert;如需在 7+ 使用旧工具,参见magick convert)。别名页与主命令页的表述完全对齐,也是 tldr “同一命令在不同页面口径一致” 的典型体现。
三、magick原命令的实战用法
别名页将用户引导至原命令文档,而 pages/common/magick.md 完整收录了magick的 8 组实战命令。下面按使用场景归类解读,其中第 5 条正是对 “magick convert” 这一迁移形态的直接演示。
3.1 格式转换与尺寸调整
# 格式转换(PNG → JPG) magick {{path/to/input_image.png}} {{path/to/output_image.jpg}} # 调整尺寸并生成新副本 magick {{path/to/input_image.jpg}} -resize {{100x100}} {{path/to/output_image.jpg}} # 按百分比缩放 magick {{path/to/input_image.png}} -resize {{50}}% {{path/to/output_image.png}}magick把输入文件与输出文件直接作为位置参数,根据输出扩展名自动推断目标格式;-resize支持固定宽高(如100x100)与百分比(如50%)两种写法,并且总是“生成新副本”,不破坏原图。
3.2 按目标文件大小压缩
magick {{path/to/input_image.png}} -define jpeg:extent={{512kb}} {{path/to/output_image.jpg}}通过-define jpeg:extent={{512kb}}把输出 JPEG 控制在指定体积内(示例为 512KB),适合需要控制图片上传体积或存储占用的场景。
3.3 拼接与批量合成
# 垂直(-append)或水平(+append)拼接多张图片,空白区域保持透明 magick convert -background none {{path/to/image1.png path/to/image2.png ...}} {{-append|+append}} {{path/to/output_image.png}} # 用当前目录全部 JPEG 生成 GIF magick {{*.jpg}} {{path/to/images.gif}} # 用当前目录全部 JPEG 生成 PDF magick {{*.jpg}} -adjoin {{path/to/file.pdf}}注意第一条命令使用的前缀是magick convert——这正是别名页所推荐的 “在 7+ 使用旧工具” 的正确写法,也说明别名页的迁移提示并非空谈,而是直接对应原命令文档中的可执行示例。-append表示垂直拼接、+append表示水平拼接,配合-background none让空白区域透明;批量生成 GIF 与 PDF 时直接以通配符*.jpg作为输入,-adjoin将所有页面合并进单个多页文件。
3.4 图案生成
magick -size {{640x480}} pattern:checkerboard {{path/to/checkerboard.png}}pattern:checkerboard是 ImageMagick 内置的棋盘格纹理,配合-size {{640x480}}可快速生成指定尺寸的测试用图案,常用于图像处理实验或背景占位素材。
四、别名页是如何生成与同步的
别名页不是手工随意写的,仓库提供了统一的模板与自动化脚本。
4.1 翻译模板:孟加拉语的别名页骨架
contributing-guides/translation-templates/alias-pages.md 定义了全部语言的别名页模板。孟加拉语模板位于该文件#L94-L104,内容是:
# example > এই কমান্ডটি `example` - এর একটি উপনাম। - মূল কমান্ডের ডকুমেন্টেশন দেখুন: `tldr example`模板用占位符example代表“标题 / 原命令名 / 文档查询命令”三个可变槽位。注意:模板本身没有 Note 行,而 convert 页在模板基础上额外加入了弃用说明——这正是 contributing-guides/translation-templates/notes.md 所描述的用法:当页面需要指出命令已弃用等重要信息时,在描述之后追加Note行。
4.2 自动化脚本:set-alias-page.py
scripts/set-alias-page.py 是别名页的生成与同步工具,其核心机制如下:
- 模板替换:
generate_alias_page_content函数(#L120-L142)把语言模板中的example占位符按顺序替换为真实值——依次是页面标题、原命令名(对 convert 页而言为magick convert)、文档查询命令(同样为magick convert),最终拼出完整别名页内容。 - 交互式创建:
python3 scripts/set-alias-page.py -p common/convert会启动向导,依次询问页面标题、原命令名与文档查询命令(后两者默认相同),并预览将要生成的页面后落盘。 - 多语言同步:
python3 scripts/set-alias-page.py -S读取英文别名页并同步到全部翻译目录;配合-l bn可只处理孟加拉语(如-S -l bn);-n为 dry-run,只打印将发生的改动而不落盘;-s用于把改动 git stage 起来。 - 识别规则:
get_alias_command_in_page(#L221-L282)通过解析页面中的 “> … 是命令的别名” 行与`tldr 命令`行,抽取原命令名与文档命令,从而判断某页面是否为别名页。
五、翻译页面的一致性校验
为了让 pages.bn/common/convert.md 这类翻译页始终与英文原版保持同步,仓库在 CI 与本地 lint 两个层面做了约束:
- lint 规则:scripts/test-tldr-lint.sh 在
#L8-L11规定,对bn等语言在基础TLDR104检查之外,额外启用TLDR003、TLDR004、TLDR015三条规则,用于约束页面结构、标题与格式细节。 - 过时检测:scripts/check-pr.sh 中的
check_outdated_page(#L111-L138)在每次 PR 时对比翻译页与对应英文页:先比较命令条目的数量,再对命令内容做“去除占位符与格式符号”的归一化处理后逐条比对,任一不一致都会标记该页面 “outdated”(过时)。同时check_missing_english_page会拦截“没有对应英文页的翻译页”,确保翻译永远有英文基准可循。
正因有这套机制,别名页的 Note 文案、命令格式与英文版严格对齐,用户在任意语言下看到的都是同一份经过校验的准确信息。
六、如何查看与使用
- 使用 tldr 客户端时,直接执行
tldr convert会命中别名页,页面会指引你tldr magick convert去查看原命令的完整文档;执行tldr magick convert则直接获得magick的 8 组实战示例。 - 在仓库中,可对照阅读三份核心文件:英文别名页 pages/common/convert.md、孟加拉语别名页 pages.bn/common/convert.md 以及原命令完整文档 pages/common/magick.md。
结语
一张只有几行的孟加拉语别名页,浓缩了 ImageMagick 7 的一次重要命令行迁移:convert从独立命令退化为magick convert的别名并被标记弃用,新代码应直接使用magick。tldr 通过“别名页 + 原命令页 + 翻译模板 + 自动化脚本 + CI 校验”的组合,把这一信息以 40 多种语言稳定地传递给终端用户——这正是协作式命令行速查手册的独特价值:小页面承载的不仅是命令用法,还有版本演进中的兼容性智慧。
- 文档
- 教程
- 知识库
【免费下载链接】tldr
Collaborative cheatsheets for console commands 📚.
相关推荐
WVP-PRO国标视频平台:一条命令免费部署,5分钟接入
WVP PRO国标视频平台:一条命令免费部署,5分钟接入 WVP PRO 是一款开源免费的 GB28181 国标视频平台:把海康、大华、宇视等各品牌的国标摄像头
文档教程知识库CC Switch Windows 安装后无法启动?完整排查路径,30 秒定位卡在哪一环
CC Switch Windows 安装后无法启动?完整排查路径,30 秒定位卡在哪一环 CC Switch Windows 安装后无法启动怎么办?在 Wind
文档教程知识库九联UNT400G电视盒刷Armbian保姆级教程:S905L3盒子变Linux服务器
九联UNT400G电视盒刷Armbian保姆级教程:S905L3盒子变Linux服务器 本文帮你把九联UNT400G(Amlogic S905L3/L3B)电视
文档教程知识库
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考