PowerShell 是什么
与 CMD/Bash 对比;Windows 运维场景。
25 分钟
PowerShell 是什么
PowerShell 是 Windows 上的现代命令行与脚本语言;pwsh(PowerShell 7+)也可在 Linux/macOS 运行。与 CMD 不同,PowerShell 基于 .NET 对象,适合自动化部署、CI 与日常运维。
学习目标
- 区分 CMD、PowerShell 5.1 与 PowerShell 7
- 了解 Windows 运维与 CodeRoadMap 本地开发场景
- 明确本 track 与 linux-essentials、github-actions-essentials 的分工
核心内容
三种 Shell 对比
| CMD | PowerShell 5.1 | PowerShell 7 (pwsh) | |
|---|---|---|---|
| 默认位置 | cmd.exe | Windows 内置 | 需单独安装 |
| 管道 | 纯文本 | 对象 | 对象,跨平台 |
| 脚本扩展名 | .bat / .cmd | .ps1 | .ps1 |
生产 Linux 用 Bash(linux-shell);Windows 开发机、GHA windows-latest runner 用 PowerShell。
启动与版本
$PSVersionTable.PSVersion # 当前版本
Get-Location # 等同 pwd
Set-Location H:\work\java-nav
Get-ChildItem # 等同 dir / ls
PowerShell ISE 已过时;推荐 Windows Terminal + pwsh 标签页。
在本站架构里
Windows 开发机
├─ 编辑 content/课程、backend、platform
├─ deploy\scripts\sync-courses.ps1 ← 同步课程到本地 API
├─ platform\bin\package-prod.bat ← 打生产包
└─ Git push → GHA ubuntu-latest CI
Linux 生产服务器
└─ Bash 部署 JAR + Node(见 linux-deploy)
Windows 负责 构建与内容同步;Linux 负责 7×24 运行。容器路线见 docker-essentials。
第一次运行
cd H:\work\java-nav
Get-Help Get-ChildItem -Examples
Invoke-RestMethod http://127.0.0.1:8080/actuator/health
本地 backend 未启动时,最后一行会报错——先启动 Spring Boot 再测。
练习
- 运行
$PSVersionTable,确认主版本号 - 用 列出部署脚本