您需要知道的唯一 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 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 页面试图弄清楚我应该如何使用一个命令。

已保存!优秀的资源,非常感谢 Seth。

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

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

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 获得许可。
© . All rights reserved.