“作弊”:只需要知道这一个 Linux 命令就够了
创始人
2024-03-02 12:07:41
0

Linux cheat 命令是一个实用程序,可以用来搜索和显示你想要使用的命令的使用示例。

互联网上有很多关于 Linux 和开源的信息,但是当你想要深入工作,通常需要一份便捷的文档。早在 Linux 出现之前的 Unix 系统中,就有 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...]

这确实是一些用户需要的,但是也使一些用户感到困惑。相比之下,cheat 命令会罗列常用命令:

$ 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 命令是一个实用程序,可以用来搜索和显示你想要使用的命令的使用示例。如大多数 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 中安装 Cheat 程序

Cheat 只是包含常用命令的纯文本文件。该程序可以从 github.com/cheat/cheatsheets 获得。当你第一次运行命令时,Go 版本会自动为你下载支持列表。如果你使用 Bash 版本,用 --fetch 选项可以下载支持列表:

$ cheat --fetch

man 一样,你的系统上可以有多个备忘单集合。 Go 版本的 cheat 使用 YAML 配置文件来定义每个集合的位置。Bash 版本在安装过程中定义了路径,默认下载 github.com/cheat/cheatsheets 集合以及 opensource.com 自己的 gitlab.com/opensource.com/cheatsheets 集合。

列出 Cheat 支持项目

使用 --list 选项即可查看 cheat 支持的项目:

$ cheat --list
7z
ab
acl
alias
ansi
ansible
ansible-galaxy
ansible-vault
apk
[...]

使用 Cheat 查看 Linux 命令

使用 cheat 查看命令如同使用 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

如果你只是想在没有 PAGER 的情况下将 cheat 输出 到终端里,在 Bash 版中有 --cat 选项可以使用:

$ cheat --cat less

这并不是作弊

cheat 系统抓住了要害,你不必拼凑有关如何使用命令的线索,你只需按照示例进行操作即可。当然,对于复杂的命令,它不是深入研究实际文档的捷径,但为了快速借用,它还是可以的。

甚至你可以通过将文件放入其中一个备忘单集合中,来创建自己的备忘单。好消息是,因为这些项目是开源的,所以你可以将你的个人备忘单贡献给 GitHub 集合。另一个好消息是,当有新的 opensource.com 备忘单 版本发布时,我们将从现在开始包含纯文本版本,以便你可以将其添加到你的收藏中。

该命令称为 “ 作弊 cheat ”,但正如任何 Linux 用户都会向你保证的那样,它实际上并不是作弊。它只是以开源的方式工作得更巧妙。


via: https://opensource.com/article/22/6/linux-cheat-command

作者:Seth Kenlon 选题:lkxed 译者:Donkey 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

不理解如何使用Guava实...
使用Guava实现函数的备忘录化,可以通过使用Cache接口和lo...
2024-12-26 11:31:21
macOS 版 ChatG...
IT之家 12 月 21 日消息,OpenAI 现已为其 macO...
2024-12-21 08:13:51
表单控件(编辑框,组合框,...
以下是一个使用Delphi编程语言的示例代码,用于查询表单控件(编...
2024-12-09 15:00:42
B站知名up主何同学被指盗...
B 站知名 up 主「老师好我叫何同学」近日发布了新视频 ——《我...
2024-11-29 09:34:40
备忘录模式和封装的违规
备忘录模式和封装的违规通常指的是在使用备忘录模式时,由于需要获取对...
2024-11-28 21:01:36
备忘录设计模式 - 真实世...
备忘录设计模式用于保存和恢复对象的状态。下面是一个真实世界的示例,...
2024-11-28 21:01:31

热门资讯

使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
Bazzite:专为 Stea... 为 Linux 桌面或者 Steam Deck 做好游戏准备,听起来都很刺激!对于一个专为 Linu...
Motrix:一个漂亮的跨平台... 一个开源的下载管理器,提供了一个简洁的用户界面,同时提供了跨平台操作的所有基本功能。在这里了解关于它...
Bash 脚本中如何使用 he... here 文档 here document (LCTT 译注:here 文档又称作 heredoc ...
使用 dialog 和 jq ... 为何选择文字用户界面(TUI)?许多人每日都在使用终端,因此, 文字用户界面 Text User I...