最新版本 v2.0.0 · Apache-2.0

一个用 纯 Python 写的
跨平台终端

零 GUI 依赖、零外部依赖,一个文件即可开箱即用。 69 条内置命令、6 套主题,系统 PATH 命令直通, 还能用 JSON + Python 写插件扩展。

下载按钮跳转至 GitHub Releases 页面 · 正在获取版本信息…

kshell — 交互模式
69内置与扩展命令
6预设主题
3支持平台
0第三方依赖
100%Python 实现

核心特性

2.0 打通系统命令行边界,2.1 让你自己扩展它

⬡

插件系统 2.1 新增

用 JSON 配置 + Python 实现扩展 KShell。 一个目录两个文件放进 plugins/ 即被自动发现, 支持热重载与独立配置,无需修改本体。

plugin new myplugin
plugin reload myplugin
⌘

系统 PATH 命令直通

系统里装了什么就能用什么。git、docker、python、ipconfig 直接输入即可执行,选项完整保留,不再被解析器丢弃。

git status
ping -n 2 127.0.0.1   # -n 2 不会丢
★

内置命令优先

同名命令优先走 KShell 自己的实现,行为可预测、输出统一。 需要系统版本时用 command 绕过,或用配置项切换规则。

ls -l            # KShell 内置
command ls -l    # 系统版本
⌗

69 条内置命令

36 条核心命令 + 32 条扩展命令 + 插件管理命令,覆盖文件操作、 文本处理、查找检索、系统信息与工具类,无需安装 GNU 工具链。

grep / find / tree / du
base64 / md5sum / sha256sum
◐

6 套配色主题

default · dark · light · ocean · monokai · solarized, 自动检测终端是否支持颜色,重定向到文件时自动去除 ANSI 码。

theme list
theme ocean
⇄

管道与重定向

管道会把上游输出真正传给下游,内置命令与系统命令可自由混用; 支持 >、>>、< 重定向。

ls | findstr .py
cat log | grep ERROR > err.txt
⚙

脚本与配置持久化

用 .ksh 脚本批量执行命令;别名、主题、环境变量 保存在 JSON 配置中,重启后依旧生效。

kshell deploy.ksh
alias ll='ls -l'

新增命令演示

v2.0 带来 path 与 calc 两条新命令

path — 管理并检视系统 PATH

  • path列出 PATH 目录与命令总数
  • path -s git搜索系统命令
  • path -b查看被内置命令接管的系统命令
  • path -a <目录>添加 PATH 目录(当前会话)
  • path -F强制重新扫描系统命令
$ path -b
以下 25 条系统命令被 KShell 内置命令优先接管:
(如需强制执行系统版本,请使用: command <命令>)

  calc          → 系统: C:\WINDOWS\system32\calc.exe
  find          → 系统: C:\WINDOWS\system32\find.exe
  hostname      → 系统: C:\WINDOWS\system32\HOSTNAME.EXE
  sort          → 系统: C:\WINDOWS\system32\sort.exe
  ...

calc — 安全求值计算器

基于 Python ast 模块实现,不使用 eval, 只允许数字与算术运算,函数调用和导入一律拒绝。

$ calc 1+2*3
7
$ calc (1+2)*3
9
$ calc 2**10
1024
$ calc 10/4
2.5
$ calc __import__("os").system("rm -rf /")
计算错误: 表达式包含不支持的语法

命令参考

69 条内置命令,另有系统 PATH 中任意命令,以及你自己写的插件命令

目录与文件

cdpwdlsdirmkdirmdrmdirrdrmdelcpcopymvmovecattypetouchtreestatdudffind

文本处理

echoheadtailgrepwcsortuniqnlteebase64md5sumsha1sumsha256sum

系统与进程

pskillsleepuptimeunameidsudowhoamihostnamedatetimeenvsetunsetexport

终端与配置

clearclshistoryaliasunaliaswhichmanhelpconfigthemepathcalcseqyestruefalseexitquit

插件系统 2.1

plugin listplugin infoplugin enableplugin disableplugin reloadplugin configplugin dirsplugin new

命令优先级: 内置命令 › 系统 PATH 命令。 两者同名时默认执行内置版本,用 command <cmd> 强制走系统版本, 或 config set builtin_priority false 全局切换为系统优先。
插件命令: 插件注册的命令与内置命令同级,可直接调用。 用 plugin new <名称> 生成骨架, plugin reload <名称> 热重载 —— 详见 开发者社区。

主题

6 套预设配色,theme preview 一键预览

下载

所有下载均来自 GitHub Releases

安装方式

四种方式任选,Windows 可执行文件无需安装 Python

方式一:下载可执行文件(推荐)

从 Releases 下载 kshell_windows_x64_*.exe,双击即可运行,无需安装 Python。

kshell_windows_x64_v2.0.exe            :: 交互模式
kshell_windows_x64_v2.0.exe script.ksh :: 脚本模式

方式二:源码运行

已安装 Python 3.6+ 时可直接运行源码:

python kshell.py

方式一:APT 仓库

echo "deb [trusted=yes] http://39.96.82.163/apt stable main" | sudo tee /etc/apt/sources.list.d/kshell.list
sudo apt update
sudo apt install -y kshell
kshell

方式二:deb 安装包

从 Releases 下载 .deb 后安装:

sudo dpkg -i kshell_*.deb
sudo apt-get install -f -y   # 如有依赖缺失
kshell

方式三:源码运行

git clone https://github.com/Qin-collab/KShell.git
cd KShell
python3 kshell.py

自行构建安装包:pip3 install pyinstaller && bash packaging/build_linux.sh

克隆并运行

git clone https://github.com/Qin-collab/KShell.git
cd KShell
python3 kshell.py          # 交互模式
python3 kshell.py test.ksh # 脚本模式

运行测试

python test.py             # 核心测试
python test_extra.py       # 扩展命令测试
python test_v2_syscmd.py   # v2.0 系统命令测试

构建可执行文件

pip install pyinstaller
python -m PyInstaller kshell.spec --noconfirm --clean