教程
🛠️

开发工具

Git、VS Code、终端与效率工具使用指南。

终端与 Shell 基础:别再怕黑框框

搞懂终端、Shell、命令行的区别,认识 Bash/Zsh,掌握提示符、路径、pwd/cd/ls 等第一批必会命令,建立终端心智模型。

· 更新于 2026-07-20 阅读量 --

很多新手对那个黑底白字、闪着光标的窗口有种本能的怕——怕敲错命令把系统搞崩。其实终端(Terminal)是开发者最强大的工具之一,熟练之后你点十下鼠标的事,它一条命令就办了。这一篇先把”终端到底是什么”讲清,再带你敲下第一批命令。

把终端想成你和电脑之间的”对讲机”:图形界面是用鼠标点图标(像比划手势),终端是用命令说话(像发指令)。指令说对了,电脑跑得比手点快得多。

三个容易混的词

  • 终端(Terminal):那个黑色窗口本身,负责显示和输入,是个”壳”。
  • Shell:真正解释你命令的程序,常见的是 Bash 和 Zsh。你敲的命令其实是发给 Shell 的。
  • 命令行(CLI):泛指”用文字命令操作”这种方式,是个概念不是具体程序。

一句话:终端是窗口,Shell 是里面干活的解释器,命令行是你和它们打交道的方式。

常见的 Shell

  • Bash:最经典、几乎所有 Linux/macOS 老版本默认。脚本兼容性最好。
  • Zsh:macOS 从 Catalina 起默认。功能比 Bash 强(更好的补全、主题),配合 oh-my-zsh 很香(下一篇会讲)。
  • Fish:开箱即用的友好 Shell,补全智能,但语法和 Bash 不完全兼容。

查自己用哪个 Shell:

echo $SHELL
# 输出类似 /bin/zsh 或 /bin/bash

提示符:它在等你说什么

打开终端,你会看到类似:

user@computer ~ $
  • user@computer:当前用户名和主机名。
  • ~:当前所在目录(~ 是家目录的简写)。
  • $:普通用户的提示符(root 用户通常是 #)。
  • 光标在 $ 后闪,表示”我在听你下令”。

第一批必会命令

# 我在哪?显示当前所在目录的绝对路径
pwd

# 去哪个目录(change directory)
cd Documents      # 进 Documents
cd ..             # 回到上一级
cd ~              # 回到家目录
cd -              # 回到上一次所在的目录

# 看目录里有什么(list)
ls                # 简单列表
ls -l             # 详细信息(权限、大小、时间)
ls -a             # 连隐藏文件(以 . 开头的)也显示
ls -la            # 上面俩合体,最常用

路径分两种:绝对路径从根 /~ 写起(如 /Users/you/Documents);相对路径从当前目录算(如 cd Documents 是相对当前)。新手记住 pwd 看当前位置,就不会迷路。

清屏与中止

clear            # 清屏(快捷键 Ctrl+L 也行)
Ctrl + C         # 中止当前正在跑的命令(卡住了就按它)

常见新手坑

  • 在错误目录操作:删文件前先 pwd 确认位置,别在根目录误删。
  • 分不清绝对和相对路径cd Documents 要求当前目录真有这个文件夹,否则报错;用绝对路径更稳。
  • 看到 $ 就照抄:教程里的 $ 是提示符,不是命令的一部分,复制时别把 $ 也粘进去。
  • 不敢用终端:其实日常命令(ls/cd/pwd)都很安全,乱删才危险,循序渐进即可。

小测验

  • 问题1:终端和 Shell 的区别?答案:终端是显示窗口,Shell 是解释命令的程序(如 Bash/Zsh)。
  • 问题2:~ 在路径里表示什么?答案:当前用户的家目录。
  • 问题3:想中止一个卡住的程序,按什么?答案:Ctrl + C。

更多实战:用终端完成一次真实任务

假设你要找”上周改过的所有 JS 文件并看一眼内容”:

cd project
ls -la                      # 先看当前目录有啥
find . -name "*.js"         # 找出所有 js 文件
pwd                         # 确认自己还在 project 里

这几条就是你刚学的 cd/ls/pwd/find 的组合。你会发现,命令单个很简单,串起来就能干实事。

绝对路径 vs 相对路径,怎么选

  • 相对路径cd src../config)适合在当前项目内移动,写起来短。
  • 绝对路径cd /Users/you/project/src)适合脚本里或跨目录跳转,不会因”当前在哪”而出错。

新手常踩的坑:在错误目录敲 cd Documents 报错”没有那个文件或目录”——因为当前目录根本没有 Documents。养成 pwd 先看位置的习惯,迷路概率骤降。

自测:你真的懂了吗

  • 终端和 Shell 区别?答案:终端是显示窗口,Shell 是解释命令的程序(如 Bash/Zsh)。
  • ~ 表示什么?答案:当前用户的家目录。
  • 想中止卡住的程序按什么?答案:Ctrl + C。

常见认知误区

终端新手有几个典型顾虑和误会。第一,怕敲错命令把系统搞崩——其实日常命令(lscdpwdcat)都很安全,真正危险的是 rm -rf 这类删除命令,不乱用就不会出事,循序渐进建立信心。第二,分不清绝对路径和相对路径——cd Documents 要求当前目录真有这个文件夹,否则报错,用绝对路径更稳;养成 pwd 先看位置的习惯就不迷路。第三,看到提示符里的 $ 就照抄——教程里的 $ 是提示符不是命令一部分,复制时别把 $ 也粘进去。第四,不敢用终端觉得低效——恰恰相反,熟练后一条命令顶你点几十下鼠标。第五,以为终端和 Shell 是一回事——终端是窗口、Shell 是解释器,理解这层关系有助于看懂报错信息。终端不是黑魔法,它就是个更直接的对话方式,跨过心理门槛就自由了。

这一篇你该记住的

  • 终端是窗口,Shell 是解释器(Bash/Zsh),命令行是操作方式。
  • 提示符 user@host 路径 $ 告诉你”我是谁、在哪”。
  • 第一批命令:pwd 看位置、cd 切换、ls -la 看内容。
  • 绝对路径从 /~ 起,相对路径从当前目录算。
  • clear 清屏,Ctrl+C 中止。

下一篇我们讲 高频命令与管道:怎么用 cat/grep/find 找东西、用管道把命令串成流水线,效率直接起飞。