对每天写业务代码、修线上问题、参加评审的后端或全栈开发来说,真正写代码的时间常被排查问题、写文档和同步进度挤占,很多重复性的文字和样板代码其实可以交给 AI 起草。命令行效率高,但参数难记,一个写错的命令还可能造成不可挽回的后果。本文给出程序员用 AI 写命令行命令的一套可直接照抄的做法:用自然语言描述目标和环境,让 AI 生成命令并逐个解释参数,危险操作先用只读或演练方式验证。

场景:程序员为什么需要 AI 写命令行命令

程序员需要在服务器或自己电脑上批量处理文件,比如找出最近 7 天修改过的大文件、统计日志里的错误数量、批量压缩备份。命令记不住,每次都要搜索。而且程序员手上通常同时压着“上线订单服务灰度”之类的事情,如果每次都从零开始,很容易顾此失彼。

用什么工具

可以用对话助手(ChatGPT、Claude、DeepSeek 等),也可以用终端里的 AI 工具,例如 GitHub Copilot CLI、Warp 等终端的 AI 功能。

一个虚构的例子

先看一个虚构但很典型的例子。小吴是一位每天写业务代码、修线上问题、参加评审的后端或全栈开发,这周手头的事情包括“补齐用户模块的单元测试”和“排查定时任务重复执行问题”,偏偏这时又需要写命令行命令。小吴没有从空白页开始,而是先花几分钟把相关材料整理好,按下面的提示词交给 AI,拿到初稿后对照原始资料逐条核对,再补上自己的判断。整个过程中,小吴特别留意不把密钥、内网地址、数据库连接串和用户数据放进对话里。

分步操作

  1. 说明操作系统和 Shell,例如 Ubuntu 的 bash 或 macOS 的 zsh
  2. 要求 AI 逐个解释参数
  3. 涉及删除或修改的命令,先运行只列出结果的版本
  4. 确认无误后再执行,必要时先备份

提示词模板(可直接复制)

把方括号和括号里的内容换成你自己的信息即可:

【背景】最近在处理“补齐用户模块的单元测试”,同时要准备“排查定时任务重复执行问题”。
环境:Ubuntu 22.04,bash
我是程序员,需要处理 /data/服务名_files 目录下的文件。

请给出命令:
1. 找出最近 7 天修改过、大于 100MB 的文件,按大小排序显示
2. 统计 /var/log/app 目录下所有 .log 文件中包含“ERROR”的行数,按文件分别显示
3. 把 30 天前的 .log 文件打包压缩到 /backup,打包成功后再删除原文件

要求:逐个解释参数;第 3 个命令请先给出只列出文件、不删除的演练版本。

AI 输出示例(示意)

以下是一段示意性的输出,内容基于虚构的工作记录,仅用于展示格式和思路,实际结果会因工具和输入不同而变化:

1. 查找大文件

find /data/服务名_files -type f -mtime -7 -size +100M -exec ls -lh {} + | sort -k5 -h
  • -mtime -7:7 天内修改;-size +100M:大于 100MB

2. 统计错误行数

grep -c "ERROR" /var/log/app/*.log

3. 演练(只列出)

find /var/log/app -name "*.log" -mtime +30 -print

正式执行

find /var/log/app -name "*.log" -mtime +30 -print0 | tar --null -czf /backup/logs-$(date +%F).tar.gz -T - --remove-files

--remove-files 会在打包后删除原文件,请先确认演练结果。

注意示例中所有内容都是虚构的。实际使用时,AI 的输出质量取决于你提供的材料是否完整、要求是否具体。

实用技巧与常见坑

  • 涉及 rm、–remove-files、chmod -R 等命令时,一定先运行演练版本。
  • 不要把真实的服务器地址、密码和密钥、内网地址、数据库连接串和用户数据写进提示词。
  • 把常用命令整理成带注释的脚本,下次直接复用。

给程序员的特别提醒

让 AI 先解释思路再给代码,便于你判断方向对不对。同时要记住:AI 生成的代码必须经过本地运行、测试和代码评审,不要直接合入主干。

变体用法

  • 写定时任务:让 AI 生成 crontab 表达式并解释执行时间。
  • 批量处理:结合 xargs 或循环批量转换文件格式。

相关阅读