阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

“作弊”:只需要知道这一个 Linux 命令就够了

85次阅读
没有评论

共计 2566 个字符,预计需要花费 7 分钟才能阅读完成。

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

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

这确实是一些用户需要的,但是也使一些用户感到困惑。相比之下,​​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​​​ 查看命令如同使用 ​​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

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

$ cheat --cat less
这并不是作弊

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

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

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

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计2566字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中