深色模式
选择环境与 Linux 入门
这一节从零开始:选一个 Linux 环境,学会在终端里工作。之后依次配置服务器、Python、GPU、Git、Docker 和 AI 编程助手,按顺序做下来就能开始实验。
为什么要用 Linux
课题组的服务器、集群、Jetson 设备都运行 Ubuntu(一种 Linux 发行版),vLLM 等大部分 AI 系统软件也只在 Linux 上完整支持。所以你需要一个 Ubuntu 环境,并学会用命令行操作它。
选择你的环境
| 你的情况 | 推荐方案 | 说明 |
|---|---|---|
| Windows 电脑(最常见) | WSL2 + Ubuntu 24.04 | 在 Windows 里直接运行 Ubuntu,轻量,可以调用本机 NVIDIA 显卡 |
| Mac | 终端本身就是类 Unix 环境;需要 Linux 时用 OrbStack | Mac 没有 CUDA,GPU 实验必须在服务器或云 GPU 上做 |
| 想体验完整的 Linux 桌面,或要学 K8s 多节点 | VMware Workstation 或 VirtualBox 虚拟机 | 虚拟机里用不了本机显卡 |
| 已经有实验室服务器账号 | 直接 SSH 登录,见使用服务器 | 本地只需要终端和 VS Code |
Ubuntu 版本:推荐 24.04 LTS,22.04 仍然可用。26.04 LTS 已经发布,但部分深度学习软件的适配会滞后一段时间,入门阶段不建议用。
方案一:WSL2(Windows 推荐)
要求:推荐 Windows 11。Windows 10 已于 2025 年 10 月结束官方支持,较新的版本仍能使用 WSL2,但不再有安全更新。
安装:右键开始菜单,打开“终端(管理员)”或 PowerShell(管理员),运行:
powershellwsl --install -d Ubuntu-24.04重启电脑。重启后会自动打开 Ubuntu 窗口,按提示设置 Linux 用户名和密码(输入密码时屏幕不显示字符,这是正常的)。
更新软件包:
bashsudo apt update && sudo apt upgrade -y装一个好用的终端:从 Microsoft Store 安装 Windows Terminal(Windows 11 自带),在下拉菜单里选 Ubuntu 打开。
配合 VS Code:在 Windows 上安装 VS Code 和 WSL 插件。在 Ubuntu 终端里进入项目目录后运行
code .,就会用 VS Code 打开 Linux 里的文件夹。GPU:在 Windows 上安装最新的 NVIDIA 显卡驱动,然后在 WSL 里运行
nvidia-smi,能看到显卡就说明可以用了。不要在 WSL 里安装 Linux 版显卡驱动,这是最常见的错误,会导致 GPU 无法使用。详见 GPU 与 CUDA。
文件放在哪里:项目文件放在 Linux 的家目录(~)下,不要放在 /mnt/c/...(Windows 的 C 盘)里,跨系统读写会慢好几倍。需要在 Windows 资源管理器里看 Linux 文件时,在地址栏输入 \\wsl$。
方案二:Mac
- 打开“终端”(或安装 iTerm2),Mac 默认的 shell 是 zsh,下面的大部分命令都能直接用。
- 安装包管理器 Homebrew,之后用
brew install git wget这样的命令装软件。 - 需要 Linux 或 Docker 时安装 OrbStack。
- Apple 芯片的 Mac 可以用 PyTorch 的 MPS 后端做小规模实验,也能用 Ollama 在本地跑小模型;但 vLLM、CUDA 相关的实验要在服务器上做。
方案三:虚拟机
- 安装 VMware Workstation(个人使用免费)或 VirtualBox。
- 下载 Ubuntu 24.04 Desktop 镜像并安装,建议分配 4 核 CPU、8 GB 内存、80 GB 磁盘。
- 网络配置:要让本机和虚拟机能互相访问,网络模式选“桥接”(虚拟机像局域网里一台独立的电脑);只需要虚拟机上网的话用默认的 NAT 即可。用
ip addr查看虚拟机 IP,在两边互相ping测试连通性。
终端入门
基本概念
| 概念 | 说明 |
|---|---|
| 终端 / Shell | 输入命令的地方。Ubuntu 默认的 shell 是 bash,Mac 是 zsh,用法基本相同 |
| 提示符 | 类似 zhangsan@lab:~/project$,依次是用户名、主机名、当前目录 |
| 命令格式 | 命令 选项 参数,例如 ls -l /home:命令是 ls,选项 -l 表示详细列表,参数是目录 |
| 路径 | 绝对路径从 / 开始;~ 是家目录,. 是当前目录,.. 是上一级目录 |
| 隐藏文件 | 以 . 开头的文件,如 ~/.bashrc,用 ls -a 才能看到 |
必会的快捷操作
- Tab:自动补全命令和路径,按两下列出所有可能。少打字、少出错。
- ↑ / ↓:翻看历史命令。
Ctrl+R搜索历史命令。 - Ctrl+C:中断正在运行的程序。
- Ctrl+L 或
clear:清屏。 - 不知道一个命令怎么用:
命令 --help或man 命令。
常用命令
bash
pwd # 显示当前目录
ls -lh # 列出文件(-l 详细,-h 大小用 K/M/G 显示)
cd ~/project # 进入目录;cd .. 返回上一级;cd - 返回上一个目录
mkdir -p data/raw # 创建目录(-p 自动创建中间目录)
cp a.txt b.txt # 复制;cp -r 复制目录
mv a.txt docs/ # 移动或重命名
rm a.txt # 删除;rm -r 删除目录。没有回收站,删了就没了,慎用
cat / less / head / tail # 查看文件:全部 / 分页 / 开头 / 结尾
tail -f train.log # 持续查看日志的最新内容
grep -rn "关键词" . # 在当前目录递归搜索文本
find . -name "*.py" # 按文件名查找
du -sh * # 每个文件和目录的大小
df -h # 磁盘剩余空间
top / htop # 进程和资源占用(q 退出)
ps aux | grep python # 查找进程
kill <PID> # 结束进程
wget / curl -O <网址> # 下载文件
tar -xzf a.tar.gz # 解压想查中文说明,可以用 Linux 命令大全。
管道与重定向
bash
python train.py > train.log 2>&1 # 把输出和错误都写进文件
python train.py | tee train.log # 同时显示在屏幕上和写进文件
cat results.csv | grep "ours" | wc -l # 管道:前一个命令的输出作为后一个的输入环境变量与 PATH
环境变量是传给程序的配置。最重要的是 PATH:输入一个命令时,系统会到 PATH 列出的目录里找这个程序。
bash
echo $PATH # 查看
export HF_ENDPOINT=https://hf-mirror.com # 设置(只对当前终端有效)
echo 'export HF_ENDPOINT=https://hf-mirror.com' >> ~/.bashrc # 写进配置文件,以后每次打开终端都生效
source ~/.bashrc # 让配置文件立即生效
which python # 查看当前用的是哪个 pythonMac 默认的 shell 是 zsh,配置文件是 ~/.zshrc,把上面的 ~/.bashrc 换成它。
“明明装了却提示 command not found”,通常就是程序所在的目录不在 PATH 里。
权限与软件安装
sudo 命令:以管理员身份执行。只在自己的电脑或虚拟机上用;在共享服务器上通常没有 sudo 权限,软件装在自己的用户目录里(Python 包用 uv 或 conda)。sudo apt install 软件名:在 Ubuntu 上安装系统软件,例如sudo apt install git htop tmux。chmod +x run.sh:给脚本加上可执行权限,然后用./run.sh运行。
练习(30 分钟)
- 在家目录下创建
practice/data目录,进入practice。 - 用
wget或curl下载任意一个 CSV 文件到data/。 - 用
head看前 5 行,用wc -l数一共多少行。 - 写一个 Python 脚本打印 “hello”,用
python hello.py > out.txt运行,再用cat查看结果。 - 用
history | tail -20回顾你刚才敲过的命令。
学习资料
- The Missing Semester of Your CS Education:MIT 的计算机工具课,2026 年版讲 shell、命令行环境、开发工具、调试、版本控制、打包,还新增了用 AI 智能体写代码的内容。强烈推荐看完。早年的版本(2020 版)有中文翻译和 B 站字幕版,可以配合着看。
- 《Linux 命令行大全》(The Linux Command Line,William Shotts,作者网站可免费阅读英文版)。
国内网络加速
| 资源 | 加速方法 |
|---|---|
| pip / uv | 清华源:pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple;uv 用环境变量 export UV_DEFAULT_INDEX=https://pypi.tuna.tsinghua.edu.cn/simple,见 Python 环境 |
| conda | 使用 conda-forge 的清华镜像,见 Python 环境 |
| Hugging Face 模型 | 设置 export HF_ENDPOINT=https://hf-mirror.com 后用 hf download 下载;镜像不可用时改用 ModelScope |
| ModelScope 模型 | 国内直连:modelscope download --model Qwen/Qwen3-0.6B --local_dir ./models/Qwen3-0.6B |
| GitHub | 网络不稳定时用 SSH 的 443 端口,见 Git 与 GitHub |
| Docker 镜像 | 国内拉取 Docker Hub 经常失败,需要配置镜像加速地址 |
| apt 软件源 | 把 Ubuntu 软件源换成清华镜像 |