PowerShell常用命令学习
PowerShell 是一款功能强大的脚本语言和命令行壳程序。对于开发者来说,掌握其常用命令(Cmdlets)能极大提高自动化运维和日常开发的效率。PowerShell 的命令通常遵循 “动词-名词” 的结构(如 Get-Help),这使得它们非常易于记忆。
1. 基础帮助与系统信息
在开始复杂操作前,这几个命令是你的”救生圈”:
- Get-Help: 查看命令的帮助文档。例如:
Get-Help Get-Service。 - Get-Command: 查找特定名称或模式的命令。
- Get-Member: 查看对象的属性和方法(PowerShell 的核心是对象,而非文本)。
- $PSVersionTable: 查看当前 PowerShell 的版本信息。
2. 文件与目录操作 (类似 Linux/CMD)
虽然 ls、cd、mkdir 在 PowerShell 中通过别名(Alias)可用,但了解其原生命令更有助于编写兼容性强的脚本:
- Get-ChildItem (
dir/ls): 列出目录下的文件和子目录。 - Set-Location (
cd): 切换当前工作目录。 - New-Item: 创建新文件或目录。例如:
New-Item -Path ".\test.txt" -ItemType File。 - Copy-Item / Move-Item / Remove-Item: 复制、移动、删除文件或文件夹。
- Get-Content (
cat): 读取文件内容。
3. 进程与服务管理
对于系统调试和性能监控非常实用:
- Get-Process: 查看当前运行的进程。
- Stop-Process: 结束一个进程。例如:
Stop-Process -Name "notepad"。 - Get-Service: 获取系统服务状态。
- Start-Service / Stop-Service / Restart-Service: 管理服务生命周期。
4. 网络诊断
- Test-NetConnection: 现代版的 ping,甚至可以测试特定端口:
1
Test-NetConnection -ComputerName google.com -Port 80
- Invoke-WebRequest (
curl/wget): 发送 HTTP 请求,常用于调用 API 或下载文件。
5. 管道符与过滤 (PowerShell 的灵魂)
PowerShell 真正的威力在于通过管道 (|) 传递对象:
- Where-Object (
where): 过滤数据。 示例:Get-Process | Where-Object { $_.CPU -gt 10 }(筛选 CPU 占用大于 10 的进程)。 - Select-Object (
select): 选择特定的属性。 - Sort-Object (
sort): 对结果进行排序。 - Format-Table / Format-List: 格式化输出结果。
常用别名对照表
| 传统命令 (CMD/Linux) | PowerShell 原生命令 |
|---|---|
| dir / ls | Get-ChildItem |
| cd | Set-Location |
| cls / clear | Clear-Host |
| cp / copy | Copy-Item |
| mv / move | Move-Item |
| rm / del | Remove-Item |
| ps | Get-Process |