本地部署 explainshell (命令行解释服务)

简介: 前段时间我们分享了explainshell.com 一个命令行解释的网站,它会分析命令的帮助文档,根据你想查询的命令参数来抽取对应的解释,然后非常清晰地显示出来。

前段时间我们分享了explainshell.com 一个命令行解释的网站,它会分析命令的帮助文档,根据你想查询的命令参数来抽取对应的解释,然后非常清晰地显示出来。

image.png

然而,有时我们会有本地查询的需求,比如:

  • 没有网络或网络很差(可能是沙漠里的无人区,或者管理严格的公司)
  • 本机上的命令网站上没有收录其帮助文档,或者收录的是不匹配的版本的文档

本文将介绍如何在本地架设explainshell服务。放心,这很容易。

首先我们需要将explainshell的git仓库克隆到本地:

git clone https://github.com/idank/explainshell.git

然后是安装需要的依赖。首先要安装mongodb,在Debian/Ubuntu下可以通过如下命令安装:

sudo apt-get install mongodb

然后是python的一些库,可以自动安装:

cd explainshell

pip install -r requirements.txt

之后是用mongodb加载分类数据:

mongorestore dump/explainshell && mongorestore -d explainshell_tests dump/explainshell

好了,差不多完成了,运行下测试,确保没出什么问题:

make tests

测试O.K.之后,我们添加下man page。仓库里自带的man page屈指可数,仅供测试之用。我们需要将本机上的man page添加过来。

rm -r manpages/1 manpages/2

ln -s /usr/share/man/man1 manpages/1

ln -s /usr/share/man/man8 manpages/8

python explainshell/manager.py --log info echo

注意我们使用了软链接,这样不会占用额外的磁盘空间,最重要的是,我们的操作系统更新软件之后我们不需要重复添加。

好了,现在只需启动服务就可以了

make serve

相关文章
已解决 BrokenPipeError: [Errno 32] Broken pipe
已解决 BrokenPipeError: [Errno 32] Broken pipe
9532 156
已解决 BrokenPipeError: [Errno 32] Broken pipe
|
编译器 Linux 调度
makfile的编译选项:CFLAGS、CPPFLAGS、LDFLAGS、LIBS
makfile的编译选项:CFLAGS、CPPFLAGS、LDFLAGS、LIBS
3377 0
|
Web App开发 Linux 数据安全/隐私保护
降低个人密码泄露风险:利用自建服务器部署个人Bitwarden密码管理器
降低个人密码泄露风险:利用自建服务器部署个人Bitwarden密码管理器
2636 0
降低个人密码泄露风险:利用自建服务器部署个人Bitwarden密码管理器
|
Web App开发 Shell Linux
|
4月前
|
存储 Windows
Windows PowerShell操作:如何删除环境变量
此外,还有一些第三方工具可以用来管理环境变量,这些工具通常提供了更为用户友好的界面来添加、编辑或删除环境变量,但是使用PowerShell可以更直接地控制这些设置,并且可以很容易地集成到脚本中以自动化环境配置的管理。
609 7
|
7月前
|
自然语言处理 监控 安全
Magnet Axiom 9.0 Windows x64 Multilingual - 数字取证与分析
Magnet Axiom 9.0 Windows x64 Multilingual - 数字取证与分析
220 0
Magnet Axiom 9.0 Windows x64 Multilingual - 数字取证与分析
|
存储 Python
一文让你搞懂 Python 的 pyc 文件
一文让你搞懂 Python 的 pyc 文件
581 15
|
弹性计算 人工智能 小程序
99元云服务器,你最pick哪种新玩法?
【10月更文挑战第2天】本文介绍了99元一年的阿里云服务器ECS,阐述了其功能和应用场景,包括搭建个人网盘、小程序及AI助手等,并提供了购买链接。通过合理规划,ECS可为企业和个人用户提供高性价比的服务,提升用户体验。
【51单片机】初学者必学的一个矩阵键盘基本项目——(读矩阵键盘的数字显示在LCD屏上)(7)
【51单片机】初学者必学的一个矩阵键盘基本项目——(读矩阵键盘的数字显示在LCD屏上)(7)
|
网络协议 iOS开发 MacOS
Mac使用TCP发送信息nc -l 9000 和 telnet 127.0.0.1 9000
Mac使用TCP发送信息nc -l 9000 和 telnet 127.0.0.1 9000
289 1