你只需要知道的唯一 Linux 命令

Linux cheat 命令是一个实用程序,用于搜索和显示您可以使用命令执行的示例任务列表。
15 位读者喜欢这篇文章。
Command line prompt

Opensource.com

关于 Linux 和开源的信息在互联网上比比皆是,但是当您专注于工作时,通常需要快速文档。自从 Unix 的早期,甚至在 Linux 出现之前,就已经有了 man(“manual”的缩写)和 info 命令,这两个命令都显示关于命令、配置文件、系统调用等的官方项目文档。

关于 maninfo 页面是旨在为已经知道如何使用工具的用户提供有用的提醒,还是为初次用户提供介绍,存在争议。无论哪种方式,maninfo 页面都描述了工具以及如何使用它们,但很少涉及具体任务以及如何完成这些任务。正是出于这个原因,开发了 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 速查表

查看速查表就像查看 maninfo 页面一样容易。只需提供您需要帮助的命令的名称

$ 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 用户都会向您保证的那样,这实际上不是作弊。这是更聪明地工作,以开源的方式。

标签
Seth Kenlon
Seth Kenlon 是一位 UNIX 极客、自由文化倡导者、独立多媒体艺术家和 D&D 爱好者。他曾在电影和计算机行业工作,经常同时进行。

6 条评论

谢谢,Seth。您在这里的文章提供了很多很棒的信息。关于这个,我想指出一个我长期使用的类似命令,tldr。当我看到这个时,我正在用手机写作,所以我无法轻易比较它们的结果。只是想提一下,如果它可能对任何人有帮助。期待也看看 cheat。

谢谢 Seth。我有一群刚完成“操作系统”模块的学生,但我仍然会向他们所有人指出这一点,即使我通常告诉他们不要作弊。

这太棒了。我已经数不清多少次我盯着 man page 试图弄清楚我应该如何使用命令。

已保存! 很棒的资源,非常感谢 Seth。

嗯,根据输出,这似乎与 tldr 完全不同。

还有,tar 命令是怎么回事。即使示例也使用了 4 个修饰符,哇,我们真的需要在 Linux 上找到更好的方法来处理归档文件。gui 程序很糟糕,这几乎更糟糕,期望每次使用该命令都包含如此多的参数。

Creative Commons License本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。
© . All rights reserved.