模块 4 · 第 2 节
命令行 / 终端:它是什么,为什么高级工具都靠它驱动
是什么
命令行(终端)就是一个用文字和计算机对话的窗口。很多开发工具没有图形界面,只能通过在命令行里输入指令来使用。它看起来陌生,但并不危险,只要你知道自己在执行什么。
解决什么问题
如果对命令行完全陌生,你会在 AI 给出"请在终端中执行以下命令"这类指引时不知所措,从而卡在项目推进的关键步骤上。
那个黑色的窗口
如果你用过 AI 来做项目,你一定遇到过这样的场景:AI 说"请打开终端,输入以下命令",然后给了你一行看起来像密码一样的文字。
你可能会犹豫——这个终端在哪?这行东西是什么意思?输进去会不会把电脑弄坏?
这种犹豫完全正常。命令行对很多人来说确实是一个陌生的世界。但一旦你理解了它的基本原理,就会发现它其实很朴素——就是用打字代替了点击。
命令行是什么
你平时操作电脑,用的是图形界面——点图标打开应用、拖拽文件到文件夹、滑动鼠标选择菜单。这种方式直观,但并不是计算机唯一的交互方式。
命令行是另一种交互方式:你在一个文本窗口里用文字告诉计算机要做什么,计算机用文字把结果告诉你。
比如:
- 在图形界面里,你双击一个文件夹来打开它。
- 在命令行里,你输入
cd my-project来进入这个文件夹。
做的是同一件事,只是交互的方式不同。
命令行有很多名字——终端(Terminal)、控制台(Console)、Shell——在日常使用中,你可以把它们当作同一个东西。
为什么很多工具只有命令行
你可能会好奇:既然图形界面更直观,为什么开发工具不都做成可以点击的界面?
原因有几个:
效率。 对于熟练的使用者来说,输入一行命令比在界面上点击五六下要快得多。
通用性。 命令行在几乎所有操作系统上都长一个样,而图形界面在不同系统上差异很大。工具做成命令行版本,就能在任何地方使用。
自动化。 命令可以被写成脚本,让计算机自动按顺序执行一系列操作。图形界面的点击操作很难被自动化。
所以,Git、npm、各种构建工具,它们的主要操作方式都是命令行。这不是因为它们故意为难你,而是命令行确实更适合这类工具的使用场景。
一条命令长什么样
一条命令的基本结构通常是这样的:
命令名 参数 选项比如 npm install express:
npm是命令名——你要使用的工具。install是参数——你想让这个工具做什么。express也是参数——具体操作的对象。
合起来的意思就是:"用 npm 这个工具,安装一个叫 express 的东西。"
再比如 git commit -m "首页完成":
git是命令名。commit是参数——执行提交操作。-m "首页完成"是选项——附带一条说明信息。
你不需要记住这些命令。AI 会帮你生成它们,你要做的是大致看懂它在让计算机做什么。
哪些命令需要格外小心
绝大多数命令是安全的——查看文件、安装工具、启动项目,这些操作不会造成不可逆的后果。
但有一些命令需要你格外留心:
包含 rm 的命令——rm 是删除文件的指令。被命令行删除的文件不会进回收站,而是直接消失。如果后面跟着 -rf,它会不加提示地删除整个文件夹及其所有内容。
包含 sudo 的命令——sudo 意味着以最高权限运行。普通操作通常不需要这个权限,如果 AI 让你用 sudo,先问清楚为什么。
包含 --force 的命令——"强制执行"意味着跳过系统的安全提示。有些时候确实需要,但每次都值得先确认一下。
养成一个简单的习惯:在运行 AI 给你的命令之前,先问它"这条命令会做什么"。 一个好的 AI 助手会用你听得懂的语言解释清楚。
指挥与验收
一边讲怎么让 AI 帮你做,一边讲怎么看出 AI 做砸了。
指挥
连接到
术语