嵌入式系统与单片机|技术阅读
登录|注册

您现在的位置是:嵌入式系统与单片机 > 技术阅读 > “作弊”:只需要知道这一个 Linux 命令就够了

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


  


互联网上有很多关于 Linux 和开源的信息,但是当你想要深入工作,通常需要一份便捷的文档。早在 Linux 出现之前的 Unix 系统中,就有 man(“manual” 的缩写)和 info 命令了,二者都会显示命令、配置文件、系统调用等的官方项目文档。

关于 man 和 info 页面是对知晓如何使用工具的用户的有用提醒,还是为初次使用的用户提供介绍存在争议。不管怎样,man 和 info 页面介绍了工具以及如何使用该工具,很少涉及特定任务以及如何完成它们。正是出于这个原因,开发了 cheat 命令。

例如,设想你想不起来如何 解压 tar 压缩包文件???? opensource.com 。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 .tarin 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 编写???? github.com 的和一个由我帮助维护的 仅用 100 行 Bash 编写???? gitlab.com 的两个版本。

    若要安装 Go 版本的,下载 最新版???? github.com 并将它放在某个 路径???? opensource.com 中,例如 ~/.local/bin/ 或 /usr/local/bin 中。若安装 Bash 版本,下载最新版并运行 install-cheat.sh 脚本:

  • $ sh ./install-cheat.sh
  • 如需配置后安装,请使用 自动工具???? opensource.com(Autotools):

  • $ aclocal ; autoconf
  • $ automake --add-missing ; autoreconf
  • $ ./configure --prefix=$HOME/.local
  • $ make
  • $ make install
  • 在 Linux 中安装 Cheat 程序

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

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

    列出 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
  • #Toalias`ls -l` to `ll`:
  • alias ll='ls -l'
  • 默认情况下,cheat 命令会使用你的 环境变量???? opensource.com PAGER 中指定的分页器。你可以在运行 cheat 命令前改写 PAGER 变量值,暂时修改环境变量。

  • $ PAGER=most cheat less
  • 如果你只是想在没有 PAGER 的情况下将 cheat 输出???? opensource.com 到终端里,在 Bash 版中有 --cat 选项可以使用:

  • $ cheat --catless
  • 这并不是作弊

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

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

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


    良许花了一个半月的时间研发了一门 Linux 命令课程,欢迎购买学习!

    课程特色:

  • 详细总结 150 个高频使用命令,学完可应对工作中 95% 命令需求;
  • 答疑群提供无限次答疑服务,答疑群氛围很好;
  • 总时长超 10 小时,媲美大课时长。
  • 长按下方卡片购买



    强烈推荐一位腾讯大佬录制的 Shell 实战案例课程(已获授权):

  • 大佬在腾讯工作 6 年,在大厂工作十几年,经验丰富;
  • 大佬根据自己在大厂工作经验总结了 100 个案例,超级实用!
  • 学完这 100 个案例,肯定对自己的 Shell 编程有很大的提升;
  • 答疑群提供无限次答疑服务,答疑群氛围很好。
  • 长按下方卡片购买