Tech Learning · 02

Linux 基础:
终端操作与环境变量

打开终端不再发愣——学会日常必用的 Linux 命令,以及彻底搞清楚「环境变量」到底是什么。

约 12 分钟 基础入门 2026
如果这篇文章对你有帮助,点个赞让我知道吧 👋
感谢你的支持!🎉

终端是什么

终端(Terminal)就是一个纯文字界面,你通过输入命令来控制电脑,而不是点鼠标。听起来很古老,但实际上是开发者最高效的工具之一。

打开 WSL(Ubuntu)或者 macOS 的 Terminal,你会看到一行提示符,大概长这样:

transcendence@ubuntu:~/projects$ ← 在这里输入命令

格式是 用户名@主机名:当前目录$$ 后面就是你输入命令的地方。

~ 是你的「家目录」的缩写,相当于 Windows 的 C:\Users\你的用户名\。你的个人文件、配置文件都默认放在这里。

最常用的四个导航命令:

pwd — 你在哪里

# Print Working Directory,显示当前所在路径
$ pwd
/home/transcendence/projects

ls — 查看目录内容

# 列出当前目录的文件和文件夹
$ ls

# 显示详细信息(权限、大小、修改时间)
$ ls -l

# 包含隐藏文件(以 . 开头的文件)
$ ls -la

# 查看某个特定目录
$ ls ~/projects

cd — 切换目录

# 进入某个目录
$ cd projects

# 回到上一级目录
$ cd ..

# 直接回到家目录
$ cd ~
# 或者直接
$ cd

# 用绝对路径跳转
$ cd /home/transcendence/projects/myapp

# 回到上一个待过的目录(很实用)
$ cd -

Tab 补全是神器。 输入路径或命令的前几个字母,按 Tab 键自动补全。输入 cd pro 再按 Tab,如果只有一个匹配就会自动补全,有多个就再按一次 Tab 显示所有可能的选项。这能省很多打字时间。

文件与目录操作

创建

# 创建空文件
$ touch readme.md

# 创建目录
$ mkdir my-project

# 创建多级目录(-p 表示递归创建,不报错)
$ mkdir -p my-project/src/components

复制、移动、删除

# 复制文件
$ cp file.txt file_backup.txt

# 复制整个目录(-r 表示递归)
$ cp -r my-project my-project-backup

# 移动文件 / 重命名
$ mv old-name.txt new-name.txt
$ mv file.txt ~/projects/

# 删除文件
$ rm file.txt

# 删除目录(-r 递归,-f 强制不提示)
$ rm -rf my-old-project

rm -rf 是危险命令。 Linux 没有回收站,删了就是真删了。rm -rf / 这种写法会删除整个系统(已有保护机制,但别试)。使用前确认路径正确。

查看与编辑文件

查看文件内容

# 直接输出全部内容
$ cat file.txt

# 分页查看(空格翻页,q 退出)
$ less file.txt

# 只看头 10 行
$ head file.txt

# 只看尾 20 行
$ tail -n 20 file.txt

# 实时追踪文件新增内容(看日志时很有用)
$ tail -f app.log

在终端里编辑文件

有时候需要快速编辑一个配置文件,不想开 VS Code,可以用 nano——它是 Linux 自带的、最容易上手的文本编辑器:

$ nano ~/.bashrc

用方向键移动光标,直接编辑。底部会显示快捷键提示:^X 是 Ctrl+X 退出,退出时按 Y 保存,N 不保存。

你可能听说过 vim,它很强大,但学习曲线陡。如果打开了 vim 不知道怎么退出:按 Esc,然后输入 :q!(不保存退出)或 :wq(保存退出)。

权限与 sudo

Linux 里每个文件和命令都有权限控制,普通用户不能随便修改系统文件。

sudo(Super User Do)让你以管理员(root)权限执行单条命令:

# 以管理员权限安装软件
$ sudo apt install nodejs

# 以管理员权限编辑系统配置文件
$ sudo nano /etc/hosts

执行 sudo 命令时会要求输入你的用户密码(就是设置 WSL 时设的那个)。

记住一个原则:只在必要时用 sudo。安装系统软件需要,但安装 npm 包、运行你自己的脚本通常不需要。乱用 sudo 可能搞乱文件权限。

软件包管理 apt

在 Ubuntu(WSL)里,apt 是安装软件的主要工具,相当于一个命令行版的「应用商店」:

# 更新软件包列表(先跑这个,再安装)
$ sudo apt update

# 安装软件
$ sudo apt install curl wget git build-essential

# 升级所有已安装的软件
$ sudo apt upgrade -y

# 卸载软件
$ sudo apt remove package-name

# 搜索软件
$ apt search keyword

新开 WSL 之后养成习惯先跑 sudo apt update && sudo apt upgrade -y,保持系统是最新的。

环境变量详解

环境变量是很多新手觉得神秘的东西,但其实理解了就很简单。

它是什么

环境变量就是系统里存储的一些「全局配置信息」,用键值对的形式保存,所有程序都可以读取。

你可以把它理解成贴在墙上的便签纸:系统和程序运行的时候会来读这些便签,来决定某些行为。

# 查看所有环境变量
$ env

# 查看某一个环境变量的值
$ echo $HOME
/home/transcendence

$ echo $USER
transcendence

最重要的环境变量:PATH

PATH 是最关键的环境变量。它告诉 Shell:当你输入一个命令时,去哪些目录里找这个命令的可执行文件

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/transcendence/.local/bin

这一串目录用 : 分隔。当你输入 python3 时,Shell 会按顺序在这些目录里找名字是 python3 的可执行文件,找到就运行,找不到就报「command not found」。

所以「将某个工具加入 PATH」的意思就是:把那个工具的安装目录加进这个列表,这样在任何地方都能直接运行它,而不用每次都写完整路径。

如何设置环境变量

临时设置(当前终端会话有效,关闭终端就消失)

$ export MY_API_KEY="sk-xxxxxxxx"
$ echo $MY_API_KEY
sk-xxxxxxxx

永久设置(写入配置文件)

export 语句写进 ~/.bashrc(bash 用户)或 ~/.zshrc(zsh 用户):

# 打开配置文件
$ nano ~/.bashrc

# 在文件末尾添加(比如把 ~/.local/bin 加入 PATH)
export PATH="$HOME/.local/bin:$PATH"

# 或者存储一个 API Key(注意:这种方式不安全,API Key 最好用其他方法管理)
export ANTHROPIC_API_KEY="sk-ant-xxxxxxxx"

保存文件后,需要让当前终端重新加载配置:

# 重新加载 .bashrc
$ source ~/.bashrc

# 或者重启终端

查看某个命令的实际路径

# which 命令告诉你某个命令在哪里
$ which python3
/usr/bin/python3

$ which node
/usr/local/bin/node
💡

实战场景: 你安装了某个工具,但运行时报「command not found」。通常原因是它的安装目录没有加入 PATH。用 which 工具名 确认安装位置,再把那个目录加入 PATH 就好了。

效率快捷键

这些快捷键能让你在终端里快很多:

快捷键 作用
Tab 自动补全命令或路径
↑ / ↓ 翻历史命令
Ctrl + C 强制终止当前运行的程序
Ctrl + L 清屏(等同于 clear
Ctrl + A 光标跳到行首
Ctrl + E 光标跳到行尾
Ctrl + R 搜索历史命令
Ctrl + D 退出当前终端 / Shell
!! 重复上一条命令(比如 sudo !!

Ctrl + C 是最重要的。 程序跑飞了、卡住了、输出停不下来——第一反应就是 Ctrl+C。它不会删除任何文件,只是终止当前进程。

下一步

现在你能在 Linux 终端里自由地导航、操作文件、理解环境变量了。接下来要安装 AI Coding 最常用的两个语言运行时:Node.js 和 Python。