CMD(命令提示符)和PowerShell是Windows系统中两大核心命令行工具,其设计理念与功能定位存在显著差异。CMD基于传统的MS-DOS架构,以文本处理为核心,适用于执行基础文件操作(如dir、copy)、网络测试(如ping、ipconfig)及批处理脚本运行。其语法简洁、响应速度快,适合快速完成简单任务。
一、文件和目录管理
| 功能描述 | CMD命令 | PowerShell命令 | Shell(Bash)命令 |
|---|---|---|---|
| 列出目录内容 | dir | Get-ChildItem(别名:ls/dir) | ls |
| 切换目录 | cd C:\Users | Set-Location C:\Users | cd /home |
| 创建目录 | mkdir new_folder | New-Item -ItemType Directory new_folder | mkdir new_folder |
| 删除空目录 | rmdir folder | Remove-Item folder | rmdir folder |
| 删除文件 | del file.txt | Remove-Item file.txt | rm file.txt |
| 复制文件 | copy src dest | Copy-Item -Path src -Destination dest | cp src dest |
| 移动文件 | move src dest | Move-Item -Path src -Destination dest | mv src dest |
| 重命名文件 | rename old new | Rename-Item old new | mv old new |
PowerShell特性:支持管道操作,如 Get-ChildItem | Where-Object {$_.Length -gt 1MB} 筛选大于1MB的文件。
二、网络管理
| 功能描述 | CMD命令 | PowerShell命令 | Shell(Bash)命令 |
|---|---|---|---|
| 网络连通测试 | ping baidu.com | Test-Connection baidu.com | ping baidu.com |
| 显示IP配置 | ipconfig | Get-NetIPConfiguration | ifconfig / ip a |
| 路由追踪 | tracert baidu.com | Test-NetConnection baidu.com -TraceRoute | traceroute baidu.com |
| 查看网络连接状态 | netstat -a | Get-NetTCPConnection | netstat -an |
| DNS查询 | nslookup baidu.com | Resolve-DnsName baidu.com | dig baidu.com |
高级用法:
PowerShell可通过 Invoke-WebRequest 发送HTTP请求2,例如下载文件:
codeWrapperpowershell复制 Invoke-WebRequest -Uri "https://example.com/file.zip" -OutFile "C:\file.zip"
三、系统管理
| 功能描述 | CMD命令 | PowerShell命令 | Shell(Bash)命令 |
|---|---|---|---|
| 查看系统信息 | systeminfo | Get-ComputerInfo | uname -a |
| 查看进程列表 | tasklist | Get-Process(别名:ps) | ps aux |
| 终止进程 | taskkill /im notepad.exe | Stop-Process -Name notepad | killall notepad |
| 检查磁盘错误 | chkdsk C: | Repair-Volume -DriveLetter C -Scan | fsck /dev/sda1 |
| 修复系统文件 | sfc /scannow | 同CMD(需管理员权限) | apt install --reinstall |
扩展功能: PowerShell支持远程管理,如查看远程服务状态:
codeWrapperpowershell复制 Get-Service -ComputerName Server01
四、磁盘管理
| 功能描述 | CMD命令 | PowerShell命令 |
|---|---|---|
| 磁盘分区管理 | diskpart | Get-Disk / Initialize-Disk |
| 格式化磁盘 | format D: /fs:ntfs | Format-Volume -DriveLetter D -FileSystem NTFS |
| 查看磁盘卷标 | vol C: | Get-Volume -DriveLetter C |
| 获取所有磁盘信息 | wmic logicaldisk get name | Get-PSDrive -PSProvider FileSystem |
五、高级操作
批处理与脚本
-
CMD批处理:使用
.bat文件,支持echo、pause等指令 -
PowerShell脚本:使用
.ps1文件,需设置执行策略:codeWrapperpowershell复制 Set-ExecutionPolicy RemoteSigned示例脚本:
codeWrapperpowershell复制 Get-Process | Where-Object {$_.CPU -gt 100} | Export-Csv "high_cpu.csv"
环境变量管理
| 操作类型 | CMD命令 | PowerShell命令 |
|---|---|---|
| 查看变量 | set | Get-ChildItem Env: |
| 设置变量 | set VAR=value | $env:VAR = "value" |
六、跨平台Shell命令对照
| 功能描述 | Windows(CMD) | Linux(Bash) |
|---|---|---|
| 文件内容查看 | type file.txt | cat file.txt |
| 文本搜索 | find "text" file | grep "text" file |
| 压缩文件 | compact /c file | gzip file |
| 权限管理 | icacls | chmod / chown |
结语
本文整合了CMD与PowerShell的核心命令,并加入Shell(Bash)对照,帮助开发者实现跨平台无缝切换。建议收藏以下技巧:
- 1.PowerShell优势:支持对象化输出(如
Get-Process | Select-Object Name, CPU) - 2.快捷方式:PowerShell中
Ctrl + C可强制终止命令,Tab键自动补全路径 - 3.学习资源:使用
Get-Help <命令>查看详细帮助文档
