Windows 命令行入门:认识 CMD 和 PowerShell
很多人每天都在使用 Windows,但几乎只会点击鼠标,很少接触命令行。实际上,很多软件安装教程、开发工具、AI 编程工具都会要求你”打开终端”或者”执行一条命令”。这时候,了解 Windows 的命令行工具就很有必要了。
本文只介绍最基础的概念,帮助零基础用户建立一个整体认识。
什么是命令行?
命令行(Command Line)就是一种通过输入文字命令来操作电脑的方式。
例如:
dir表示查看当前目录下有哪些文件。
再例如:
cd D:\Project表示切换到 D:\Project 目录。
虽然没有图形界面直观,但命令行速度快、自动化能力强,也是程序员和运维工程师每天都会使用的重要工具。
Windows 有哪些命令行工具?
Windows 目前主要有两个命令行环境:
- CMD(命令提示符)
- PowerShell
很多新手第一次接触都会疑惑:为什么 Windows 有两个?
其实它们诞生于不同年代。
CMD:历史悠久的命令提示符
CMD(Command Prompt)可以说是 Windows 最经典的命令行工具。
它最早可以追溯到 DOS 时代,因此很多老教程看到的都是 CMD。
打开方式很简单:
- Win + R
- 输入
cmd - 回车
或者开始菜单搜索:
cmd就可以打开。
它支持大量经典命令,例如:
dircdcopymovedelpingipconfig对于普通用户来说,查看网络信息、删除文件、执行安装程序等任务已经足够。
不过,CMD 的设计年代比较早,脚本能力有限,处理复杂任务时就显得有些力不从心。
PowerShell:现代化命令行
为了替代 CMD,微软后来推出了 PowerShell。
PowerShell 不仅能够执行 CMD 的绝大多数命令,还增加了非常强大的脚本能力,可以管理系统、操作文件、调用网络接口,甚至管理云服务器。
打开方式同样很简单:
开始菜单搜索:
PowerShell或者在新版 Windows 中搜索:
Windows PowerShellWindows 11 中还可以直接搜索:
Terminal默认打开的通常就是 PowerShell。
PowerShell 常见命令例如:
Get-ChildItemGet-ProcessGet-ServiceGet-NetIPAddress如果觉得这些命令太长,也不用担心。
PowerShell 保留了很多 CMD 的兼容命令,例如:
dircdmkdircopydel这些都可以直接使用,因此很多人几乎感觉不到区别。
PowerShell 为什么这么受欢迎?
PowerShell 最大的特点,就是”一切皆对象(Everything is an Object)”。
CMD 输出的是普通文本。
例如:
dir得到的是一大段文字。
而 PowerShell 输出的是对象。
例如:
Get-Process返回的是”进程对象”,里面包含:
- 进程名称
- PID
- CPU 占用
- 内存使用
- 启动时间
因此可以继续进行筛选、排序、统计:
Get-Process | Sort-Object CPU这也是为什么 PowerShell 特别适合自动化运维。
Windows Terminal 又是什么?
很多人看到 Windows Terminal,以为它是第三种命令行。
其实不是。
Windows Terminal 只是一个终端程序(Terminal)。
它相当于一个”窗口”,里面可以运行:
- CMD
- PowerShell
- WSL(Linux)
- Azure Cloud Shell
- SSH
所以:
CMD 和 PowerShell 是”命令行解释器”,Windows Terminal 是运行它们的窗口。
就像浏览器可以打开很多网页一样,Windows Terminal 可以打开很多不同的命令行环境。
新手应该学哪个?
如果你现在刚开始学习 Windows 命令行,我建议直接学习 PowerShell。
原因很简单:
- 微软官方重点维护
- 功能远比 CMD 强大
- 与现代开发工具兼容更好
- 支持脚本自动化
- Windows 11 默认体验更完善
当然,也不必刻意回避 CMD。 因为网上仍然有大量教程使用 CMD,而且两者很多基础命令都是互通的。
总结
对于普通用户来说,可以简单记住下面几点:
- CMD:Windows 传统命令行,历史悠久,兼容性好。
- PowerShell:现代命令行,功能更强,是微软推荐的发展方向。
- Windows Terminal:只是一个终端窗口,可以同时运行 CMD、PowerShell、WSL 等多种命令行环境。
对于绝大多数人而言,只需要学会 PowerShell,再了解一点 CMD 的基础命令,就已经足够应付日常使用,以及后续学习 Git、Python、Docker、AI 编程工具等各种现代开发环境。