📅 第1天:认识 PowerShell —— 从启动到第一个命令
🎯 学习目标
- 理解 PowerShell 是什么,与 CMD 的本质区别
- 掌握如何启动 PowerShell(普通/管理员)
- 学会执行基本命令(cmdlet)
- 理解“动词-名词”命名规范
- 使用帮助系统查询命令用法
一、PowerShell 是什么?
官方定义(Microsoft Learn):
PowerShell 是一种任务自动化和配置管理框架,由命令行 shell 和脚本语言组成,基于 .NET 构建,专为系统管理设计。
✅ 与 CMD 的关键区别:
| 特性 | CMD | PowerShell |
|---|---|---|
| 输出类型 | 纯文本 | .NET 对象(可操作属性和方法) |
| 跨平台 | 仅 Windows | 支持 Windows、Linux、macOS(PowerShell Core) |
| 命令结构 | 无统一规范(如 dir, copy) | 统一“动词-名词”格式(如 Get-Process, Set-Location) |
| 脚本能力 | .bat 文件,功能有限 | .ps1 脚本,支持函数、模块、错误处理等 |
💡 举例说明对象 vs 文本:
在 CMD 中,tasklist输出的是不可直接处理的文本;
在 PowerShell 中,Get-Process返回的是进程对象,你可以直接访问其.Id、.CPU等属性。
二、如何启动 PowerShell?
方法1:通过搜索栏
- 按
Win + S,输入PowerShell - 点击 “Windows PowerShell” 启动(普通权限)
- 右键 → 以管理员身份运行(需要提权操作时使用)
方法2:在 CMD 中启动
powershell
方法3:通过运行对话框
Win + R→ 输入powershell→ 回车
⚠️ 注意:默认执行策略(ExecutionPolicy)为
Restricted,不允许运行脚本(第2天详解)。
三、第一个 PowerShell 命令:Get-Command 与 Get-Help
1. 查看所有可用命令
Get-Command
这会列出当前会话中所有可用的 cmdlet、函数、别名等。
2. 查找特定命令(模糊匹配)
Get-Command *process*
输出包含 process 的所有命令,如 Get-Process, Stop-Process 等。
3. 使用帮助系统(核心技能!)
PowerShell 的帮助系统极其强大,也是新手、老手的必须要掌握的嘞:
# 查看 Get-Process 的帮助
Get-Help Get-Process
# 查看详细帮助(含参数说明)
Get-Help Get-Process -Detailed
# 查看完整帮助(含示例)
Get-Help Get-Process -Full
# 直接查看使用示例(推荐!)
Get-Help Get-Process -Examples
# 在线打开官方文档(需联网)
Get-Help Get-Process -Online
🔍 小技巧:首次使用建议更新本地帮助:
Update-Help # 需以管理员身份运行
四、动手实践:5个基础 cmdlet 实例
| 功能 | CMD 命令 | PowerShell 命令 | 说明 |
|---|---|---|---|
| 列目录 | dir | Get-ChildItem 或 ls(别名) | 支持管道和对象操作 |
| 切换目录 | cd | Set-Location 或 cd(别名) | |
| 显示当前路径 | cd | Get-Location 或 pwd(别名) | |
| 查看环境变量 | echo %PATH% | $env:PATH | 直接访问 .NET 环境变量 |
| 查看运行进程 | tasklist | Get-Process | 返回进程对象 |
✅ 实操练习:
# 1. 显示当前目录下的所有文件(含隐藏文件)
Get-ChildItem -Force
# 2. 获取记事本进程(如果有)
Get-Process notepad
# 3. 获取当前用户名
$env:USERNAME
# 4. 获取 PowerShell 版本信息
$PSVersionTable
# 5. 尝试获取帮助
Get-Help Get-Service -Examples
五、今日重点总结
- ✅ PowerShell 输出的是对象,不是文本。
- ✅ 所有命令遵循 “动词-名词” 规范(如
Get-Date)。 - ✅
Get-Help是你最好的朋友,务必熟练使用。 - ✅ 别名(如
ls,cd)是为了兼容 Unix/Linux 用户,但建议学习原生命令。
📚 参考资料(已翻译/整理)
- Microsoft Learn: What is PowerShell?
- PowerShell 官方文档(中文社区版)
- 《Windows PowerShell 入门指南》—— Microsoft Press
🏁 课后作业
- 在 PowerShell 中运行
Get-Process | Where-Object { $_.CPU -gt 100 },观察结果(如有高 CPU 进程)。 - 使用
Get-Help查找Stop-Process的用法,并尝试安全地终止一个测试进程(如 notepad)。 - 思考:为什么说“PowerShell 是面向对象的 shell”?与你在 Python/Java 中操作对象有何异同?
明天我们将学习:变量、管道、对象操作与执行策略(ExecutionPolicy)详解。

2713

被折叠的 条评论
为什么被折叠?



