你有没有好奇过,为什么程序员总是对着一个黑色的窗口敲键盘?
那个黑窗口,就是CLI。

一句话理解
CLI = Command Line Interface,命令行界面 —— 简单说,就是你用文字”命令”电脑干活的方式。
对应的是GUI(Graphical User Interface,图形用户界面),就是你现在看到的窗口、按钮、图标那种。
它是怎么工作的
想象你要让电脑帮你打开一个文件夹:
图形界面(GUI):鼠标双击文件夹图标 → 叮,打开了 ✅
命令行界面(CLI):敲键盘输入 open ~/Desktop → 叮,打开了 ✅
CLI的本质是——你用文字告诉电脑”做什么”,而不是用鼠标告诉它”点哪里”。
为什么要用CLI?
因为CLI有三个杀手锏:
1. 快
同样打开10个文件夹:GUI要双击10次,CLI敲一行命令搞定。
2. 准
GUI只能做”点击”能做的事,CLI能做”组合”出来的事。比如:”帮我找出桌面上所有昨天修改过的PDF,然后按大小排序”——GUI很难,CLI一句话。
3. 可自动化
GUI要人点,CLI可以让脚本跑。一行命令,让电脑通宵干活不喊累。
常用CLI命令一览
| 命令 | 意思 | 例子 |
|---|---|---|
| `ls` | 列出文件 | `ls Desktop` |
| `cd` | 切换目录 | `cd ~/Desktop` |
| `mkdir` | 创建文件夹 | `mkdir myproject` |
| `rm` | 删除文件 | `rm oldfile.txt` |
| `cp` | 复制文件 | `cp a.txt b.txt` |
| `git` | 代码版本管理 | `git commit -m “fix bug”` |
小八卦
CLI是计算机最早的界面形式——1970年代的Unix系统就是纯命令行。
Windows的cmd、Mac的终端(Terminal)、Linux的bash,都是CLI的不同”皮肤”。
有意思的是,现在很多AI工具也开始做CLI版本——比如OpenAI的API、Claude的CLI工具——因为开发者觉得敲命令比点界面更高效。
一句话总结
CLI就是用”打字”代替”点击”来指挥电脑——听起来原始,但程序员爱它,是因为它更快、更准、还能自动化。
想更深入了解?这里是给专业读者的进阶内容。
上面我们聊了CLI是什么、以及为什么程序员偏爱它。如果你对CLI的工作原理(Shell解释器、文件系统抽象)、它的演进历史(从Unix bash到现代PowerShell),以及CLI在DevOps和AI工具中的重要性,可以继续往下看。
专业版:进阶理解
学术定义
CLI(Command Line Interface)是一种通过文本命令与计算机交互的用户界面。用户输入预定义的命令字符串,系统解析后执行相应操作并返回文本输出。
与GUI(图形用户界面)相比,CLI具有更高的操作效率和可编程性,是系统管理员和开发者的主要工作界面。
技术细节
Shell解释器:用户输入的命令由Shell程序解析和执行,常见Shell包括:
| Shell | 特点 | 默认系统 |
|---|---|---|
| bash | Linux/Unix标配,最广泛 | Linux, macOS |
| zsh | bash增强版,主题插件丰富 | macOS(现为默认) |
| PowerShell | 微软出品,对象管道 | Windows |
| cmd | Windows传统命令行 | Windows |
环境变量与PATH:CLI命令能全局执行,是因为系统通过PATH环境变量搜索可执行文件路径。
技术演进
| 时间 | 里程碑 |
|---|---|
| 1969年 | Unix诞生,CLI雏形出现 |
| 1977年 | bash(Bourne Again Shell)发布,成为Unix标配 |
| 1990年代 | Linux崛起,CLI成为服务器管理标准 |
| 2006年 | Git诞生,CLI成为代码管理标配 |
| 2010年代 | Docker崛起,”容器化+CLI”成为部署标准 |
| 2020年代 | AI CLI工具爆发(OpenAI CLI、Claude CLI等) |
典型代表
- Windows Terminal:微软现代化终端,支持多Shell切换
- iTerm2:Mac最强终端替代品
- Oh My Zsh:zsh配置框架,美化+效率提升
- tmux:终端多路复用器,分屏+会话管理

