什么是 tldr?
tldr 是 tldr-pages 的官方 Rust 客户端。tldr-pages 是社区维护的简化版 man 手册:每一页先用一句话说明命令是干什么的,接着列出人们真正会敲的那几条示例。上游项目叫 tlrc,软件包和命令都叫 tldr。它是一个没有任何依赖的静态二进制文件,把整套页面保存在本地缓存里,所以查询瞬间完成、离线也能用,缓存过期后还会自己更新。页面按平台分类(Linux、macOS、Windows、Android、各种 BSD),有几十种语言,输出的颜色和排版都在一个 TOML 文件里,软件包还附带 man 手册和 bash、zsh、fish 的补全。
tldr 软件包是另一个程序,即 Haskell 客户端 tldr-hs,而 Debian 的 tealdeer 也会装一个 /usr/bin/tldr;两者都不是 tlrc,所以要通过 apt 拿到官方客户端,就得靠这个仓库。
⚡ tldr 的主要功能
📄 示例优先
tldr tar 打印的是你真正会用到的八种 tar 用法,而不是它接受的两百个参数。多个单词的命令照常输入即可:tldr git rebase、tldr docker compose。
⚡ 本地缓存,而不是网络请求
第一次运行会下载整套页面;之后每次查询都只是读一个文件,手指还没离开回车键页面就出来了,在火车上或者代理后面也一样。缓存超过你设定的时效后会自己更新,也可以用 --update 手动刷新。
🖥️ 所有平台,一条命令
页面按平台组织。默认给你 Linux 的那一页,要给面前这台机器以外的系统写说明时,用 -p macos 或 -p windows。
🌍 你的语言
tldr-pages 已被翻译成几十种语言。tlrc 遵循 LANG 和 LANGUAGE,逐页回退到英文,也可以用 -L 为单次查询指定语言。
🔍 找到你还不知道的那一页
--list 打印当前平台的所有页面名称,--search 在名称和描述里查找,--info 告诉你缓存有多旧、包含哪些语言。
🎨 由你来配置
一个 config.toml:渲染页面的每一种颜色和样式、自动更新前的缓存时效、要下载的语言、优先使用的平台,还有一个在缓存之前被查找的自定义页面目录。
apt upgrade 就能让你保持最新。
📦 从 deb.griffo.io 安装
第 1 步:添加仓库
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | sudo tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
sudo apt updateinstall -d -m 0755 /etc/apt/keyrings
curl -fsSL https://deb.griffo.io/EA0F721D231FDD3A0A17B9AC7808B4DD62C41256.asc | gpg --dearmor --yes -o /etc/apt/keyrings/deb.griffo.io.gpg
echo "deb [signed-by=/etc/apt/keyrings/deb.griffo.io.gpg] https://deb.griffo.io/apt $(lsb_release -sc 2>/dev/null) main" | tee /etc/apt/sources.list.d/deb.griffo.io.list > /dev/null
apt updatesudo apt install extrepo
sudo extrepo enable griffo
sudo apt update🆓 有一个永久免费的镜像。 deb-free.griffo.io 永久免费提供软件包 — 无需账号、无需订阅,最多落后上游 2 个月,安全修复立即发布。目前收录 cliamp、Ghostty、lazydocker、Oh My Posh、Uncloud 和 Zed;tldr 不在其中,因此今天只能通过上面的仓库安装 — 提出请求即可将其加入。
🧩 关于 extrepo 选项。 extrepo 是 Debian 官方用于管理第三方仓库的工具:它会替你写好 sources 文件并安装签名密钥,并在使用前先对照签名元数据校验该密钥。本仓库以 griffo 之名登记其中,永久免费镜像则为 griffo-free,因此在 Debian(bookworm、trixie、forky、sid)上,上面的命令就是全部配置。
extrepo 只负责 sources 文件和密钥,订阅凭据仍然要写入 /etc/apt/auth.conf.d/deb.griffo.io.conf。Ubuntu 不在覆盖范围内,因为 extrepo 只发布 Debian 各套件的元数据:在 Ubuntu 上请使用 sudo 或 root 的命令。
第 2 步:安装 tldr
# 安装最新版 tldr
# 如果装了 tealdeer,apt 会先把它卸掉:两个软件包都会把
# /usr/bin/tldr 放进 PATH,所以这个包会替换它
sudo apt install tldr
# 验证安装
tldr --version# 安装最新版 tldr
# 如果装了 tealdeer,apt 会先把它卸掉:两个软件包都会把
# /usr/bin/tldr 放进 PATH,所以这个包会替换它
apt install tldr
# 验证安装
tldr --version第 3 步:第一次运行
# 第一次查询会下载页面缓存,所以需要联网一次;
# 之后的一切都在本地完成
tldr tar
# 随时手动刷新缓存
tldr --update
# 缓存在哪里、有多旧、包含哪些语言
tldr --info
# 所有选项
tldr --help🎯 基本用法示例
查东西:
# 某个命令的页面
tldr tar
# 子命令,按你平时敲的方式写
tldr git rebase
# 其他平台的页面
tldr -p macos brew
tldr -p windows choco
# 单次查询用另一种语言
tldr -L zh tar
# 当前平台的所有页面名称;不知道命令叫什么时,
# 在名称和描述里搜索
tldr --list
tldr --search "compress"调整输出:
# 原始 markdown,方便接给别的程序
tldr -R tar
# 小终端上去掉空行
tldr --compact tar
# 不要颜色,用于日志和脚本
tldr --color never tar
# 即使缓存过期也绝不联网
tldr --offline tar
# 提交到上游之前,先渲染你正在写的页面
tldr -r my-command.md按自己的习惯配置:
# 配置从哪里读取,以及一份可以起步的默认配置
tldr --config-path
mkdir -p "$(dirname "$(tldr --config-path)")"
tldr --gen-config > "$(tldr --config-path)"
# 然后在 config.toml 里设置:自动更新前的缓存时效、
# 要保留的语言、优先的平台,以及页面每个部分的颜色
# 下载出了问题就清空缓存
tldr --clean-cache🔧 工具集成
tldr 只是一个查询工具,所以它和你已经在用的工具配合得很好:
- 你的 shell: 软件包安装了 bash、zsh 和 fish 的补全,
tldr gi<tab>会从缓存里补全页面名称,客户端本身的手册则是man tldr - fzf:
tldr --list | fzf | xargs tldr一行就是一个模糊页面选择器,--raw的输出可以喂给预览窗格 - 修正页面:
tldr --edit tar会打印一个在 GitHub 网页编辑器中打开该页面的链接,修正一个 tldr 页面只差一个 pull request - man: tldr 不是用来取代手册的,它是先读的那一个;知道自己要哪个参数之后,完整的手册就在一条
man之外 - 脚本和文档:
--color never和--raw让输出可以放心地贴进 README、工单或日志
🚀 为什么选择 deb.griffo.io?
- 官方 Debian:
apt install tldr装到的是 Haskell 客户端 tldr-hs,tealdeer则是另一个同名命令的 Rust 客户端;两者都不是官方的 tlrc - 自己从源码构建: 版本够新,但每台机器都要一套 Rust 工具链,而且留下一个 apt 完全不知道的二进制文件
- 上游的发布压缩包: 同样的静态二进制文件,但要手动解压到 PATH 里,没有补全、没有 man 手册、也没有更新
- deb.griffo.io: 最新版本,并自动更新
- ✅ 官方客户端: tlrc 是 tldr-pages 项目自己维护的客户端,而不是众多重新实现中的一个
- ✅ 命令是 tldr: 软件包叫 tldr 是因为命令就叫这个名字,而且它与
tealdeer冲突并替换它,所以/usr/bin/tldr永远不会有争抢 - ✅ 自动更新: 上游发布后数小时内更新软件包,页面缓存还会在此之上自己更新
- ✅ 完整的软件包: 二进制文件、man 手册,以及 bash、zsh 和 fish 的补全
- ✅ 零依赖: 静态链接的 musl 二进制文件,不会再拉进任何别的东西
- ✅ 两种架构: amd64 和 arm64,同一个静态二进制文件在所有版本上都能运行
- ✅ 多发行版: 支持 Debian 13 (trixie) 及更新版本:Trixie、Forky 和 Sid
- ✅ 易于维护: 使用标准 apt 命令即可更新
📦 软件包构建仓库
Debian 软件包在这个 GitHub 仓库中自动构建和维护:
- 📖 tldr-debian - 最新版本构建
🔗 相关软件包
deb.griffo.io 同样提供:
- fzf 模糊查找器 - 把
tldr --list变成交互式的页面选择器 - ripgrep - 你会最先去读它 tldr 页面的那个搜索工具
- eza - 现代版 ls,又一个参数少得多的命令
- zoxide - 给你阅读这些页面的那个 shell 一个更聪明的 cd