如何在Ubuntu14.04上安装和使用命令行备忘单

来自菜鸟教程
跳转至:导航、​搜索

介绍

Cheat 是一个基于命令行的 Python 程序,允许系统管理员查看和存储有用的备忘单。 它检索所选命令的纯文本示例,以提醒用户选项、参数或常见用途。 作弊是“您经常使用但不够频繁记住的命令”的理想选择。

表格是可以跨多个 Linux/Unix 系统复制的小型便携式文本文件; 它们像任何其他命令行程序一样被调用和查看。 提供了常用程序的基本表,但您也可以添加自定义的新表。

先决条件

要遵循本教程,您将需要:

第 1 步 — 安装作弊

在安装 Cheat 之前,我们需要确保系统上的所有内容都是最新的。

sudo apt-get update && sudo apt-get upgrade

对于此步骤中的任何提示,输入 y 进行确认。

安装 Cheat 最好使用 Python 包管理器 Pip,所以接下来安装 Pip。

sudo apt-get install python-pip

Cheat 本身只依赖于两个 Python 包,这两个包都方便地包含在 Pip 的 Cheat 包中。 最后,安装作弊。

sudo pip install cheat

成功安装 Cheat 将输出以下行:

sudo pip 安装作弊输出

Successfully installed cheat docopt pygments
Cleaning up...

我们可以通过使用 -v 选项运行它来确认 Cheat 已安装并正常工作。

cheat -v

这将输出我们已安装的 Cheat 版本。

作弊 -v 输出

cheat 2.1.10

第 2 步 — 设置文本编辑器

在我们继续创建自己的备忘单之前,Cheat 需要知道默认情况下我们想使用哪个文本编辑器来编辑备忘单。 为此,我们必须创建并设置一个名为 EDITOR 的环境变量。 有关 shell 和环境变量的更多信息,您可以阅读 如何读取和设置环境和 shell 变量 教程。

因为 nano 已经安装在 Ubuntu 上并且通常很容易学习,所以我们将使用以下命令将其设置为首选文本编辑器。 但是,您可以改用 vim、emacs 或您喜欢的文本编辑器。

export EDITOR="/usr/bin/nano"

我们可以通过键入以下内容来确认这是否成功:

printenv EDITOR

这将输出新的 $EDITOR 环境变量的内容:

printenv 编辑器输出

/usr/bin/nano

要使此更改在所有未来的 shell 会话中持久和永久,您必须将环境变量声明添加到您的 .bashrc 文件中。 这是在 bash shell 会话开始时运行的几个文件之一。

打开此文件进行编辑:

nano ~/.bashrc

然后添加相同的导出命令:

~/.bashrc

. . .
# If not running interactively, don't do anything
case $- in
    *i*) ;;
      *) return;;
esac

export EDITOR="/usr/bin/nano"

# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth
. . .

CTRL+X 然后按 Y 再按 ENTER 保存并退出文件。

第 3 步 — 自定义作弊(可选)

在这一步中,我们将通过启用语法高亮和命令行自动完成来自定义 Cheat。

使用具有颜色支持的终端仿真器时,您可以通过导出名为 CHEATCOLORS 的 shell 环境变量定义为 true 来为工作表启用语法突出显示:

export CHEATCOLORS=true

现在,每当您检索备忘单时,它们都会以彩色语法突出显示进行格式化。 如果您喜欢此功能,您可以通过将导出命令添加到您的 .bashrc 文件来使其在 shell 会话中持久和永久。

再次打开.bashrc文件:

nano ~/.bashrc

然后在 EDITOR 变量下方添加新的 CHEATCOLORS 变量:

~/.bashrc

. . .
# If not running interactively, don't do anything
case $- in
    *i*) ;;
      *) return;;
esac

export EDITOR="/usr/bin/nano"
export CHEATCOLORS=true

# don't put duplicate lines or lines starting with space in the history
. . .

保存并关闭文件。

接下来,要启用命令行自动补全,我们需要在 /etc/bash_completion.d/ 目录中放置一个脚本。 切换到这个目录。

cd /etc/bash_completion.d/

然后从 Cheat 的 GitHub 项目页面下载我们需要的脚本。

sudo wget https://raw.githubusercontent.com/chrisallenlane/cheat/master/cheat/autocompletion/cheat.bash

现在在当前 shell 中输入 bash 以获取更改。

bash

现在启用了作弊的选项卡自动完成功能。 如果您键入 cheat 后跟一个空格,则按两次 TAB 键将为您提供命令列表。

作弊选项卡自动完成输出

cheat 
7z           asciiart     chown        df           du          
grep         indent       jrnl         mkdir        netstat
. . .

第 4 步 — 运行作弊

要以最基本的形式运行 Cheat,您可以像调用任何其他命令一样调用它,后跟现有的备忘单名称。

这是一个示例,说明如何使用 Cheat 随附的默认工作表之一执行此操作,用于 tail 命令(输出文件的最后几行)。

cheat tail

然后你会看到这个输出:

作弊尾输出

# To show the last 10 lines of file
tail file

# To show the last N lines of file
tail -n N file

# To show the last lines of file starting with the Nth
tail -n +N file

# To show the last N bytes of file
tail -c N file

# To show the last 10 lines of file and to wait for file to grow
tail -f file

要查看我们可以使用哪些其他现有备忘单,请使用 -l 选项运行 Cheat。

cheat -l

这列出了所有可用的工作表及其在服务器上的位置。

第 5 步 - 创建和编辑备忘单

尽管 Cheat 附带的基本临时表很有用且多种多样,但它们并不包括我们可用的每个 shell 命令或程序。 我们可以从 Cheat 中获得的真正好处在于添加我们自己的自定义工作表。

例如,网络程序 ping 没有工作表:

cheat ping

作弊 ping 输出

No cheatsheet found for ping

让我们以一个示例来说明如何创建和添加新工作表。 首先,再次在命令行上调用 Cheat,这次是 -e 和我们正在为其制作的工作表的名称。

cheat -e ping

Cheat 将使用我们之前设置的 $EDITOR 变量创建并打开相关文件进行编辑。

在此新工作表的开头添加一个有用的 ping 命令示例,并附上注释(由 # 表示)解释输入时命令的作用。 这是您可以在文件中输入的一个这样的命令:

~/.cheat/ping

# ping a host with a total count of 15 packets overall.    
ping -c 15 www.example.com

像以前一样保存并退出文件。 接下来让我们再次运行 cheat ping 来测试新工作表。

cheat ping

这一次,我们将看到我们刚刚添加的备忘单。

作弊 ping 输出

# ping a host with a total count of 15 packets overall.    
ping -c 15 www.example.com

要修改现有工作表,我们可以再次使用 -e 选项。

cheat -e ping 

ping 表现已打开,我们可以添加更多示例或内容。 例如,我们可以添加以下内容:

~/.cheat/ping

# ping a host with a total count of 15 packets overall.    
ping -c 15 www.example.com

# ping a host with a total count of 15 packets overall, one every .5 seconds (faster ping). 
ping -c 15 -i .5 www.example.com

第 6 步 — 搜索备忘单

Cheat 有一个内置的搜索功能,通过 -s 选项触发。 这将拾取您提供给它的任何和所有出现的文本。 例如:

cheat -s packets

此命令将输出包含术语“数据包”的所有行以及它们源自的工作表。

作弊 -s 数据包输出

nmap:
  # --min-rate=X => min X packets / sec

ping:
  # ping a host with a total count of 15 packets overall.    
  # ping a host with a total count of 15 packets overall, one every .5 seconds (faster ping). 

route:
  # To add a default  route (which will be used if no other route matches).  All packets using this route will be gatewayed through "mango-gw". The device which will actually be used for that route depends on how we can reach "mango-gw" - the static route to "mango-gw" will have to be set up before.

tcpdump:
  # and other packets being transmitted or received over a network. (cf Wikipedia).

. . .

结论

因为 Cheat 显示的所有内容都是纯文本并通过 shell 的标准输出定向,所以我们可以使用任何文本处理命令(如 grep)。 你可以阅读在 Linux 中使用 Grep 和正则表达式搜索文本模式教程以获取更多信息grep .

此外,Git 和 GitHub 等版本控制系统非常适合集中存储您的自定义备忘单,因此您可以通过克隆存储库在多个平台上获取它们。 如果您通过 Cheat 添加、修改或自己创建了工作表,则将其归类为 custom

所有自定义备忘单都存储在 Linux 用户的主目录中,位于名为 .cheat 的隐藏文件夹中。 您可以通过运行 cheat -d 找到此位置,它将输出两个目录:第一个是您的自定义工作表的位置,第二个是您在安装时使用 Cheat 获得的默认工作表的位置。

要在其他系统上访问您的自定义工作表库,您只需将此 .cheat 文件夹复制到它们上。 备忘单是小的纯文本文件,因此非常适合使用版本控制进行跟踪。 要获得让您的备忘单和配置文件随时可访问的完整解决方案,您可以阅读 如何在 Linux VPS 上使用 Git 管理您的用户配置文件教程。