前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在Ubuntu 14.04上安装和使用命令行备忘单

如何在Ubuntu 14.04上安装和使用命令行备忘单

原创
作者头像
小铁匠米兰的v
修改2018-09-29 17:08:19
8000
修改2018-09-29 17:08:19
举报

介绍

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

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

课程准备

要学习本教程,您需要:

  • 一个Ubuntu 14.04 腾讯CVM,没有服务器的同学可以在这里购买,不过我个人更推荐您使用免费的腾讯云开发者实验室进行试验,学会安装后再购买服务器
  • 一个sudo非root用户。

第1步 - 安装 Cheat

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

代码语言:javascript
复制
sudo apt-get update && sudo apt-get upgrade

通过在此步骤中为任何提示输入y进行确认。

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

代码语言:javascript
复制
sudo apt-get install python-pip

Cheat本身仅取决于两个Python软件包,这两个软件包都包含在Pip的Cheat软件包中。最后,安装Cheat。

代码语言:javascript
复制
sudo pip install cheat

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

代码语言:javascript
复制
Successfully installed cheat docopt pygments
Cleaning up...

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

代码语言:javascript
复制
cheat -v

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

代码语言:javascript
复制
cheat 2.1.10

第2步 - 设置文本编辑器

在我们继续创建自己的备忘单之前,Cheat需要知道我们想要使用哪个文本编辑器来默认编辑工作表。为此,我们必须创建并设置一个名为EDITOR的环境变量。

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

代码语言:javascript
复制
export EDITOR="/usr/bin/nano"

我们可以输入以下内容确认这是成功的:

代码语言:javascript
复制
printenv EDITOR

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

代码语言:javascript
复制
/usr/bin/nano

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

打开此文件进行编辑:

代码语言:javascript
复制
nano ~/.bashrc

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

代码语言:javascript
复制
. . .
# 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

第3步 - 自定义Cheat(可选)

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

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

代码语言:javascript
复制
export CHEATCOLORS=true

现在,无论何时检索备忘单,都会使用彩色语法高亮显示格式。如果您喜欢此功能,则可以通过将export命令添加到.bashrc文件中,使其在shell会话中保持持久性和永久性。

再次打开.bashrc文件:

代码语言:javascript
复制
nano ~/.bashrc

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

代码语言:javascript
复制
. . .
# 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/目录中放置一个脚本。切换到此目录。

代码语言:javascript
复制
cd /etc/bash_completion.d/

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

代码语言:javascript
复制
sudo wget https://raw.githubusercontent.com/chrisallenlane/cheat/master/cheat/autocompletion/cheat.bash

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

代码语言:javascript
复制
bash

现在已启用Cheat的选项卡自动完成功能。如果键入cheat后跟空格,按两次TAB键将显示命令列表。

代码语言:javascript
复制
cheat 
7z           asciiart     chown        df           du          
grep         indent       jrnl         mkdir        netstat
. . .

第4步 - 运行Cheat

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

下面是一个如何使用tail命令(输出文件的最后几行)来运行一个Cheat附带的默认工作表的示例。

代码语言:javascript
复制
cheat tail

然后,您将看到此输出:

代码语言:javascript
复制
# 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 。

代码语言:javascript
复制
cheat -l

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

第5步 - 创建和编辑Cheat表

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

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

代码语言:javascript
复制
cheat ping
代码语言:javascript
复制
No cheatsheet found for ping

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

代码语言:javascript
复制
cheat -e ping

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

将有用的ping命令示例添加到此新工作表的开头,并附带注释(由...表示#),说明输入时命令的作用。您可以在文件中输入以下命令:

代码语言:javascript
复制
# ping a host with a total count of 15 packets overall.    
ping -c 15 www.example.com

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

代码语言:javascript
复制
cheat ping

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

代码语言:javascript
复制
# ping a host with a total count of 15 packets overall.    
ping -c 15 www.example.com

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

代码语言:javascript
复制
cheat -e ping 

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

代码语言:javascript
复制
# 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选项触发的内置搜索功能。这将获取您提供的任何和所有出现的文本。例如:

代码语言:javascript
复制
cheat -s packets

此命令将输出所有具有术语“数据包”的行和包含它们的表。

代码语言:javascript
复制
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 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 介绍
  • 课程准备
  • 第1步 - 安装 Cheat
  • 第2步 - 设置文本编辑器
  • 第3步 - 自定义Cheat(可选)
  • 第4步 - 运行Cheat
  • 第5步 - 创建和编辑Cheat表
  • 第6步 - 搜索备忘单
  • 结论
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档