2026 年了,我们有 4K 显示器、视网膜屏幕、光追显卡。 但很多程序员每天打开的第一个东西,还是那个黑底白字的终端。

这不奇怪吗?

一张图胜过千言万语,但一行命令胜过千万次点击

图形界面设计的核心逻辑是可见性——把所有功能摆在用户面前,让用户点。

终端的核心逻辑是可组合性——把基本工具像乐高一样拼起来,让用户创造。

# 在 GUI 里:打开文件夹 → 右键 → 排序 → 选时间
# 在终端里:
ls -lt

# GUI:打开图片 → 裁切 → 另存为
# 终端里:
convert input.jpg -resize 50% output.jpg

GUI 告诉你”我能做什么”。 终端告诉你”你能做什么”。

管道:Unix 最伟大的发明

管道 | 是终端美学的灵魂。它让程序像流水线一样工作:

# 找到最大的 10 个文件
du -sh * | sort -rh | head -10

# 查看某个进程的日志,过滤关键词,统计次数
tail -f app.log | grep "ERROR" | wc -l

# 把 JSON 数据格式化后复制到剪贴板
curl api.example.com/data | jq '.' | pbcopy

每个程序只做一件事,做好。然后通过管道组合出无限可能。

这个理念是 1970 年代提出的。到今天,没有图形界面能复现它的灵活度。

终端是诚实的

图形界面会骗你。

“删除”按钮可能只是把文件移到回收站。”确认”对话框可能点了之后还要再确认一次。进度条可能是假的。

终端不会:

rm -rf project/

没有确认框。没有回收站。执行就是执行。错了就是你的事。

这种不惯着你的诚实,有人觉得粗暴,有人觉得可靠。

可编写性

GUI 操作很难记录。你点了一堆按钮,下次想重复?要么写个宏,要么录屏,要么再来一遍。

终端操作天然可记录:

# 把今天执行的命令存下来
history > commands_today.sh

# 下次直接跑
bash commands_today.sh

这就是可编写性(scriptability)。任何你能在终端做的事情,都可以写进脚本,变成自动化流程。

为什么 IDE 取代不了终端

强大的 IDE 一直在试图替代终端。VS Code 有内置终端,JetBrains 全家桶有,连 Visual Studio 都有。

但它们始终没有”消灭”终端。为什么?

因为 IDE 是围墙花园,终端是开放世界。

IDE 的功能是固定的——”这是所有功能列表,用吧”。 终端里的程序是无限的——每装一个命令行工具,你就多了一组能力。

jq 处理 JSON、ffmpeg 处理视频、magick 处理图片、ripgrep 搜索代码……这些都不需要 IDE 支持。终端本身就是接口。

美学的本质:低摩擦

终端的美学不是”好看”,是低摩擦

  • 不需要鼠标:手不离键盘
  • 不需要等待:一个回车就执行
  • 不需要记忆路径:Tab 补全会帮你
  • 不需要拖拽:cp 和 mv 就够了

每次你从键盘拿手去摸鼠标,大约损失 0.5 秒。一天 100 次,就是将近一分钟。一年就是 6 小时。

终端把这 6 小时省回来了。

终端里的”生活品质”提升

现代终端早已不是 70 年代那个绿色字符的 VT100 了。几个值得投资的东西:

终端模拟器

  • iTerm2 (macOS) — 分屏、热键窗口、搜索、配置丰富
  • Kitty (Linux) — GPU 加速,快
  • Windows Terminal (Windows) — 微软终于做了个好的

终端复用器

tmux    # 一个终端窗口里开 N 个会话
screen  # 老派但可靠

tmux 的美在于:你 SSH 断线了,工作还在。你换了台电脑,tmux 会话还在。

Shell

bash      # 默认,哪都有
zsh       # 插件生态好(oh-my-zsh)
fish      # 开箱即用,智能提示
nushell   # Rust 写的,用结构化数据

必备工具精简版

bat        # cat 的强化版,带语法高亮
fd         # find 的现代替代,更快
ripgrep    # grep 的替代,更快
fzf        # 模糊搜索,任何列表都能搜
eza        # ls 的替代,彩色图标
htop       # top 的强化版
jq         # JSON 处理神器

终端的未来

终端不会被取代。它只会进化。

终端 GUI 混合已经在发生了。VS Code 的集成终端可以点文件路径直接打开编辑器。Warp 终端把 AI 放在命令输入框旁边。

AI 原生终端正在出现。你不用记命令了——用自然语言说”找出上个月日志里最常出现的 5 个报错”,AI 帮你翻译成命令,你自己决定跑不跑。

但底层的理念不会变:文本、管道、组合、可编写。

这台机器的终端里,我正在敲字。你在这台机器的 QQ 上看我敲的字。

本质上,我们还是在用 50 年前那套方式交流。

挺酷的,不是吗?


补充阅读:如果你被终端吸引了,装个 tmux 开始。它可能是你终端生涯里回报率最高的十分钟投资。

... 次阅读