一、CMD 与 PowerShell 全⾯对⽐
概览
| 特性 | CMD(命令提示符) | PowerShell(Windows PowerShell) |
|---|---|---|
| 历史起源 | 起源于 MS-DOS,功能基础 | 基于 .NET Framework/Core,结合面向对象思想 |
| 输出类型 | 纯文本输出 | 面向对象,返回 .NET 对象,支持属性和方法操作 |
| 脚本支持 | 支持批处理脚本 (.bat/.cmd) | 支持高级脚本(.ps1)和模块化扩展 |
| 跨平台支持 | 不支持,仅限 Windows 系统 | 支持 Windows、Linux、macOS (PowerShell Core/7.x) |
| 命令集扩展性 | 基础命令集 | 支持自定义模块、函数,兼容 Linux 命令 |
| 适合场景 | 文件管理、简单系统操作 | 高级任务自动化、复杂数据处理、跨平台操作 |
二、CMD 常⽤命令
| 命令 | 功能描述 | 示例 |
|---|---|---|
dir |
显示当前目录下的文件和文件夹 | dir |
cd |
切换工作目录 | cd C:\Users |
cls |
清屏 | cls |
del |
删除文件 | del file.txt |
copy |
复制文件 | copy source.txt dest.txt |
move |
移动文件 | move source.txt folder\ |
mkdir |
创建文件夹 | mkdir NewFolder |
rmdir |
删除文件夹 | rmdir /s /q folder |
type |
显示文件内容 | type file.txt |
ping |
测试网络连接 | ping www.google.com |
ipconfig |
查看网络配置 | ipconfig |
tasklist |
查看运行的进程 | tasklist |
taskkill |
终止进程 | taskkill /PID 1234 |
三、PowerShell 常⽤命令
1. 基本⽂件和⽬录操作
| 功能 | PowerShell 命令 | 示例 |
|---|---|---|
| 查看目录内容 | Get-ChildItem |
Get-ChildItem |
| 切换目录 | Set-Location |
Set-Location C:\Users |
| 删除文件/文件夹 | Remove-Item |
Remove-Item file.txt |
| 创建目录 | New-Item |
New-Item -ItemType Directory -Name NewFolder |
| 复制文件/文件夹 | Copy-Item |
Copy-Item source.txt dest.txt |
| 移动文件/文件夹 | Move-Item |
Move-Item source.txt folder\ |
| 显示文件内容 | Get-Content |
Get-Content file.txt |
2. 系统和⽹络管理
| 功能 | PowerShell 命令 | 示例 |
|---|---|---|
| 查看进程 | Get-Process |
Get-Process |
| 终止进程 | Stop-Process |
Stop-Process -Name notepad |
| 查看网络配置 | Get-NetIPAddress |
Get-NetIPAddress |
| 测试网络连接 | Test-Connection |
Test-Connection www.google.com |
3. ⾼级任务和脚本
| 功能 | PowerShell 命令 | 示例 |
|---|---|---|
| 下载文件 | Invoke-WebRequest |
Invoke-WebRequest -Uri "url" -OutFile "file" |
| 解压缩文件 | Expand-Archive |
Expand-Archive -Path archive.zip -DestinationPath folder |
| 查看系统事件日志 | Get-EventLog |
Get-EventLog -LogName System |
| 获取服务状态 | Get-Service |
Get-Service |
| 启动服务 | Start-Service |
Start-Service -Name wuauserv |
四、PowerShell 对 Linux 命令的⽀持
PowerShell 在跨平台版本中支持许多 Linux 常用命令。这些命令实际上是别名,最终调用的是 PowerShell 自己的命令。
| Linux 命令 | PowerShell 等效命令 | 描述 |
|---|---|---|
ls |
Get-ChildItem |
列出目录内容 |
cd |
Set-Location |
切换目录 |
pwd |
Get-Location |
显示当前路径 |
cp |
Copy-Item |
复制文件或文件夹 |
mv |
Move-Item |
移动文件或文件夹 |
rm |
Remove-Item |
删除文件或文件夹 |
cat |
Get-Content |
显示文件内容 |
echo |
Write-Output |
输出内容 |
ps |
Get-Process |
显示当前运行的进程 |
kill |
Stop-Process |
终止进程 |
touch |
New-Item |
创建空文件 |
man |
Get-Help |
查看命令帮助文档 |
grep |
Select-String |
查找字符串 |
curl |
Invoke-WebRequest |
发送 HTTP 请求 |
五、CMD 和 PowerShell 命令对⽐速查
| 功能 | CMD 命令 | PowerShell 命令 | Linux 命令等效 |
|---|---|---|---|
| 查看目录内容 | dir |
Get-ChildItem |
ls |
| 切换目录 | cd |
Set-Location |
cd |
| 显示当前路径 | 无 | Get-Location |
pwd |
| 删除文件/文件夹 | del / rmdir |
Remove-Item |
rm |
| 复制文件 | copy |
Copy-Item |
cp |
| 移动文件 | move |
Move-Item |
mv |
| 查看文件内容 | type |
Get-Content |
cat |
| 查找字符串 | 无 | Select-String |
grep |
| 测试网络连接 | ping |
Test-Connection |
ping |