介绍
Cheat是一个基于命令行的Python程序,允许系统管理员查看和存储有用的备忘单。 它检索所选命令的纯文本示例,以提醒用户选项,参数或常见用法。 欺骗是“你经常使用的命令,但不够频繁记住”的理想选择。
表格是可以在多个Linux / Unix系统上复制的小型可移植文本文件; 它们被称为和看起来像任何其他命令行程序。 提供常用程序的基本表,但您也可以添加自定义新表。
先决条件
要遵循本教程,您需要:
一个Ubuntu 14.04 Droplet
sudo的一个非root用户,您可以设置遵循怎样的Ubuntu 14.04 VPS添加和删除用户教程
第1步 - 安装骗子
在安装骗子之前,我们需要确保系统上的所有内容都是最新的。
sudo apt-get update && sudo apt-get upgrade
通过输入确认y
在此步骤中的任何提示。
安装骗子最好用Python包管理器Pip,所以安装Pip下一步。
sudo apt-get install python-pip
欺骗本身只取决于两个Python包,它们都很方便地包含在Pip的Cheat包中。 最后,安装骗子。
sudo pip install cheat
成功安装Cheat将输出这些行:
Successfully installed cheat docopt pygments
Cleaning up...
我们可以证实,Cheat已安装并以其运行它的工作-v
选项。
cheat -v
这会输出我们安装的Cheat版本。
cheat 2.1.10
第2步 - 设置文本编辑器
在我们继续创建自己的备忘单之前,Cheat需要知道我们默认使用哪个文本编辑器来编辑工作表。 要做到这一点,我们必须创建和设置被称为一个环境变量EDITOR
。 有关外壳和环境变量的更多信息,你可以阅读如何读取和设置环境和shell变量教程。
因为nano已经安装在Ubuntu上,通常很容易学习,我们将它设置为我们首选的文本编辑器与下面的命令。 但是,您可以使用vim,emacs或您最喜欢的文本编辑器。
export EDITOR="/usr/bin/nano"
我们可以通过键入以下内容来确认此操作是否成功:
printenv EDITOR
这将输出新的$EDITOR
环境变量的内容:
/usr/bin/nano
为了使这一变化在所有未来的会话外壳持续性和永久性,必须将环境变量声明添加到您.bashrc
文件。 这是在bash shell会话开始时运行的几个文件之一。
打开此文件进行编辑:
nano ~/.bashrc
然后添加相同的export命令:
. . .
# 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(可选)
在这一步中,我们将通过启用语法突出显示和命令行自动完成来自定义欺骗。
当使用具有色彩支持的终端模拟器,您可以启用语法通过导出一个名为shell环境变量高亮你的床单CHEATCOLORS
定义为真:
export CHEATCOLORS=true
现在,无论何时检索备忘单,都将使用彩色语法高亮显示格式。 如果你喜欢这个功能,您可以通过添加export命令你让它穿过外壳会话持续性和永久性.bashrc
文件。
打开.bashrc
再次文件:
nano ~/.bashrc
然后添加新的CHEATCOLORS
以下变量EDITOR
变量:
. . .
# 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
现在进入bash
到当前shell拿起变化。
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
看看其他其他现有的备忘单提供给我们,其运行Cheat-l
选项。
cheat -l
这将列出所有可用工作表及其在服务器上的位置。
第5步 - 创建和编辑Cheat页
虽然包括Cheat的基本临时表是有用和多样的,但它们并不包括我们可用的每个shell命令或程序。 我们可以从Cheat获得的真正好处是添加了我们自己的定制表。
例如,不存在片材的联网程序ping
:
cheat ping
No cheatsheet found for ping
让我们举一个例子来说明如何创建和添加一个新工作表。 首先,再次调用该命令行上金手指,此时接着-e
,我们正在使其成为片材的名称。
cheat -e ping
Cheat将创建并打开相关的文件,使用编辑$EDITOR
我们之前设置变量。
添加一个有用的ping命令为例,这个新的工作表,完整的注释(以表示年初#
)解释时输入命令做什么。 这里有一个这样的命令,你可以在文件中输入:
# ping a host with a total count of 15 packets overall.
ping -c 15 www.example.com
像以前一样保存并退出文件。 接下来,我们通过运行测试新的工作表cheat ping
一次。
cheat ping
这一次,我们将看到我们刚才添加的备忘单。
# ping a host with a total count of 15 packets overall.
ping -c 15 www.example.com
要修改现有的表,我们可以使用-e
再次选项。
cheat -e ping
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页
Cheat与触发的内置搜索功能-s
选项。 这将提取任何和所有出现的文本你提供它。 例如:
cheat -s packets
此命令将输出所有具有术语“包”的行和它们源自的表。
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
吧)。 你可以阅读使用grep和正则表达式搜索在Linux文本模式教程的详细信息grep
。
此外,版本控制系统(如GitHub的Git)是集中存储定制备忘单的理想选择,因此您可以通过克隆存储库在多个平台上获取它们。 如果你添加到它,修正它,或者创建它自己通过Cheat表被归类为习俗 。
所有自定义快捷表存储在你的Linux用户的主目录,命名为一个隐藏的文件夹内.cheat
。 您可以通过运行查到这个地点cheat -d
,将输出两个目录:第一是你的自定义纸张的位置,第二个是你在安装时有Cheat得到默认工作表的位置。
要访问自定义纸张库在其他系统上,你只需要复制这个.cheat
文件夹到他们。 Cheat表是小的纯文本文件,因此这使它们完美的跟踪版本控制。 对于一个完整的解决方案,让您的备忘单,并在任何时候都可以访问配置文件,您可以阅读如何使用的Git来管理在Linux VPS用户配置文件教程。