TLDR:一个新手友好的简要命令手册

TLDR:一个新手友好的简要命令手册

azusa 8 2024-12-29

TLDR : 一个新手友好的简要命令手册

什么是TLDR?

TLDR (Too Long; Didn’t Read) 是一个由社区维护的帮助页面集合, 相较于传统的使用手册, TLDR 旨在以更简单, 更易理解的方式为命令提供说明, 对于命令行新手十分友好

TLDR的GitHub链接

TLDR的安装和配置

TLDR的安装

1.使用 npm 安装

npm install -g tldr

2.使用 pip 安装

pip install tldr

3.使用Homebrew安装

brew install tlrc

安装完成后, 可以在终端输入 tldr 来检验安装是否完成

$ tldr
usage: tldr command [options]

Python command line client for tldr

positional arguments:
  command               command to lookup

options:
  -h, --help            show this help message and exit
  -v, --version         show program's version number and exit
  --search "KEYWORDS"   Search for a specific command from a query
  -u, --update, --update_cache
                        Update the local cache of pages and exit
  -p PLATFORM, --platform PLATFORM
                        Override the operating system [android, freebsd, linux, netbsd, openbsd, osx, sunos, windows,
                        common]
  -l, --list            List all available commands for operating system
  -s SOURCE, --source SOURCE
                        Override the default page source
  -c, --color           Override color stripping
  -r, --render          Render local markdown files
  -L LANGUAGE, --language LANGUAGE
                        Override the default language
  -m, --markdown        Just print the plain page file.
  --print-completion {bash,zsh,tcsh}
                        print shell completion script

如出现以上画面, 则表示安装完成

配置你的TLDR

1.修改语言

tldr的默认语言是英语, 如果你想用中文输出, 可以配置.bashrc文件改成中文

先用 vim 打开.bashrc

vim ~/.bashrc

在最后一行加入

export TLDR_LANGUAGE="zh"

这样输出就变成了中文, 不过 tldr 的汉化并不完全, 所以有的文档依旧是英文

2.更新本地缓存

为了更加快速地使用 tldr 可以将命令缓存到本地:

tldr --update

缓存到本地后, tldr的速度会非常快

3.改一个顺手的指令

虽然 tldr 的功能确实方便, 不过 t l d r 四个字母在刚开始使用的时候不容易记住, 而且我个人感觉打起来不太舒服, 这里建议将 tldr 改成如 howwhat 等方便好记的命令, 可以通过 alias 命令实现

用同样的方法在./bashrc的最后加上

alias how='tldr'

这里的 how 可以改成其他任何你喜欢的指令

配置完成后输入alisas检查你的配置

$ alias
...........
...........
alias how='tldr'

之后就可以用how <命令>的方式来完成 tldr 的操作

$ how find

  find

  在指定目录树下递归查找文件或目录。
  更多信息:https://manned.org/find.

  - 通过扩展名查找文件:
    find 指定目录 -name '*.ext'

  - 查找匹配多个路径或名称模式的文件:
    find 指定目录 -path '**/path/**/*.ext' -or -name '*pattern*'

  - 查找匹配指定名称的目录,不区分大小写:
    find 指定目录 -type d -iname '*lib*'

  - 查找匹配指定模式的文件,排除特定路径:
    find 指定目录 -name '*.py' -not -path '*/site-packages/*'

  - 查找符合指定大小范围的文件,将递归深度限制为 "1":
    find 指定目录 -maxdepth 1 -size +500k -size -10M

  - 对每个文件运行命令(在命令中使用 `{}` 代表当前文件):
    find 指定目录 -name '*.ext' -exec wc -l {} \;

  - 查找最近 7 天修改的文件:
    find 指定目录 -daystart -mtime -7

  - 查找空(0 字节)的文件并删除:
    find 指定目录 -type f -empty -delete

Found 2 pages with the same name under the platforms: windows, windows.

关于alias

Linux alias 命令用于设置指令的别名,用户可利用 alias,自定指令的别名。。

它可以使您以一种更简单和易于记忆的方式执行命令,而不必每次都键入完整的命令。

若仅输入 alias,则可列出目前所有的别名设置。

alias 的效果仅在该次登入的操作有效,若想要每次登入都生效,可在 .profile.cshrc 中设定指令的别名。

TLDR的使用

TLDR 的使用十分简单, 如果有一个命令你不会用(以 tar 为例), 在命令行中输入tldr tar就可以看到它的用法

$ tldr tar

  tar

  归档实用程序。
  通常与压缩方法结合使用,例如 `gzip` 或 `bzip2`.
  更多信息:https://www.gnu.org/software/tar.

  - 创建存档并将其写入文件:
    tar cf 目标文件.tar 路径/到/文件1 路径/到/文件2 ...

  - 创建一个 gzip 压缩文件并将其写入文件:
    tar czf 目标文件.tar.gz 路径/到/文件1 路径/到/文件2 ...

  - 使用相对路径从目录创建一个 gzip 压缩文件:
    tar czf 目标文件.tar.gz --directory=路径/到/目录 .

  - 详细地将(压缩的)存档文件提取到当前目录中:
    tar xvf 源文件.tar[.gz|.bz2|.xz]

  - 将(压缩的)存档文件解压缩到目标目录中:
    tar xf 源文件.tar[.gz|.bz2|.xz] --directory=目标目录

  - 创建压缩存档并将其写入文件,使用文件扩展名自动确定压缩程序:
    tar caf 目标文件.tar.xz 路径/到/文件1 路径/到/文件2 ...

  - 详细列出 tar 文件的内容:
    tar tvf 源文件.tar

  - 从存档文件中提取与模式匹配的文件:
    tar xf 源文件.tar --wildcards "*.html"

当然, 你也可以用 tldr 来查询 tldr 的用法

$ tldr tldr

  tldr

  显示来自 tldr-pages 项目的命令行工具的简单帮助页面。
  注意:`--language` 和 `--list` 选项并非客户端规范所必需,但大多数客户端都实现了它们。
  更多信息:https://github.com/tldr-pages/tldr/blob/main/CLIENT-SPECIFICATION.md#command-line-interface.

  - 打印指定命令的 tldr 页面(提示:这就是你来到这里的方式!):
    tldr 命令

  - 打印指定子命令的 tldr 页面:
    tldr 命令 子命令

  - 用指定语言打印命令的 tldr 页面(如果没有,返回英语):
    tldr --language 语言代码 命令

  - 打印指定平台的命令的 tldr 页面:
    tldr --platform android|common|freebsd|linux|osx|netbsd|openbsd|sunos|windows 命令

  - 更新 tldr 页面的本地缓存:
    tldr --update

  - 列出当前平台和 `common` 的所有页面:
    tldr --list

  - 列出某个命令的所有可用子命令页面:
    tldr --list | grep 命令 | column

对于某一命令的某一参数的使用方法, 也可以用 tldr, 如:

$ tldr git clone

  git clone

  克隆现有的代码仓库。
  更多信息:https://git-scm.com/docs/git-clone.

  - 克隆一个现有的代码仓库到指定目录:
    git clone 远程代码库地址 路径/到/目录

  - 克隆一个现有的代码库和它的子模块:
    git clone --recursive 远程代码库地址

  - 仅克隆现有代码仓库的 `.git` 目录:
    git clone --no-checkout 远程_代码仓库_地址

  - 克隆一个本地的代码库:
    git clone --local 路径/到/本地/代码库名

  - 静默克隆,不打印任何日志:
    git clone --quiet 远程代码库地址

  - 克隆一个现有的代码库,只获取默认分支上10个最新的提交(对节省时间很有用):
    git clone --depth 10 远程代码库地址

  - 克隆一个现有的、特定远程分支的代码库:
    git clone --branch 分支名称 --single-branch 远程代码库地址

  - 使用 SSH 命令克隆一个现有的代码库:
    git clone --config core.sshCommand="ssh -i 路径/到/ssh_私钥" 远程代码库地址

总结

TLDR 是一个相当方便的命令简要手册, 免去了查询枯燥的官方手册, 对于想快速了解一个命令的用法的时候十分有用, 结合 Github 上的另一个项目 thefuck, 新手可以更加便捷方便地使用命令行