Communitygithub.com

roebi/agent-skills

AI Agent使用的终端与CLI技能库,涵盖从基础Bash到容器编排与AI代理执行的完整技术栈。

agent-skills 是什么?

该技能专为AI Agent设计,提供Linux终端操作的完整参考,覆盖Bash脚本、文件系统管理、包安装、环境变量配置,以及容器化工具(Podman、Kubernetes)和HTTP请求(curl)等高级主题。其核心优势在于结构化的文档和可扩展的‘按需加载’模式:用户可通过加载references/目录下的专门文件获取详细命令参考,而非一次性处理全部内容。技能设计紧密结合AI Agent执行场景,明确支持aider-chat和claude CLI等工具,使AI能高效完成命令执行、脚本编写、日志分析、系统配置等任务。通过规范使用管道、重定向、条件执行等模式,该技能确保AI生成的命令安全可靠,并遵循Linux最佳实践。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add roebi/agent-skills

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

终端与 CLI 技能

在 Linux 终端中工作的参考指南——涵盖从基础 Bash 到容器编排和 AI Agent 执行的完整技术栈。

如何使用本技能

本文档涵盖最常见的模式。如需详细的命令参考,请按需加载 references/ 中的相关文件:

主题参考文件
Bash 核心:管道、脚本、文件系统、安装、环境变量references/bash.md
容器:Podman、Kubernetes (kubectl)、Helmreferences/containers.md
HTTP 请求:curlreferences/curl.md
AI 代理:aider-chat、claude CLIreferences/agents.md

1. 运行 Bash 命令

command [options] [arguments]

# 顺序执行——遇到第一个失败即停止
cmd1 && cmd2 && cmd3

# 无论失败与否都执行
cmd1; cmd2; cmd3

# 将输出捕获到变量
OUTPUT=$(command)

# 重定向 stdout / stderr / 两者
command > out.txt
command 2> err.txt
command &> all.txt

# 丢弃所有输出
command > /dev/null 2>&1

2. 检查工具是否存在

type -a tool_name      # 查找工具的所有位置
apropos keyword        # 查找匹配关键字的命令
which tool_name        # PATH 中第一个二进制文件
whereis tool_name      # 二进制、源码和手册页位置

3. 结合 && 使用

# 仅在前一条命令成功时继续执行
sudo apt update && sudo apt upgrade -y

# 安全地链式执行多个步骤
mkdir -p build && cd build && cmake ..

4. 使用 | 管道

# 将一个命令的 stdout 作为 stdin 传递给下一个命令
cmd1 | cmd2 | cmd3

# 常见模式
ls -la | grep ".conf"
ps aux | grep nginx
journalctl -u myservice | grep ERROR | tail -20
cat file.txt | wc -l

5. 使用 cat 读取内容

cat file.txt                   # 将完整文件输出到 stdout
cat file1.txt file2.txt        # 连接多个文件
head -n 20 file.txt            # 前 20 行
tail -n 20 file.txt            # 后 20 行
tail -f /var/log/app.log       # 实时跟踪日志输出
less file.txt                  # 分页查看(按 q 退出)
grep "pattern" file.txt        # 匹配模式的行
grep -r "pattern" ./dir/       # 在目录中递归搜索
grep -n "pattern" file.txt     # 显示行号
grep -i "pattern" file.txt     # 忽略大小写

6. 排序结果

sort file.txt                  # 字母序(升序)
sort -r file.txt               # 逆序
sort -n file.txt               # 数字排序
sort -k2 file.txt              # 按第 2 列排序
sort -t: -k3 -n /etc/passwd    # 自定义分隔符(:),第 3 列,数字
ls -la | sort -k5 -n           # 按文件大小(第 5 列)排序 ls 输出

7. 唯一结果

# uniq 仅移除*连续*重复项——务必先排序
sort file.txt | uniq            # 去重
sort file.txt | uniq -c        # 统计出现次数
sort file.txt | uniq -d        # 仅显示重复项
sort file.txt | uniq -u        # 仅显示出现一次的行

# 典型管道:统计日志中错误类型的数量
cat app.log | grep ERROR | sort | uniq -c | sort -rn

8. 使用 heredoc 编写并运行脚本

# 内联创建脚本文件
cat << 'EOF' > myscript.sh
#!/bin/bash
set -euo pipefail   # 遇到错误、未定义变量或管道失败时退出

echo "Today: $(date +%Y-%m-%d)"

for i in 1 2 3; do
  echo "Step $i"
done
EOF

chmod +x myscript.sh
./myscript.sh

# 或者直接运行而不创建文件
bash << 'EOF'
echo "Inline execution"
ls -la /tmp
EOF

脚本最佳实践:

  • 始终以 #!/bin/bash 开头
  • 使用 set -euo pipefail 确保安全默认行为
  • 始终引用变量:"$VAR" 而非 $VAR
  • 使用 $(...) 而非反引号

9. 文件系统——快速参考

# 导航与查看
pwd && ls -lah              # 我在哪 + 这里有什么
tree -L 2                   # 目录树(2 层深)
find /path -name "*.log"    # 按名称查找
du -sh /path                # 目录大小
df -h                       # 所有挂载点的磁盘使用情况

# 创建 / 复制 / 移动 / 删除
mkdir -p /path/to/dir       # 创建(含父目录)
cp -r src/ dst/             # 复制目录
mv src dst                  # 移动或重命名
rm -rf dir/                 # 递归删除(不可逆)

# 权限与所有权
chmod +x file               # 设置为可执行
chmod 644 file              # rw-r--r--
chown user:group file       # 更改所有者

# 链接
ln -s /target /link         # 符号链接
readlink -f /link           # 解析符号链接到真实路径

# 挂载
mount                       # 列出所有活跃挂载
lsblk                       # 块设备树
findmnt                     # 挂载点树

→ 完整文件系统参考:references/bash.md

10. 安装与更新——快速参考

# APT
sudo apt update && sudo apt upgrade -y
sudo apt install -y package-name

# pip (Python)
pip install package --break-system-packages

# npm (Node.js)
npm install -g package-name

→ 完整安装参考(snap、源码编译、pip 选项):references/bash.md

11. 获取命令帮助

command --help              # 内联帮助(最快)
man command                 # 完整手册页
apropos keyword             # 搜索手册页摘要
whatis command              # 单行描述
info command                # GNU info 页面(适用于 GNU 工具)
help cd                     # Shell 内建命令的帮助

12. 环境变量——快速参考

export VAR="value"          # 为当前 Shell 及其子进程设置
echo $VAR                   # 读取变量
unset VAR                   # 移除变量
env                         # 列出所有环境变量
VAR=value command           # 仅为单个命令设置

→ 持久化变量、加载 .env 文件:references/bash.md


详细参考

当你需要完整的命令覆盖时,请加载这些文件:

  • references/bash.md —— 完整文件系统、安装/更新、环境变量、脚本模式
  • references/containers.md —— Podman、kubectl、Helm
  • references/curl.md —— 用于 HTTP 请求的 curl
  • references/agents.md —— aider-chat 和 claude CLI

相关技能