让命令行学习变得更简单:tldr 和 cheat.sh
在使用命令行工具时,很多人都会遇到这样的情况:
- 记不清命令的用法:你是不是经常忘了某个命令的具体用法,或者记不清要用什么参数?
- 手册页太复杂:每次查
man
手册页或--help
时,是不是觉得信息太多,找不到自己需要的部分? - 新手入门难:刚开始学习命令行时,是不是觉得每个命令都有好多选项,不知道从哪里开始学起?
- 跨平台差异:不同操作系统之间的命令行工具用法可能不一样,是不是让你感到困惑?
- 需要快速查找:有时候你只想快速找到一个命令的用法,不想安装额外的软件或离开当前的工作环境。
为了解决这些问题,这里介绍两个非常实用的工具:tldr 和 cheat.sh。它们通过简洁明了的帮助信息,让你可以在几秒钟内找到所需的命令用法,极大地提高了工作效率。
tldr: 简单易懂的命令行示例
tldr(Too Long; Didn’t Read)是一个社区驱动的项目,它将复杂的命令行工具文档简化为最常用的几个例子。每个页面只展示最基本和最有用的命令用法,去除了不必要的细节,让使用者可以快速上手。GitHub 地址 https://github.com/tldr-pages/tld | 官方网站 https://tldr.sh/
使用方法:
1. 安装 tldr:
– 在 Ubuntu 或 Debian 系统上,你可以直接使用包管理器安装:
sudo apt-get install tldr
- 对于其他 Linux 发行版或 macOS,可以通过 Homebrew 安装:
brew install tldr
- 也可以通过 Python 包管理器 pip 安装:
pip3 install tldr
- 查询命令用法:
- 只需在终端中输入
tldr
加上你想查询的命令名。例如,如果你想了解ls
命令的常用用法,可以输入:tldr ls
- 你会得到如下输出(来自 tldr 页面):
- 只需在终端中输入
List directory contents. More information: https://www.gnu.org/software/coreutils/ls.
List files one per line:
ls -1
List all files, including hidden files:
ls -a
List files with a trailing symbol to indicate file type (directory/, symbolic_link@, executable*, ...):
ls -F
List all files in long format (permissions, ownership, size, and modification date):
ls -la
List files in long format with size displayed using human-readable units (KiB, MiB, GiB):
ls -lh
List files in long format, sorted by [S]ize (descending) [R]ecursively:
ls -lSR
List files in long format, sorted by time the file was modified and in reverse order (oldest first):
ls -ltr
Only list directories:
ls -d */
- 更新数据库:
- 如果你第一次使用 tldr 或者发现某些命令没有对应的条目,可以尝试更新数据库:
tldr --update
cheat.sh: 终端中的即时帮助服务
cheat.sh 是一个在线服务,允许你在终端中快速查找命令行工具的帮助信息。它不仅涵盖了常见的 UNIX/Linux 命令,还包括了编程语言 API 的参考文档。你可以通过简单的 HTTP 请求或命令行客户端获取所需信息,无需安装额外软件。GitHub 地址 https://github.com/chubin/cheat.sh | 官方网站 https://cheat.sh/
使用方法:
1. 直接通过 curl 查询:
– 你可以直接在终端中使用 curl
命令来查询某个命令的用法。例如,查询 git
命令的用法:
curl https://cheat.sh/git
- 你会得到如下输出(来自 cheat.sh):
# Set your identity.
git config --global user.name "John Doe"
git config --global user.email johndoe@example.com
# Set your editor.
git config --global core.editor emacs
# Enable color support for commands like `git diff`. Disable with `never` or
# partially disable -- unless otherwise applied -- with `false`.
git config --global color.ui true
# Stage all changes for commit.
git add [--all|-A]
# Stash changes locally. This will keep the changes in a separate changelist, -
# called 'stash', and the working directory is cleaned. You can apply changes
# from the stash at any time.
git stash
# Stash changes with a message.
git stash save "message"
# List all the stashed changes.
git stash list
# Apply the most recent change and remove the stash from the stash list.
git stash pop
# Apply stash from the stash list, but does not remove the stash from the list.
git stash apply stash@{6}
# Commit staged changes.
git commit -m "Your commit message"
# Edit previous commit message.
git commit --amend
# Commit in the past. Newer versions of Git allow `--date="2 days ago"` usage.
git commit --date="`date --date='2 day ago'`"
git commit --date="Jun 13 18:30:25 IST 2015"
后面内容省略...
- 使用命令行客户端:
- 你可以安装 cheat.sh 的命令行客户端
cheat
,这样可以直接在终端中使用cheat
命令查询。安装方法如下:
- 你可以安装 cheat.sh 的命令行客户端
pip install cheat
- 查询命令用法时,只需输入
cheat
加上命令名。例如:
cheat git
- 你会得到和上面一样的输出(来自 cheat.sh):
- 支持多种编程语言:
- cheat.sh 不仅限于命令行工具,还支持多种编程语言的 API 查询。例如,查询 Python 中的怎样反转list用法:
curl https://cht.sh/python/reverse+a+list
- 你会得到如下输出(来自 cheat.sh):
# You can make use of the [`reversed`][1] function for this as:
>>> array=[0,10,20,40]
>>> for i in reversed(array):
... print(i)
# Note that `reversed(...)` does not return a list. You can get a
# reversed list using `list(reversed(array))`.
#
# [1]: https://www.python.org/dev/peps/pep-0322/
#
# [codaddict] [so/q/3940128] [cc by-sa 3.0]
- 隐身模式:
- 如果你不希望每次查询都记录在网络请求中,可以使用隐身模式。例如:
curl -I https://cheat.sh/git
- 你会看到类似以下的响应头信息,但不会返回具体内容:
HTTP/1.1 200 OK
Content-Type: text/plain
tldr 通过社区贡献的简明示例,让用户可以轻松找到常用命令的用法;而 cheat.sh 则提供了即时的在线帮助,适合那些需要快速查找信息的用户。无论是新手还是老手,这两个工具都能显著提高你的工作效率,让你更加自信地使用命令行。