<style>.toc-chapters{max-height:none!important}.copy-btn,#sidebar-toggle,#fullscreen-toggle{display:none!important}@media(max-width:768px){.tutorial-app{display:flex;height:auto;overflow:visible;flex-direction:column}.tutorial-main{order:0;overflow:visible}.tutorial-content{overflow:visible}.tutorial-sidebar{order:1;position:static!important;width:100%!important;min-width:0!important;max-height:none!important;display:flex!important;transform:none!important}.sidebar-toc{overflow:visible}}</style>

第 5 章:理解命令执行与外部环境

以前用终端(命令行窗口)需要背一堆命令。现在你可以让 Codex 用大白话解释命令、提出建议,并在当前任务允许时协助执行;但是否能运行、运行在哪里,取决于当前客户端、项目和授权。


5.1 在 Codex 里运行命令

终端是用文字向电脑下指令的窗口。当前 Codex 任务可能显示命令和输出,也可能要求你确认;不要假定每个账号都有相同的终端入口或权限。即使你不需要背命令,也应先看懂它准备做什么。

最简单的用法

直接在聊天框里跟 Codex 说你想干什么就行:

「帮我看看当前文件夹里有哪些文件。」

如果当前任务允许,它会建议或运行类似 ls 的查看命令,并把结果告诉你。先从“查看、不修改”的命令练习,不要一上来运行安装、删除或系统级命令。

如果你想看具体命令

有些时候,Codex 会把执行的命令和结果一起展示给你。比如:

$ ls -la
总计 24
drwxr-xr-x  5 user  staff   160  6月 26 10:00 .
drwxr-xr-x  8 user  staff   256  6月 26 09:55 ..
-rw-r--r--  1 user  staff   120  6月 26 10:00 index.html
-rw-r--r--  1 user  staff   340  6月 26 10:00 style.css
-rw-r--r--  1 user  staff   520  6月 26 10:00 README.md

这样你既能知道结果,也能逐渐熟悉常用命令。

常用操作示例

查看磁盘空间:

「帮我看看电脑硬盘还剩多少空间。」

查看当前路径:

「我现在在哪个文件夹?」

查看系统运行时间:

「电脑开机多久了?」

压缩文件:

「帮我把 photos/ 文件夹打包成一个 zip 文件。」

🧠 小技巧:你不需要关心命令怎么拼写,把需求说清楚就行。Codex 会选最适合的命令来执行。

[截图:Codex 聊天框中自然语言指令和终端执行结果对照]


5.2 长时间任务:先看状态,不假定有“多终端”

有些任务会花较长时间,例如构建项目或读取大量日志。不同界面可能显示后台进度、任务状态或命令输出,但不应把“多个终端会话”当作所有用户固定可用的功能。

同时做几件事

比如你正在:

  1. 编译一个程序(需要等几分钟)
  2. 下载一个大文件
  3. 查看日志输出

你可以对 Codex 说:

「帮我在后台运行 npm run build,然后另开一个终端查看日志文件。」

如果当前界面允许,它可能把这些工作显示为不同任务或输出区域:

  • 会话 1:在后台跑构建任务,完成后告诉你
  • 会话 2:实时显示日志更新

切换和管理终端

「帮我看看现在哪些终端还在跑。」

Codex 会列出所有活跃的会话:

1. [后台] npm run build → 运行中(已完成30%)
2. [活跃] tail -f log.txt → 活跃中
3. [已完成] curl download → 已结束

你可以先说:

「帮我把第 2 个终端关掉,日志我看完了。」

为什么要用多终端?

  • 不用傻等:一个任务在跑,你可以做其他事
  • 互不干扰:每个终端都有自己的工作区
  • 随时监控:可以同时查看多个进度

5.3 SSH 与文件传输:这是外部环境能力

SSH 是一种远程连接电脑的协议。简单说,就是你在自己电脑上操作公司或云上的另一台电脑。它由操作系统、终端、服务器权限和密钥配置共同决定,不是 Codex 默认自带的远程登录或文件传输服务。

连接远程服务器

如果你的开发机放在公司的服务器上,先由公司管理员或有经验的同事确认 SSH 是否已配置。Codex 可以协助解释连接说明、检查命令草稿或分析报错;不要把服务器地址、密码或私钥发进聊天框。

「帮我用 SSH 连接到 dev-server.example.com,用户名是 admin。」

连接应在你确认安全的终端或管理工具中完成。当前 Codex 是否能协助使用该环境,以实际界面、账号和权限提示为准;远程服务器上的动作尤其需要人工复核。

在远程服务器上工作

连接上之后,你的指令就变成了在远程服务器上执行:

「查一下服务器的硬盘使用情况。」

Codex 会在远程服务器上运行命令,然后把结果返回给你。

传输文件

「把本地的 config.json 上传到远程服务器的 /home/admin/ 目录。」

或者:

「从远程服务器下载 data/report.pdf 到我的下载文件夹。」

[截图:Codex 通过 SSH 连接远程服务器并在其中执行命令的界面]

🧠 小提示:密码、私钥、令牌和服务器配置都属于敏感信息。不要粘贴到聊天框、截图或项目说明中。


5.4 查看命令输出和日志

有时候命令跑完了,但你想回去看之前的输出结果。或者程序出错了,想看日志找原因。

查看历史输出

「帮我看看刚才那个构建命令的输出结果。」

Codex 可以回顾刚才执行的命令和输出。

实时查看日志

如果你的网站正在运行,想看有没有错误:

「帮我实时查看服务器的访问日志,只看最近 50 行。」

Codex 会执行类似 tail -n 50 log.txt 的命令并展示结果。

过滤日志

日志文件可能很长,几万行都是常事。你可以让 Codex 帮你找关键信息:

「从日志里帮我把所有包含"error"的行找出来。」

或者:

「帮我在日志里搜索 '登录失败' 这个关键词,并把上下文也显示出来。」

导出日志

「把错误日志保存到一个叫 errors.txt 的文件里,我发给同事看看。」


5.5 命令执行的安全机制

这是非常重要的一节。你可能会担心:让 AI 协助运行命令安全吗? 安全取决于当前任务的权限、命令内容、项目设置和你的审批;不要把任何工具视为自动安全。

第一层:沙箱隔离(Sandbox)

某些任务会在受限环境中运行,或要求你批准额外访问;具体隔离方式和可用权限由当前客户端与工作区设置决定。把它理解成“可能有护栏”,而不是“永远不会出错”。

常见的风险等级可以这样理解(实际选项请以当前界面为准):

模式 能做什么 什么时候用
🔒 只读模式 只能看文件,不能修改或删任何东西 检查别人的代码、学习用
📝 项目范围访问 可能只允许在当前项目范围内工作 适合从小范围任务开始
⚠️ 更广泛访问 可能访问更多文件或网络 只在你理解原因时慎重批准

不要假定默认权限、网络策略或可访问目录。每次出现授权提示都应重新确认范围。

第二层:审批机制(Approval)

某些操作可能需要你在当前界面确认;是否提示、提示内容和可用范围都以当前权限设置为准:

  • 「我想修改 /etc/hosts 文件,这个文件在项目外。你同意吗?」
  • 「我想访问网络下载一个文件,可以吗?」

你要说「可以」、「同意」或点确认按钮,Codex 才会执行。这个机制叫审批策略,目的是避免意外操作。

第三层:网络访问控制

网络访问、下载和外部连接是否可用,应以当前任务的权限提示为准。即使你批准了网络,也应只批准明确、必要的下载或网站访问。

常见安全场景

场景 1:安全执行

你让 Codex 下载一个依赖包。 ✅ 先查看命令内容和当前权限范围,再决定是否继续。 ✅ 下载前确认来源、目标目录与是否确有必要。

场景 2:误操作防护

你想让 Codex 删除整个项目。 ✅ 先要求列出拟删除文件;你自己核对后再决定是否执行。 ✅ 不要假定删除范围或确认方式,始终以当前权限提示为准。

场景 3:敏感信息保护

你在 .env 文件里存了密码。 ✅ 不把 .env、密码或密钥当成“天然受保护”;只授予必要范围,并避免在对话中展示敏感内容。

[截图:Codex 请求审批弹窗的界面,显示「请求访问网络」的提示]


本章小结:Codex 可以帮助你理解命令、查看输出和审查技术操作,但终端、远程服务器和权限不是可以想当然的默认能力。先从只读命令开始;遇到 SSH、上传、删除或联网时,由人确认环境和结果。


系统教程,帮你把工具用好,再回到任务中。 浏览任务方案 →