Cheat是一个基于命令行的Python程序,允许系统管理员查看和存储有用的备忘单。它检索所选命令的纯文本示例,以便提醒用户选项,参数或常用用途。 Cheat非常适合“经常使用的命令,但不经常记住。”
表是可以在多个Linux / Unix系统上复制的小型可移植文本文件; 它们像任何其他命令行程序一样被调用和查看。提供了常用程序的基本表,但您也可以添加自定义新表。
要学习本教程,您需要:
在安装Cheat之前,我们需要确保系统上的所有内容都是最新的。
sudo apt-get update && sudo apt-get upgrade
通过在此步骤中为任何提示输入y
进行确认。
安装Cheat最好用Python包管理器Pip完成,所以接下来安装Pip。
sudo apt-get install python-pip
Cheat本身仅取决于两个Python软件包,这两个软件包都包含在Pip的Cheat软件包中。最后,安装Cheat。
sudo pip install cheat
成功安装Cheat将输出以下行:
Successfully installed cheat docopt pygments
Cleaning up...
我们可以通过运行它的-v
选项来确认Cheat已安装并正常工作。
cheat -v
这将输出我们已安装的Cheat版本。
cheat 2.1.10
在我们继续创建自己的备忘单之前,Cheat需要知道我们想要使用哪个文本编辑器来默认编辑工作表。为此,我们必须创建并设置一个名为EDITOR
的环境变量。
因为nano已经安装在Ubuntu上并且通常易于学习,我们将使用以下命令将其设置为我们首选的文本编辑器。但是,您可以使用vim,emacs或您喜欢的文本编辑器。
export EDITOR="/usr/bin/nano"
我们可以输入以下内容确认这是成功的:
printenv EDITOR
这将输出新环境变量$EDITOR
的内容:
/usr/bin/nano
要使此更改在所有将来的shell会话中保持持久且永久,您必须将环境变量声明添加到您的.bashrc
文件中。这是在bash shell会话开始时运行的几个文件之一。
打开此文件进行编辑:
nano ~/.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
,然后在ENTER
后面输入Y
在此步骤中,我们将通过启用语法突出显示和命令行自动完成来自定义Cheat。
使用具有颜色支持的终端仿真器时,可以通过导出名为CHEATCOLORS
true 的shell环境变量来为工作表启用语法突出显示:
export CHEATCOLORS=true
现在,无论何时检索备忘单,都会使用彩色语法高亮显示格式。如果您喜欢此功能,则可以通过将export命令添加到.bashrc
文件中,使其在shell会话中保持持久性和永久性。
再次打开.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
现在在当前shell输入bash
以获取更改。
bash
现在已启用Cheat的选项卡自动完成功能。如果键入cheat
后跟空格,按两次TAB
键将显示命令列表。
cheat
7z asciiart chown df du
grep indent jrnl mkdir netstat
. . .
要以最基本的形式运行Cheat,您可以像任何其他命令一样调用它,然后在后面输入现有的备忘单名称。
下面是一个如何使用tail
命令(输出文件的最后几行)来运行一个Cheat附带的默认工作表的示例。
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
这将列出服务器上的所有可用工作表及其位置。
尽管Cheat附带的基本临时表是有用且多种多样的,但它们并不包含我们可用的每个shell命令或程序。我们可以从Cheat获得的真正好处是添加我们自己的自定义工作表。
例如,网络程序ping
没有工作表:
cheat ping
No cheatsheet found for ping
让我们以一个作为如何创建和添加新工作表的示例。首先,再次在命令行上调用Cheat,这次将-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
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
)。
此外,Git和GitHub等版本控制系统非常适合集中存储您的自定义备忘单,因此您可以通过克隆存储库在多个平台上获取它们。如果您已添加,修改或通过Cheat自行创建,则表单被归类为自定义。
所有自定义备忘单都存储在Linux用户的主目录中,位于名为的隐藏文件夹中.cheat.
。您可以通过运行cheat -d
找到此位置,它将输出两个目录:第一个是自定义工作表的位置,第二个是安装时使用Cheat获得的默认工作表的位置。
要访问其他系统上的自定义工作表库,您只需要将此.cheat
文件夹复制到它们上。备忘单是小型纯文本文件,因此这使得它们非常适合跟踪版本控制。
更多Ubuntu教程请前往腾讯云+社区学习更多知识。
参考文献:《How To Install and Use Command Line Cheat Sheets on Ubuntu 14.04》
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。