面向 AI / Agent 开发新手的速成手册。不讲理论,只讲你真正会用到的命令和概念。 更新于 2026-07-22
- Shell / 终端 —— 一切操作的入口
- Git —— 代码版本管理
- Node.js / npm —— JavaScript 运行时与包管理
- Python / pip —— AI 开发的主力语言
- Docker —— 环境隔离与部署
- 全命令速查表
Shell 是你和操作系统之间的翻译官。你在黑窗口里敲命令,Shell 翻译给系统执行。
| 系统 | 默认 Shell | 对应终端 |
|---|---|---|
| Windows | PowerShell / CMD | Windows Terminal |
| macOS | zsh(新)/ bash(旧) | Terminal.app |
| Linux | bash | 各种 Terminal |
本手册命令以 bash/zsh 语法为准(macOS/Linux/WSL 通用)。Windows PowerShell 语法不同,见速查表。
# 你在哪?
pwd # 打印当前目录路径
# 看看有什么
ls # 列出当前目录文件
ls -la # 列出所有文件(含隐藏),详细信息
# 到处走走
cd /path/to/folder # 进入某个目录
cd .. # 返回上一级
cd ~ # 回到 home 目录
cd - # 回到上一个所在目录
# 文件操作
mkdir my-project # 创建目录
touch README.md # 创建空文件
cp source.txt dest.txt # 复制文件
mv old.txt new.txt # 移动/重命名
rm file.txt # 删除文件(⚠️ 不可恢复)
rm -rf folder/ # 删除目录(⚠️ 极度危险)
# 查看文件
cat file.txt # 打印整个文件
head -20 file.txt # 看前 20 行
tail -f app.log # 实时追踪日志(Ctrl+C 退出)
less file.txt # 分页浏览(q 退出)
# 搜索
grep "error" app.log # 在文件里搜关键字
grep -r "TODO" src/ # 递归搜索目录| 快捷键 | 功能 |
|---|---|
Ctrl+C |
终止当前运行的程序 |
Ctrl+D |
退出当前 Shell(EOF) |
Ctrl+L |
清屏 |
Ctrl+R |
搜索历史命令 |
Ctrl+A / Ctrl+E |
跳到行首 / 行尾 |
Tab |
自动补全文件名/命令 |
↑ / ↓ |
上下翻历史命令 |
Git 是版本控制系统。每次你 commit,就像给代码拍了一张快照。配合 GitHub,你可以和团队协作、回退错误、追踪每一行代码的修改历史。
工作区(你改文件的地方)
│ git add
▼
暂存区(准备提交的快照)
│ git commit
▼
本地仓库(.git 目录)
│ git push
▼
远程仓库(GitHub / GitLab)
# === 初次配置(一辈子做一次) ===
git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
# === 从零开始一个项目 ===
git init # 把当前目录变成 git 仓库
git add . # 把所有文件加入暂存区
git commit -m "初始化项目" # 提交,-m 后面写改动说明
git remote add origin <URL> # 关联远程仓库
git push -u origin main # 推送到 GitHub
# === 日常改动 ===
git status # 看有哪些文件改了
git diff # 看具体改了什么
git add file.py # 添加指定文件
git add . # 添加所有改动
git commit -m "修复登录bug" # 提交
git push # 推到远程
# === 拉取别人的改动 ===
git pull # 拉取远程更新并合并
git fetch # 只看远程有什么更新,不合并
# === 分支操作 ===
git branch # 看当前在哪个分支
git checkout -b feature-x # 创建并切换到新分支
git checkout main # 切换回 main 分支
git merge feature-x # 把 feature-x 合到当前分支
# === 救急 ===
git log --oneline # 看提交历史
git reset --hard HEAD~1 # 撤销最近一次 commit(⚠️ 不可恢复)
git stash # 暂存当前改动,切换到干净状态
git stash pop # 恢复之前暂存的改动在项目根目录创建 .gitignore 文件:
node_modules/
__pycache__/
*.pyc
.env
.vscode/
dist/
build/
.DS_Store| 工具 | 作用 |
|---|---|
| Node.js | 让电脑能直接运行 JavaScript(不依赖浏览器) |
| npm | Node 自带的包管理器,下载别人写好的 JS 库 |
| npx | 不安装就能临时运行一个 npm 包 |
node --version # 看 Node 版本(应该 >=18)
npm --version # 看 npm 版本mkdir my-agent && cd my-agent
npm init -y # 生成 package.json(项目身份证)npm install axios # 安装 axios(HTTP 请求库)
npm install -D typescript # -D 表示仅开发时需要
npm install -g wrangler # -g 表示全局安装(命令行工具)
npm uninstall axios # 卸载包
npm list # 看装了哪些包
npm outdated # 看哪些包有新版本
npm update # 更新所有包package.json 里可以定义快捷脚本:
{
"scripts": {
"dev": "node index.js",
"build": "webpack",
"test": "jest"
}
}npm run dev # 运行 dev 脚本
npm test # test 和 start 可以省略 runnpm install会把所有依赖下载到node_modules/- 永远不要把这个目录上传到 Git(放进 .gitignore)
- 别人拿到项目后运行
npm install就能根据package.json重建node_modules
| 工具 | 作用 |
|---|---|
| Python | AI 生态最主流的编程语言 |
| pip | Python 的包管理器 |
| venv | Python 的虚拟环境(隔离不同项目的依赖) |
python --version # 或 python3 --version
pip --version # 或 pip3 --version为什么要用虚拟环境? 不同项目可能依赖同一个包的不同版本,混在一起会炸。
# 创建虚拟环境
python -m venv venv
# 激活(Windows)
venv\Scripts\activate
# 激活(macOS/Linux)
source venv/bin/activate
# 退出
deactivate激活后终端前面会出现 (venv) 标记。
pip install requests # 安装 requests 库
pip install langchain openai # 一次装多个
pip install -r requirements.txt # 批量安装项目所需的所有包
pip list # 看装了什么
pip freeze > requirements.txt # 导出依赖列表项目根目录必备文件,列出所有依赖:
langchain>=0.3.0
openai>=1.50.0
chromadb>=0.5.0
python-dotenv>=1.0.0
别人拿到项目,一行命令装好所有依赖:
pip install -r requirements.txtDocker 像一个带说明书的打包盒。你把代码+运行环境打成一个镜像(Image),拿到任何机器上跑出来都是一个一模一样的容器(Container),彻底解决"我电脑上能跑啊"的问题。
| 概念 | 解释 |
|---|---|
| Image(镜像) | 一个打包好的环境模板,包含代码、依赖、系统库 |
| Container(容器) | 镜像运行起来的实例,互相隔离 |
| Dockerfile | 构建镜像的说明书 |
| docker-compose.yml | 编排多个容器的配置文件 |
| Docker Hub | 镜像仓库,类似 npm 之于 Node.js |
# 查状态
docker --version # 装好了吗?
docker ps # 正在运行的容器
docker ps -a # 所有容器(含已停止的)
docker images # 本地的镜像列表
# 拉取和运行
docker pull python:3.12 # 从 Docker Hub 拉取 Python 3.12 镜像
docker run -it python:3.12 bash # 运行一个临时容器并进入
# 用 Dockerfile 构建
docker build -t my-agent:v1 . # 构建镜像(别漏了最后的点)
docker run -p 8080:8080 my-agent:v1 # 运行,映射端口
# 清理
docker stop <容器ID> # 停止容器
docker rm <容器ID> # 删除容器
docker rmi <镜像ID> # 删除镜像
docker system prune -a # 清理所有不用的镜像/容器(⚠️)FROM python:3.12-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["python", "main.py"]version: '3.8'
services:
app:
build: .
ports:
- "8080:8080"
env_file:
- .env
redis:
image: redis:7
ports:
- "6379:6379"docker-compose up -d # 后台启动所有服务
docker-compose down # 停止并清理
docker-compose logs -f # 查看日志| 想干什么 | 命令 |
|---|---|
| 当前位置 | pwd |
| 列出文件 | ls -la |
| 进入目录 | cd 路径 |
| 创建目录 | mkdir 目录名 |
| 创建文件 | touch 文件名 |
| 删除文件 | rm 文件名 |
| 删除目录 | rm -rf 目录 |
| 复制 | cp 源 目标 |
| 移动/重命名 | mv 旧 新 |
| 查看文件 | cat 文件 |
| 搜索内容 | grep "关键词" 文件 |
| 管理员权限 | 命令前加 sudo |
| 终止程序 | Ctrl + C |
| 清屏 | Ctrl + L 或 clear |
| 想干什么 | 命令 |
|---|---|
| 初始化仓库 | git init |
| 看状态 | git status |
| 加入暂存 | git add . |
| 提交 | git commit -m "说明" |
| 推送 | git push |
| 拉取 | git pull |
| 看历史 | git log --oneline |
| 创建分支 | git checkout -b 分支名 |
| 切换分支 | git checkout 分支名 |
| 合并分支 | git merge 分支名 |
| 克隆仓库 | git clone URL |
| 暂存改动 | git stash / git stash pop |
| 撤销修改 | git checkout -- 文件名 |
| 关联远程 | git remote add origin URL |
| 想干什么 | 命令 |
|---|---|
| 初始化 | npm init -y |
| 安装包 | npm install 包名 |
| 安装开发依赖 | npm install -D 包名 |
| 全局安装 | npm install -g 包名 |
| 卸载 | npm uninstall 包名 |
| 运行脚本 | npm run 脚本名 |
| 看版本 | npm outdated |
| 更新 | npm update |
| 想干什么 | 命令 |
|---|---|
| 创建虚拟环境 | python -m venv venv |
| 激活 (Mac/Linux) | source venv/bin/activate |
| 激活 (Windows) | venv\Scripts\activate |
| 退出虚拟环境 | deactivate |
| 安装包 | pip install 包名 |
| 批量安装 | pip install -r requirements.txt |
| 查看列表 | pip list |
| 导出依赖 | pip freeze > requirements.txt |
| 运行脚本 | python 文件名.py |
| 想干什么 | 命令 |
|---|---|
| 看运行中的容器 | docker ps |
| 看所有容器 | docker ps -a |
| 看本地镜像 | docker images |
| 拉取镜像 | docker pull 镜像名 |
| 运行容器 | docker run -p 端口:端口 镜像名 |
| 进入容器 | docker exec -it 容器ID bash |
| 构建镜像 | docker build -t 名字:版本 . |
| 停止容器 | docker stop 容器ID |
| 删除容器 | docker rm 容器ID |
| 删除镜像 | docker rmi 镜像ID |
| 清理垃圾 | docker system prune -a |
| 编排启动 | docker-compose up -d |
| 编排停止 | docker-compose down |
| bash 命令 | PowerShell 等价 |
|---|---|
ls |
ls 或 Get-ChildItem |
cd |
cd 或 Set-Location |
pwd |
pwd 或 Get-Location |
mkdir |
mkdir 或 New-Item -ItemType Directory |
touch |
New-Item 文件名 |
cat |
cat 或 Get-Content |
rm |
rm 或 Remove-Item |
cp |
cp 或 Copy-Item |
mv |
mv 或 Move-Item |
grep |
Select-String |
echo $VAR |
echo $env:VAR |
export VAR=val |
$env:VAR = "val" |
which cmd |
Get-Command cmd |
几乎所有 AI 项目都需要 API Key,正确做法是放在 .env 文件里:
# .env(永远不要上传到 Git)
OPENAI_API_KEY=sk-xxxxxxxx
ANTHROPIC_API_KEY=sk-ant-xxxxxxxx
DEEPSEEK_API_KEY=sk-xxxxxxxxPython 读取方式:
# 先 pip install python-dotenv
from dotenv import load_dotenv
import os
load_dotenv()
api_key = os.getenv("OPENAI_API_KEY")Node.js 读取方式:
// 先 npm install dotenv
require('dotenv').config();
const apiKey = process.env.OPENAI_API_KEY;本手册配合 Agent 技术栈 README 使用。建议存为书签,随时
Ctrl+F查命令。