命令行界面 (Command Line Interface, CLI) 是用戶通過鍵入文本命令與操作系統/程序交互的界面模式。相對於圖形用戶界面 (GUI),CLI 以鍵盤為主導、文本為載體、腳本可自動化著稱。
| 時代 | 代表環境 | 核心特徵 |
|---|---|---|
| 1980s-1995 | MS-DOS / PC-DOS / DR-DOS | 單任務、單用戶、16位實模式、8.3文件名、無內存保護 |
| 1995-2000 | Windows 9x (MS-DOS 模式) | 圖形外殼下的 DOS 兼容盒,仍受 16 位限制 |
| 1993-至今 | Windows NT 系列 (cmd.exe) | 32/64位原生控制台,支持長文件名、Unicode、管道/重定向 |
| 2006-至今 | PowerShell (Windows/Linux/macOS) | 物件導向管道、.NET/C# 腳本引擎、跨平台、遠程管理、模組化 |
| 1991-至今 | Linux/Unix Shell (bash/zsh/fish) | 文本流管道、POSIX 標準、極致可定制、服務器/容器/雲原生標配 |
Win + R → cmd → 經典 CMDWin + X → Windows Terminal / PowerShell / 命令提示符Win + S 搜索 cmd / powershell / wtcmd / powershell → 當前路徑直接啟動在終端中打開 (Win11/Win10 新版)| 維度 | cmd.exe | PowerShell |
|---|---|---|
| 管道傳輸 | 文本流 | .NET 物件 (屬性/方法/類型保留) |
| 腳本語言 | Batch (.bat/.cmd) | PowerShell Script (.ps1) 基於 C#/.NET |
| 命令發現 | 外部可執行文件 + 內部命令 | Cmdlet (動詞-名詞) + 函數 + 腳本 + 應用程序 |
| 遠程管理 | 弱 (PsExec/WinRS) | 原生 WinRM/SSH 遠程會話/隱式遠程 |
| 生態系統 | 傳統工具鏈 | PowerShell Gallery / NuGet / .NET 生態 |
| 任務 | CMD | PowerShell |
|---|---|---|
| 列出目錄 | dir | Get-ChildItem (ls, dir, gci) |
| 複製文件/目錄 | copy / xcopy / robocopy | Copy-Item (cp, cpi) |
| 移動/重命名 | move / ren | Move-Item (mv, mi) / Rename-Item (rn, rni) |
| 刪除 | del / rmdir / rd | Remove-Item (rm, ri) |
| 創建目錄 | mkdir / md | New-Item -ItemType Directory (md) |
| 查看文件內容 | type / more | Get-Content (cat, gc) |
| 搜索文件內容 | findstr | Select-String (sls) |
| 進程管理 | tasklist / taskkill | Get-Process (ps, gps) / Stop-Process (kill, spps) |
| 服務管理 | net start/stop / sc | Get-Service (gsv) / Start-Service / Stop-Service |
| 網絡配置 | ipconfig / netsh | Get-NetIPConfiguration / NetTCPIP cmdlets |
| 系統信息 | systeminfo | Get-ComputerInfo / systeminfo |
命令行不是「過時技術」,而是自動化、批量、遠程、容器化、基礎設施即代碼的基石。熟練掌握 CLI,意味著你擁有了「不看界面也能駕馭系統」的超能力。