如何在 Ubuntu 14.04 上安装和使用命令行作弊表

介绍

Cheat 是一个基于命令行的 Python 程序,允许系统管理员查看和存储有用的骗局表. 它检索了所选命令的简单文本示例,以提醒用户选项,论点或常见用途。

表是可在多个Linux/Unix系统中复制的小型便携式文本文件;它们像任何其他命令行程序一样被称为和观看。

前提条件

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

步骤 1 – 安装 Cheat

在安装 Cheat 之前,我们需要确保系统上的一切都更新。

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

通过输入y来确认此步骤中的任何提示。

安装 Cheat 最好用 Python 包管理器 Pip 完成,所以下一步安装 Pip。

1sudo apt-get install python-pip

骗局本身只依赖于两个Python包,这两个包都方便地包含在Pip的骗局包中。

1sudo pip install cheat

成功安装 Cheat 将输出这些行:

1[label sudo pip install cheat output]
2Successfully installed cheat docopt pygments
3Cleaning up...

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

1cheat -v

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

1[label cheat -v output]
2cheat 2.1.10

第2步:设置文本编辑器

在我们可以继续创建自己的骗局表之前,骗局需要知道我们希望使用哪个文本编辑器默认地编辑表格。 要做到这一点,我们必须创建并设置一个名为EDITOR的环境变量。 有关壳和环境变量的更多信息,您可以阅读 如何阅读和设置环境和壳变量教程。

由于nano已经安装在Ubuntu上,通常很容易学习,我们会用下面的命令将其设置为我们最喜欢的文本编辑器,但您可以使用vim,emacs或您最喜欢的文本编辑器。

1export EDITOR="/usr/bin/nano"

我们可以通过键入确认这是成功的:

1printenv EDITOR

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

1[label printenv EDITOR output]
2/usr/bin/nano

要使此更改在所有未来的壳会话中持久和永久,您必须将环境变量声明添加到您的 .bashrc 文件中。

打开此文件以编辑:

1nano ~/.bashrc

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

 1[label ~/.bashrc]
 2. . .
 3# If not running interactively, don't do anything
 4case $- in
 5    *i*) ;;
 6      *) return;;
 7esac
 8
 9export EDITOR="/usr/bin/nano"
10
11# don't put duplicate lines or lines starting with space in the history.
12# See bash(1) for more options
13HISTCONTROL=ignoreboth
14. . .

保存和退出文件,按CTRL+X,然后按Y,然后按ENTER

步骤 3 — 定制骗局(可选)

在此步骤中,我们将通过启用语法突出和命令行自动完成来定制 Cheat。

当您使用具有颜色支持的终端模拟器时,您可以通过导出名为CHEATCOLORS的壳环境变量来激活表格的语法突出:

1export CHEATCOLORS=true

现在,每当你检索骗局表时,它们将以彩色语法突出格式进行格式化. 如果你喜欢这个功能,你可以通过将导出命令添加到你的 .bashrc 文件来使其在壳会话中持久和永久。

再次打开.bashrc 文件:

1nano ~/.bashrc

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

 1[label ~/.bashrc]
 2. . .
 3# If not running interactively, don't do anything
 4case $- in
 5    *i*) ;;
 6      *) return;;
 7esac
 8
 9export EDITOR="/usr/bin/nano"
10export CHEATCOLORS=true
11
12# don't put duplicate lines or lines starting with space in the history
13. . .

保存并关闭文件。

接下来,要启用命令行自动完成,我们需要将脚本放入 /etc/bash_completion.d/ 目录。

1cd /etc/bash_completion.d/

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

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

现在将bash输入到当前壳中以获取更改。

1bash

现在启用了Tab Auto-Completion for Cheat. 如果你键入 cheat然后是空格,按下TAB键两次会给你一个命令列表。

1[label cheat tab auto-completion output]
2cheat 
37z asciiart chown df du          
4grep indent jrnl mkdir netstat
5. . .

步骤 4 - 运行骗局

要以最基本的形式运行 Cheat,你会像任何其他命令一样命名它,然后是现有的 cheat 表名称。

以下是如何使用与 Cheat 附加的默认表格之一进行操作的示例,用于尾巴命令(输出文件的最后几行)。

1cheat tail

然后你会看到这个输出:

 1[label cheat tail output]
 2# To show the last 10 lines of file
 3tail file
 4
 5# To show the last N lines of file
 6tail -n N file
 7
 8# To show the last lines of file starting with the Nth
 9tail -n +N file
10
11# To show the last N bytes of file
12tail -c N file
13
14# To show the last 10 lines of file and to wait for file to grow
15tail -f file

要查看其他现有的骗局页面可供我们使用,请使用其-l选项运行骗局。

1cheat -l

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

步骤5 – 创建和编辑骗局表

虽然在 Cheat 中包含的基本临时表是有用的和多样化的,但它们并不包括我们可用的每个壳命令或程序,我们可以从 Cheat 获得的真正的好处是添加自己的自定义表。

例如,对于网络程序ping没有表格:

1cheat ping
1[label cheat ping output]
2No cheatsheet found for ping

让我们做一个作为创建和添加新表格的例子。 首先,在命令行上再次召唤 Cheat,这次接着是-e和我们正在创建的表格的名称。

1cheat -e ping

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

将一个有用的 ping 命令示例添加到这个新表的开头,并添加一个评论(标注为 # ),说明该命令在输入时会做什么。

1[label ~/.cheat/ping]
2# ping a host with a total count of 15 packets overall.    
3ping -c 15 www.example.com

保存和退出文件,如前所述。接下来,让我们通过再次运行 cheat ping来测试新表格。

1cheat ping

这一次,我们将看到我们刚刚添加的骗局。

1[label cheat ping output]
2# ping a host with a total count of 15 packets overall.    
3ping -c 15 www.example.com

要更改现有表格,我们可以再次使用-e选项。

1cheat -e ping

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

1[label ~/.cheat/ping]
2# ping a host with a total count of 15 packets overall.    
3ping -c 15 www.example.com
4
5# ping a host with a total count of 15 packets overall, one every .5 seconds (faster ping). 
6ping -c 15 -i .5 www.example.com

步骤6 - 搜索骗局

Cheat 有一个内置的搜索功能,由-s选项触发,这将捕捉您提供的文本的任何和所有发生。

1cheat -s packets

此命令将输出包含一词和它们起源的表的所有行。

 1[label cheat -s packets utput]
 2nmap:
 3  # --min-rate=X => min X packets / sec
 4
 5ping:
 6  # ping a host with a total count of 15 packets overall.    
 7  # ping a host with a total count of 15 packets overall, one every .5 seconds (faster ping). 
 8
 9route:
10  # 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.
11
12tcpdump:
13  # and other packets being transmitted or received over a network. (cf Wikipedia).
14
15. . .

结论

由于 Cheat 显示的所有内容都是简单的文本,并通过壳的标准输出进行导向,所以我们可以使用任何文本处理命令(如grep)与它一起使用,您可以阅读 Using Grep & Regular Expressions to Search for Text Patterns in Linux教程,以获取有关grep的更多信息。

此外,版本控制系统如Git with GitHub非常适合中央存储自定义骗局,因此您可以通过克隆一个存储库来在多个平台上抓住它们。

所有自定义骗局目录都存储在你的Linux用户的主目录中,在一个名为.cheat的隐藏文件夹中。你可以通过运行cheat -d来找到这个位置,这将产生两个目录:第一个是你的自定义目录的位置,第二个是安装时使用 Cheat 获得的默认目录的位置。

要在其他系统上访问你的自定义表格库,你只需要将这个.cheat文件夹复制到它们身上。 骗局表格是小型简单文本文件,所以这使得它们非常适合用版本控制来跟踪。 对于使你的骗局表格和配置文件随时可访问的完整解决方案,你可以阅读如何使用Git在Linux VPS上管理用户配置文件(https://andsky.com/tech/tutorials/how-to-use-git-to-manage-your-user-configuration-files-on-a-linux-vps)教程。

Published At
Categories with 技术
comments powered by Disqus