生活分享

Linux/WSL CLI 与档案位置

辨识主机与 WSL 的工具、路径和帐号,从正确目录执行相同练习并更新 CLI。

阅读时间约 12 分钟 · 操作 30 分钟

原创流程示意图,非产品界面截图。
图片:Mokaair (© Mokaair)
本篇目录
  1. 目标与两条入口
  2. 步骤一:Windows 使用者确认 WSL2
  3. 步骤二:辨认 shell、CLI 和家目录
  4. 步骤三:在 Linux 家目录建立练习档
  5. 步骤四:在同一个 Linux 环境登入与读取
  6. 档案位置、更新与排错

目标与两条入口

本来就在 Linux 电脑上,直接开该系统的 Terminal,从步骤二开始。Windows 使用者先决定是否真的需要 Linux 工具;原生 PowerShell 可以使用 Codex,不必为了 CLI 强制加装 WSL。已有 Linux 开发环境或专案依赖 Linux 时才走 WSL2。两者的选择与并列,不是 Windows 安装失败就无条件搬家。

图中 1 是辨认正在输入指令的环境,2 是安装并进入 Linux 专案,3 是从同一环境读档验收。Linux 的家目录、工具和认证预设各自存在;在 Windows 成功执行 codex --version,不能证明 Ubuntu 里也已安装。反过来,WSL 的登入完成也不能单凭这点判定 Windows 桌面端已登入。

步骤一:Windows 使用者确认 WSL2

在 Windows PowerShell 执行下面的查询,先看是否已有发行版,以及 VERSION 栏是否为 2。这不是 Linux shell 命令。已有 WSL2 就保留它,不重灌、不删除发行版。官方现行 Codex Linux 沙盒不支援 WSL1;若现有专案还在 WSL1,先备份并依 Microsoft 文件规划转换,不要对唯一的工作副本直接试改。

Windows PowerShell:只查询已安装的 WSL 发行版 · powershell
wsl --list --verbose

先用 winver 核对 Windows 版本;Microsoft 的 wsl --install 简化流程要求 Windows 11,或 Windows 10 2004(组建 19041)以上。旧版请用官方手动安装文件,不要直接套用下面命令。 没有安装 WSL 的读者,先确认电脑政策允许启用虚拟化与 WSL,再按 Microsoft 文件在系统管理员 PowerShell 执行 wsl --install,依提示重开机与建立 Linux 使用者。这是安装作业系统环境,不是只下载一个 npm 套件;需要安排中断其他工作的时间。公司电脑依管理政策处理,不另教绕过限制。

管理员 PowerShell:仅限尚未安装且已决定使用 WSL · powershell
wsl --install

有多个发行版时,可在 PowerShell 使用 wsl --distribution 加上清单中的完整名称,例如把自己的名称放在引号内。先选对发行版再安装;不要在发行版 A 查到 codex,就跳到发行版 B 宣称已可使用。完成本篇后若切回 PowerShell,必须重新辨识命令来源,不把 Linux 的安装或档案杂凑纪录套到 Windows。

安装完成后在 Terminal 选自己的 Linux 发行版,或于一般 PowerShell 执行 wsl 进入预设发行版。有多个发行版时,用 wsl --list --verbose 的真实名称选择,不要照抄不一定存在的 Ubuntu。进入后提示符号与路径变成 Linux 形式;以下步骤全部在这个 Linux shell 执行。

步骤二:辨认 shell、CLI 和家目录

Linux/WSL shell:辨识系统、位置与命令来源 · bash
uname -s
pwd
printf '%s\n' "$WSL_DISTRO_NAME"
command -v codex
type -a codex

uname 预期显示 Linux;WSL_DISTRO_NAME 在 WSL 会指出发行版,一般 Linux 留空是合理的。command -v 与 type -a 应指向你打算在 Linux 使用的安装;若出现 /mnt/c 下的 Windows 包装程式,不要只因命令能跑就当成 Linux 安装。先记录来源,后续把 CLI 安装在 Linux 环境,并重新核对 shell 实际选到哪一份。

新装使用官方独立安装命令,先核对来源,完成后阅读 PATH 指示并开新 Linux 终端机。已用 npm 的读者可在同一个 Linux 环境确认 node 和 npm 版本,再用 npm install -g @openai/codex;不把 Windows 的 Node.js 当作 Linux 的前置依赖。一次选一种管道,之后更新保持一致。

Linux/WSL shell:官方独立安装路线 · bash
curl -fsSL https://chatgpt.com/codex/install.sh | sh
Linux/WSL shell:安装后在新视窗查来源与版本 · bash
command -v codex
codex --version
codex --help

安装输出、实际路径和版本三者要能对上。curl、sh 或系统工具本身不存在时,先依你的 Linux 发行版文件准备工具;不要照抄另一个发行版的套件管理指令。CLI 能启动仍不代表专案依赖或 Linux 沙盒已正常;后面的实际读档会检查第二层。

步骤三:在 Linux 家目录建立练习档

WSL 专案若由 Linux 工具执行,优先放在 Linux 家目录,例如 ~/code 下;/mnt/c 是 Windows 档案系统的挂载入口,与 /home 不是两个名称指向同一份专案。不要为了本练习搬动正式专案。下面用新资料夹示范,若目录已存在会保留内容并停止建立;换新名字再试。整个区块在子 shell 执行,结束后依下一段明确切入。

Linux/WSL shell:整段建立全新练习资料夹 · bash
(
  set -e
  cd ~
  mkdir 'codex linux lab'
  cd 'codex linux lab'
  printf '%s\n' 'LINUX-CLI-01' > note.txt
  cp note.txt note.original.txt
  pwd
  ls
)

建立成功才执行下一个区块。若 mkdir 显示 File exists,表示它保护了原资料,并不是需要加 sudo;先选新目录。切入后应看到两个档案及 LINUX-CLI-01,两份 SHA-256 相同。这个相同是本机两份相同位元组的比对,不要求与 Windows 的档案杂凑一致。

Linux/WSL shell:建立成功后进入、读取与核对 · bash
cd ~/"codex linux lab"
pwd
cat note.txt
sha256sum note.txt note.original.txt

步骤四:在同一个 Linux 环境登入与读取

Linux/WSL shell:每行完成后才执行下一行 · bash
codex login
codex login status
codex --sandbox read-only

逐行等候完成,依实际登入画面处理;WSL 可能透过主机浏览器完成认证,完成页出现后仍要回 Linux 终端机确认登入结果。没有浏览器或本机回呼不可用时,先查 codex login --help 及官方认证页;只有帐号与组织允许装置码流程时,才用 codex login --device-auth。不要把 Windows 认证档复制到专案来解决登入。

自然语言提示词:在 Linux 的 Codex CLI 输入 · text
Read note.txt and note.original.txt in the current Linux practice directory. Report the current directory and the exact marker, and check whether both files match. Do not edit, create files, or use external services. Stop and report any missing file or access error.

上段是 Codex 对话,不是 bash 命令。要求的目录应是 Linux 练习资料夹,标记 LINUX-CLI-01;同时看实际读取记录。接著在同一个 Codex 工作阶段要求读取不存在的 note-missing.txt,预期清楚回报缺档而不新增。完成后才用 /exit 回 shell,重跑 sha256sum、cat 和 ls,核对没有改动。能完成这两种结果,才验证安装、登入、定位与读取串在一起。

档案位置、更新与排错

位置或工具代表的环境本篇怎么判断
C:\Users 路径Windows 本机在 PowerShell 用 Get-Location
/home 下的专案Linux/WSL 的档案系统在 Linux shell 用 pwd
/mnt/c 下的专案Linux 看到的 Windows 挂载磁碟不当成 /home 的另一个副本
Linux 的 codexLinux shell 选到的 CLIcommand -v 与版本一起核对

如果 Linux 工具专案放在 /mnt/c 而操作很慢,先用新的 Linux 家目录练习副本比较,不要直接移动或删除唯一原稿。需要从 Windows 档案总管检视 WSL,可用官方文件说明的 \\wsl$ 入口选实际发行版;这是存取 Linux 档案,不是把两份内容同步。两个目录都存在时,用标记与 pwd 判断,不凭同名资料夹猜测。

更新前先退出 CLI 并记录工作摘要。独立版重跑 Linux 的官方安装命令,npm 版用同一个 Linux 的 npm 更新,然后开新 shell 核对 command -v 和版本。wsl --update 更新的是 WSL,不能代替 CLI 更新;wsl --shutdown 会停止 WSL 执行中的工作,不要把它当作每次安装 Codex 必做的步骤。

shell 能读、Codex 不能读时,记录沙盒启动或权限错误,先确认 WSL2 与发行版环境,依排查,不要一律关闭沙盒。找不到旧工作阶段时,核对是否换了发行版、Linux 使用者或 CODEX_HOME;本篇不设定共用认证目录,以免把登入和工具来源混在一起。后续回完成修改与还原,再接。

原创流程示意图,非产品界面截图。
原创流程示意图,非产品界面截图。 · 图片:Mokaair (© Mokaair)
阅读完整文字说明

Three numbered stages: identify the starting point, perform the exercise, and verify the result. Original illustration, not a product screenshot.

回总目录

  • 生活分享

    Codex 学习中心:完整教程目录

    从安装、第一个任务到 MD 规则与进阶集成,规划 60 篇 Codex 教程、十个单元。按程度、平台、需求或命令搜索下一篇;尚未公开的教程会标示状态,方便安排学习路线。

  • 生活分享

    Worktree 与多任务隔离

    Worktree 让同一个 Git 程式库有不同的工作目录,各自承接不同分支。它适合让两项工作分开改档,但资料库、连接埠与外部服务仍可能共用,不能把档案隔离当成所有资源隔离。

  • 生活分享

    实战:制作小网站

    从 brief.md 规划并制作 Small Steps 待办网站,完成新增、完成、删除、筛选与本机资料保存。将 HTML、CSS、资料函式、画面事件与测试分开,以 Node 测试和浏览器操作验收,并留下可重新启动与还原的交接纪录。

  • 生活分享

    用量与效率:减少重工

    记录任务条件、模型选项、时间与成果,找出能减少无效重试和过多上下文的调整。

最新旅游情报攻略

资料来源

生活分享