Lsx
Impressive Linux commands cheat sheet CLI written in Go.Secondary developmentof the original project: https://github.com/chenjiandongx/pls
Install / Use
/learn @CJSen/LsxREADME
lsx
该项目是基于 pls 项目进行二次开发的版本,在此感谢原作者 chenjiandongx 的贡献。 由于该项目已经多年没有更新,linux-command项目已经更新了许多命令,每次都需要拉取最新命令列表,再打包比较麻烦。故在大佬的基础上,开发lsx项目,优化一些逻辑和数据结构,以适配最新的linux-command项目。
特性
- 支持通过关键字搜索 Linux 命令
- 提供详细的命令使用说明
- 支持更新内置的 Linux 命令数据库
- 支持多平台适配(包括 ARM 和 AMD 架构)
- 支持输出结果管道传输(如
| less) - 自动化构建和发布流程
- 新增 useShow 参数,默认 false,查看命令为:如
lsx ls。当 true 时:lsx show ls - 新增 useLess 参数,默认 false。开启后自动以 less 分页方式输出结果
- 支持通过配置文件自定义数据目录、远程数据源等
- 支持命令自动补全(completion)
安装
1) 使用编译好的二进制版本
https://github.com/CJSen/lsx/releases
2) 自行构建
请参考下方“构建流程”部分。
使用方法
-
下载并解压到任意目录下,赋予可执行文件权限,重命名为
lsx -
复制
lsx到/usr/local/bin等可直接查找使用的环境目录下,方便全局使用 -
相关命令使用方法
~ lsx -h
Impressive Linux commands cheat sheet cli.
Usage:
lsx [command]
Available Commands:
completion Generate the autocompletion script for the specified shell
help Help about any command
search Search command by keywords
show Show the specified command usage.
upcommands Update the embedded linux-command.json to the latest version.
upgrade Upgrade all commands from remote.
version Prints the version about lsx
Flags:
-h, --help help for lsx
Use "lsx [command] --help" for more information about a command.
建议第一次使用的时候先初始化所有命令(需联网)
lsx upcommands && lsx upgrade
命令用法模式说明
- 默认(useShow: false):
- 直接输入命令名即可查看用法,如:
lsx ls lsx grep
- 直接输入命令名即可查看用法,如:
- 兼容模式(useShow: true):
- 需通过 show 子命令查看,如:
lsx show ls lsx show grep
- 需通过 show 子命令查看,如:
配置文件说明
lsx 支持通过环境变量 LSXCONFIG 指定 YAML 配置文件,覆盖默认配置。
配置项说明:
dataDir:本地数据存储目录,默认为~/.lsx(自定义时请写完整路径,不要使用 ~,结尾不要有 /)remoteBaseUrl:远程命令数据源地址,默认为https://unpkg.com/linux-command@latestuseShow:是否启用 show 子命令模式,布尔值,默认为 falseuseLess:是否自动以 less 分页方式输出结果,布尔值,默认为 false
配置文件示例:
dataDir: "/Users/yourname/.lsx"
remoteBaseUrl: "https://unpkg.com/linux-command@latest"
useShow: false
useLess: true
指定配置文件方法:
export LSXCONFIG=/path/to/lsx.yaml
数据目录说明
- 默认数据目录为
~/.lsx,可通过配置文件自定义。 - 所有命令数据和缓存均存放于该目录。
命令自动补全
lsx 支持生成自动补全脚本:
lsx completion bash # 生成 bash 补全脚本
lsx completion zsh # 生成 zsh 补全脚本
lsx completion fish # 生成 fish 补全脚本
支持 less 分页
- 若
useLess: true,则命令输出自动分页。 - 也可手动管道:
lsx show curl | less
常见问题与错误提示
- 若提示
[sorry]: could not found command <xxx>,请确认命令拼写或先执行lsx upcommands && lsx upgrade。 - 若提示
[error]: failed to parse command index,请检查数据文件是否损坏,可尝试重新初始化。 - 若自定义数据目录无效,请确保配置文件路径正确,且目录有写权限。
多平台二进制文件说明
- 构建产物命名规则:
lsx_{os}_{arch}[.exe] - 其中
{os}为操作系统(如 linux、darwin、windows),{arch}为架构(如 amd64、arm64)
构建流程
项目使用自动化构建脚本 build.sh,支持以下特性:
- 多平台构建(Linux、macOS、Windows)
- 多架构支持(amd64 和 arm64)
- 自动下载最新的 linux-command 数据
- 自动化版本号管理
构建命令:
./build.sh
构建产物会生成在当前目录下,包含以下文件:
- lsx_{os}_{arch}[.exe]
- 其中 {os} 是操作系统,{arch} 是架构
开发贡献
该项目欢迎贡献和改进。主要改进方向包括:
- 扩展更多 Linux 命令
- 改进用户界面和交互体验
- 优化性能和稳定性
- 支持更多平台和架构
开发环境依赖
- Go 1.18 及以上
- 依赖包:
- github.com/spf13/cobra
- gopkg.in/yaml.v3
- github.com/olekukonko/tablewriter
- github.com/fatih/color
- github.com/MichaelMure/go-term-markdown
可通过 go mod tidy 自动安装依赖。
对于重大改动,建议先创建 issue 讨论。对于小的改进可以直接提交 PR。
致谢
特别感谢jaywcjlove开发的linux-command 为本项目的开发提供了基础。 特别感谢原作者 chenjiandongx 开发了 pls 项目。
LICENSE
MIT @CJSen
Related Skills
node-connect
345.4kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
104.6kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
345.4kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
345.4kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
