关于 Linux 和开源的信息在互联网上比比皆是,但是当您专注于工作时,通常需要快速文档。自从 Unix 的早期,甚至在 Linux 出现之前,就已经有了 man
(“manual”的缩写)和 info
命令,这两个命令都显示关于命令、配置文件、系统调用等的官方项目文档。
关于 man
和 info
页面是旨在为已经知道如何使用工具的用户提供有用的提醒,还是为初次用户提供介绍,存在争议。无论哪种方式,man
和 info
页面都描述了工具以及如何使用它们,但很少涉及具体任务以及如何完成这些任务。正是出于这个原因,开发了 cheat
命令。
例如,假设您不记得如何 解压 tar 文件。man
页面为您提供所有需要的选项,但它需要您将这些信息转换为功能命令
tar -A [OPTIONS] ARCHIVE ARCHIVE
tar -c [-f ARCHIVE] [OPTIONS] [FILE...]
tar -d [-f ARCHIVE] [OPTIONS] [FILE...]
tar -t [-f ARCHIVE] [OPTIONS] [MEMBER...]
tar -r [-f ARCHIVE] [OPTIONS] [FILE...]
tar -u [-f ARCHIVE] [OPTIONS] [FILE...]
tar -x [-f ARCHIVE] [OPTIONS] [MEMBER...]
这正是某些用户所需要的,但会让其他用户感到困惑。相比之下,tar 的 cheat sheet 提供了完整的常用命令
$ cheat tar
# To extract an uncompressed archive:
tar -xvf /path/to/foo.tar
# To extract a .tar in specified Directory:
tar -xvf /path/to/foo.tar -C /path/to/destination/
# To create an uncompressed archive:
tar -cvf /path/to/foo.tar /path/to/foo/
# To extract a .tgz or .tar.gz archive:
tar -xzvf /path/to/foo.tgz
tar -xzvf /path/to/foo.tar.gz
[...]
这正是您在需要时所需要的。
Linux cheat 命令
cheat
命令是一个实用程序,用于搜索和显示您可以使用 Linux 命令执行的示例任务列表。与许多 Unix 命令一样,对于相同的概念有不同的实现,包括一个用 Go 编写的,以及一个我帮助维护的仅用 100 行 Bash 编写的。
要安装 Go 版本,请下载最新版本并将其放在您的路径中的某个位置,例如 ~/.local/bin/
或 /usr/local/bin
。要安装 Bash 版本,请下载最新版本并运行 install-cheat.sh
脚本
$ sh ./install-cheat.sh
或者要配置安装,请使用 Autotools
$ aclocal ; autoconf
$ automake --add-missing ; autoreconf
$ ./configure --prefix=$HOME/.local
$ make
$ make install
获取适用于您的 Linux 终端的速查表
速查表只是包含常用命令的纯文本文件。速查表的主要集合可在 Github.com/cheat/cheatsheets 获得。Go 版本的 cheat 会在您首次运行命令时为您下载速查表。如果您使用的是 Bash 版本的 cheat,则 --fetch
选项会为您下载速查表
$ cheat --fetch
与 man
页面一样,您的系统上可以有多个速查表集合。Go 版本的 cheat 使用 YAML 配置文件来定义每个集合的位置。Bash 版本在安装期间定义路径,默认情况下下载 Github.com/cheat/cheatsheets 集合以及 Opensource.com 自己的 Gitlab.com/opensource.com/cheatsheets 集合。
列出速查表
要列出系统上的速查表,请使用 --list
选项
$ cheat --list
7z
ab
acl
alias
ansi
ansible
ansible-galaxy
ansible-vault
apk
[...]
查看 Linux 速查表
查看速查表就像查看 man
或 info
页面一样容易。只需提供您需要帮助的命令的名称
$ cheat alias
# To show a list of your current shell aliases:
alias
# To alias `ls -l` to `ll`:
alias ll='ls -l'
默认情况下,cheat
命令使用您的环境的分页器。您的分页器通过 PAGER
环境变量设置。您可以通过在运行 cheat
命令之前重新定义 PAGER
变量来临时覆盖它
$ PAGER=most cheat less
如果您只想在没有分页器的情况下将速查表 cat 到您的终端中,Bash 版本有一个 --cat
选项,为了方便起见
$ cheat --cat less
这实际上不是作弊
cheat 系统直奔主题。您不必拼凑关于如何使用命令的线索。您只需按照示例操作即可。当然,对于复杂的命令,它不是对实际文档进行彻底研究的捷径,但对于快速参考,它已经足够快了。
您甚至可以通过将文件放在其中一个速查表集合中来创建自己的速查表。好消息!由于这些项目是开源的,您可以将您的个人速查表贡献给 GitHub 集合。还有更多好消息!当有新的 Opensource.com 速查表 发布时,我们从现在开始将包含纯文本版本,以便您可以将其添加到您的集合中。
该命令名为 cheat
,但正如任何 Linux 用户都会向您保证的那样,这实际上不是作弊。这是更聪明地工作,以开源的方式。
6 条评论