章末自测答案
答案用于复盘,不替代亲手实验。先写自己的解释,再对照。
第 1 章
- WSL 2 提供 Windows 上的 Linux 运行层,Ubuntu 是运行在其中的发行版。
- 进程存在不证明容器健康、端口映射正确或 HTTP 内容符合预期。
- PowerShell 或 CMD;在 Bash 中需明确调用
wsl.exe。
第 2 章
- Windows/Build/架构、虚拟化状态、内存、磁盘和权限均可只读核对。
- 启用组件和初次安装通常需要重启,中断会留下“步骤未完成”而非必然损坏。
- 固件操作可能受机型、BitLocker 和组织策略影响,错误修改风险高。
第 3 章
- 不同层:前者更新 WSL,后者更新 Ubuntu 软件包索引。
- 在 PowerShell 运行
wsl --list --verbose,检查 Ubuntu 的 VERSION=2。 - 重装会引入数据丢失和新变量;可用环境应先核验并做最小补齐。
第 4 章
- Linux 密码输入默认不回显,这是正常安全行为。
- update 刷新索引,upgrade 升级已安装包。
wsl --unregister会删除目标发行版数据。
第 5 章
- Windows Terminal 是承载窗口,Bash 才解释 Bash 命令。
- 双引号保持包含空格的值作为一个参数,并允许变量展开。
- 检查退出码和实际状态,而不是只看输出多少。
第 6 章
/是文件系统根;/root是 root 主目录;~指当前用户主目录。- 确认删除对象的绝对位置,防止在错误目录操作。
- 当前工作目录。
第 7 章
>覆盖,>>追加;覆盖可能丢失已有内容。- 默认传递标准输出。
- 先用
printf或find展示匹配结果。
第 8 章
- 允许进入/穿越目录并访问其中条目。
- 600 仅所有者读写;644 允许其他人读取。
- 它会无差别扩大权限,既掩盖所有权/路径问题又增加安全风险。
第 9 章
- 让本地包索引反映当前软件源状态。
- 不会,默认只作用于当前 Shell 及子进程。
- 先列出内容,再解压到空的专用目录。
第 10 章
- TERM 允许进程清理退出;KILL 立即终止且无法处理。
- 最近一个后台进程的 PID。
- Docker Desktop 引擎由 Desktop/WSL 集成管理,不等于 Ubuntu 内普通服务。
第 11 章
- 工具和文件同处 Linux 文件系统通常有更好的性能与权限一致性。
- 使用
\\wsl$\Ubuntu\home\用户名或在 Bash 运行explorer.exe .。 - 主要执行工具在哪一侧,项目就优先放在哪一侧;WSL 智能体适合 Linux 主目录。
第 12 章
- 不能;它只证明名称解析,不能证明端口和应用响应。
- 8080 属于主机,80 属于容器。
- 保持因果可追踪,知道哪个改动真正有效。
第 13 章
- 防止空格和通配符导致参数被错误拆分或展开。
- 向标准错误输出清楚名称并返回非 0。
- 不能;路径、权限和意图仍需显式验证。
第 14 章
- Windows 负责桌面 UI,WSL 扩展和 Server 把工作环境接入 Linux。
- 检查状态栏、
echo "$WSL_DISTRO_NAME"、pwd。 - 扩展的 UI 部分和语言/工具部分可能分别运行在 Windows 与 WSL。
第 15 章
- 前者看未暂存改动,后者看已暂存、将进入下次提交的改动。
- 防止丢弃用户或其他协作者尚未提交的工作。
- 不能;提交只记录文件历史,功能还需构建和运行验证。
第 16 章
- 镜像是模板,容器是由镜像创建的运行实例。
- 容器删除时可写层通常随之消失,唯一数据应放卷或主机受控目录。
- Registry 分发镜像,容器是具体运行实例。
第 17 章
- 它只读取客户端版本,不能证明 Server 可连接。
- 实际用来开发的 Ubuntu 发行版,而不是看到开关就全开。
- 恢复出厂设置可能删除镜像、容器和配置,应先收集证据。
第 18 章
- stop 停止但保留容器;rm 删除容器实例。
- 降低容器进程误改主机源文件的风险。
- 应先定位引擎、容器、日志、内部 HTTP、端口中的失败层。
第 19 章
- 不能;它只证明配置可解析。
- 它决定哪些本地文件进入构建上下文,可防止秘密和无关文件进入镜像构建。
- 手工修改不可复现,重建容器后会丢失。
第 20 章
- 沙盒限制技术可达范围,审批决定哪些动作必须先征得同意。
- 默认不共享;两边使用不同主目录和状态。
- 审阅 diff,运行相称的静态检查/构建/测试,检查容器与 HTTP,并验证用户可见结果。