PowerShell常用命令学习

Posted by Procon on April 14, 2026

PowerShell常用命令学习

PowerShell 是一款功能强大的脚本语言和命令行壳程序。对于开发者来说,掌握其常用命令(Cmdlets)能极大提高自动化运维和日常开发的效率。PowerShell 的命令通常遵循 “动词-名词” 的结构(如 Get-Help),这使得它们非常易于记忆。

1. 基础帮助与系统信息

在开始复杂操作前,这几个命令是你的”救生圈”:

  • Get-Help: 查看命令的帮助文档。例如:Get-Help Get-Service
  • Get-Command: 查找特定名称或模式的命令。
  • Get-Member: 查看对象的属性和方法(PowerShell 的核心是对象,而非文本)。
  • $PSVersionTable: 查看当前 PowerShell 的版本信息。

2. 文件与目录操作 (类似 Linux/CMD)

虽然 lscdmkdir 在 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