← 返回
未分类

bash-explainer

TRIGGER when: (1) after any Bash tool execution completes, (2) user asks "what does this command do" or "explain this command", (3) user asks about the meaning of a specific shell command. DO NOT TRIGGER when: no bash command was executed or user is not asking about shell commands.
user_846d0839
未分类 community v1.0.0 1 版本 100000 Key: 无需
★ 0
Stars
📥 220
下载
💾 2
安装
1
版本
#latest

概述

Bash 命令解释器

概述

这个 skill 的目的是帮助用户学习 bash 命令。每次执行命令后,用简洁清晰的方式解释命令的每个组成部分。

核心原则

  1. 简洁优先:默认使用简洁格式,一句话概括 + 关键部分列表
  2. 持续学习:即使是简单命令也提供解释,帮助用户积累知识
  3. 中文解释:所有解释使用中文,确保用户理解
  4. 不干涉执行:只负责解释,不阻止或修改命令执行

输出格式

简洁模式(默认)

每次执行 bash 命令后,在命令执行结果之后添加解释:

📋 命令解释:`<原始命令>`

目的:<一句话概括这个命令要做什么>

组成部分:
• `部分1` - 含义
• `部分2` - 含义
• `部分3` - 含义

详细模式

当用户明确要求详细解释时使用:

🔍 详细解释:`<原始命令>`

📌 整体目的
<2-3 句话详细说明命令的目的和效果>

🔧 逐部分分解
| 组件 | 含义 |
|------|------|
| <组件1> | <详细解释> |
| <组件2> | <详细解释> |

💡 实用示例
• <示例1>
• <示例2>

📚 延伸学习
• 相关命令:<命令列表>
• 手册页:man <命令>

命令组件分类

解释时按以下分类识别和说明组件:

1. 核心命令

| 类别 | 常见命令 |

|------|----------|

| 文件操作 | ls, cd, cp, mv, rm, mkdir, touch, cat, find, ln |

| 文本处理 | grep, sed, awk, head, tail, wc, sort, uniq, cut, tr |

| 系统信息 | pwd, whoami, date, uname, df, du, hostname |

| 进程管理 | ps, kill, top, htop, bg, fg, jobs, nohup |

| 权限管理 | chmod, chown, sudo, su |

| 网络相关 | curl, wget, ping, ssh, scp, rsync, netstat |

| 压缩解压 | tar, zip, unzip, gzip, gunzip |

2. 参数和选项

| 类型 | 格式 | 示例 |

|------|------|------|

| 短选项 | -x | -l, -a, -r, -f, -v |

| 长选项 | --xxx | --help, --version, --all |

| 组合短选项 | -xyz | -la (等同于 -l -a) |

| 带值选项 | -x value | -f filename, -o output |

3. 操作符和连接符

| 符号 | 名称 | 含义 |

|------|------|------|

| \| | 管道 | 将前一命令的输出作为后一命令的输入 |

| > | 重定向(覆盖) | 将输出写入文件(覆盖原有内容) |

| >> | 重定向(追加) | 将输出追加到文件末尾 |

| < | 输入重定向 | 从文件读取输入 |

| << | Here Document | 多行输入 |

| && | 与连接 | 前一命令成功才执行下一个 |

| \|\| | 或连接 | 前一命令失败才执行下一个 |

| ; | 顺序执行 | 无论成败,依次执行各命令 |

| & | 后台执行 | 在后台运行命令 |

4. 特殊符号

| 符号 | 含义 |

|------|------|

| $ | 变量引用前缀,如 $HOME, $PATH |

| $(...) | 命令替换,执行括号内命令并返回结果 |

| ~ | 当前用户的主目录 |

| . | 当前目录 |

| .. | 上级目录 |

| - | 上一个工作目录(用于 cd -) |

| * | 通配符,匹配任意多个字符 |

| ? | 通配符,匹配单个字符 |

| [...] | 字符集,匹配括号内的任意一个字符 |

| {...} | 大括号展开,如 {a,b,c} 或 {1..10} |

| '...' | 单引号,原样保留内容(不解释变量) |

| "..." | 双引号,允许变量展开 |

| \ | 转义符,取消特殊含义 |

| # | 注释开始 |

解释示例

示例 1:简单命令

命令: ls -la

📋 命令解释:`ls -la`

目的:以详细格式列出当前目录的所有文件(包括隐藏文件)

组成部分:
• `ls` - 列出目录内容
• `-l` - 长格式,显示权限、所有者、大小、时间等详细信息
• `-a` - 显示所有文件,包括以 . 开头的隐藏文件

示例 2:管道命令

命令: cat log.txt | grep "error" | wc -l

📋 命令解释:`cat log.txt | grep "error" | wc -l`

目的:统计 log.txt 文件中包含 "error" 的行数

组成部分:
• `cat log.txt` - 读取并输出 log.txt 文件的内容
• `|` - 管道,将前一命令的输出传给后一命令
• `grep "error"` - 筛选包含 "error" 的行
• `|` - 管道,继续传递结果
• `wc -l` - 统计行数

💡 数据流向:文件内容 → 筛选错误行 → 计数

示例 3:条件执行

命令: mkdir dir && cd dir

📋 命令解释:`mkdir dir && cd dir`

目的:创建目录 dir,成功后进入该目录

组成部分:
• `mkdir dir` - 创建名为 dir 的目录
• `&&` - 与连接符,只有前一命令成功(退出码为0)才执行下一命令
• `cd dir` - 切换到 dir 目录

💡 如果 mkdir 失败(如目录已存在),cd 不会执行

示例 4:复杂命令

命令: find . -name "*.js" -type f -exec rm {} \;

📋 命令解释:`find . -name "*.js" -type f -exec rm {} \;`

目的:在当前目录及子目录中查找所有 .js 文件并删除它们

组成部分:
• `find` - 文件查找命令
• `.` - 从当前目录开始搜索
• `-name "*.js"` - 按文件名匹配,查找所有 .js 文件
• `-type f` - 只匹配普通文件(不含目录)
• `-exec ... \;` - 对每个匹配的文件执行指定命令
• `rm {}` - 删除文件,{} 代表找到的文件路径
• `\;` - exec 命令的结束标志

⚠️ 注意:此命令会永久删除文件,请谨慎使用

示例 5:变量和命令替换

命令: echo "当前目录: $(pwd)"

📋 命令解释:`echo "当前目录: $(pwd)"`

目的:输出当前工作目录的路径

组成部分:
• `echo` - 输出文本
• `"..."` - 双引号,保留内容但允许变量展开
• `$(pwd)` - 命令替换,执行 pwd 命令并获取其输出结果
• `pwd` - 打印当前工作目录

💡 双引号内会展开 $(...) 和 $变量,单引号则不会

示例 6:重定向

命令: ls -la > files.txt 2>&1

📋 命令解释:`ls -la > files.txt 2>&1`

目的:将目录列表(包括错误信息)保存到 files.txt 文件

组成部分:
• `ls -la` - 详细列出当前目录所有文件
• `>` - 输出重定向,将标准输出写入文件(覆盖)
• `files.txt` - 目标文件名
• `2>&1` - 将标准错误(2)重定向到标准输出(1)

💡 文件描述符:0=标准输入, 1=标准输出, 2=标准错误

注意事项

  1. 保持简洁:解释应该简明扼要,不要过度冗长
  2. 突出重点:对于复杂命令,重点解释关键部分
  3. 提供上下文:说明命令在什么场景下使用
  4. 鼓励学习:适时提供相关命令或替代方案
  5. 尊重用户:如果用户明显是专家,可以适当简化解释

版本历史

共 1 个版本

  • v1.0.0 Initial release 当前
    2026-04-07 12:12 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

dev-programming

Docker Essentials

arnarsson
核心 Docker 命令和工作流程,包括容器管理、镜像操作和调试。
★ 39 📥 32,749
dev-programming

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 688 📥 331,768
dev-programming

Mcporter

steipete
使用 mcporter CLI 直接列出、配置、认证及调用 MCP 服务器/工具(支持 HTTP 或 stdio),涵盖临时服务器、配置编辑及 CLI/类型生成功能。
★ 199 📥 68,364