目录

  1. Git 版本控制
  2. Conda 虚拟环境
  3. pip 包管理
  4. Linux 常用命令
  5. Tmux 终端复用
  6. Vim 编辑器
  7. 常用 Python 库
  8. Docker
  9. 监控与调试

1. Git 版本控制

基本操作

git init                          # 初始化仓库
git clone <url>                   # 克隆仓库
git add <file>                    # 暂存文件
git commit -m "message"           # 提交
git push origin main              # 推送到远程
git pull origin main              # 拉取远程更新

分支操作

git branch                        # 查看分支
git checkout -b <branch>          # 创建并切换分支
git merge <branch>                # 合并分支
git branch -d <branch>            # 删除分支

撤销操作

git checkout -- <file>            # 撤销工作区修改
git reset HEAD <file>             # 撤销暂存
git reset --soft HEAD~1           # 撤销最近一次 commit(保留修改)
git reset --hard HEAD~1           # 完全撤销最近一次 commit

日志与差异

git log --oneline --graph         # 简洁日志
git diff                          # 查看工作区差异
git diff --staged                 # 查看暂存区差异
git stash                         # 暂存当前修改
git stash pop                     # 恢复暂存

2. Conda 虚拟环境

# 创建环境
conda create -n myenv python=3.10

# 激活/退出环境
conda activate myenv
conda deactivate

# 列出所有环境
conda env list

# 安装包
conda install numpy pandas
conda install -c conda-forge <package>

# 导出/导入环境
conda env export > environment.yml
conda env create -f environment.yml

# 删除环境
conda env remove -n myenv

3. pip 包管理

# 安装包
pip install <package>==<version>
pip install -r requirements.txt

# 卸载
pip uninstall <package>

# 列出已安装包
pip list
pip freeze > requirements.txt

# 查看包信息
pip show <package>

# 使用国内镜像源
pip install <package> -i https://pypi.tuna.tsinghua.edu.cn/simple

4. Linux 常用命令

文件操作

ls -la                           # 列出文件(详细信息)
cd <dir>                         # 切换目录
pwd                              # 显示当前路径
mkdir -p <dir>                   # 创建目录
rm -rf <dir>                     # 删除目录(谨慎!)
cp -r <src> <dst>                # 复制
mv <src> <dst>                   # 移动/重命名
find . -name "*.py"              # 查找文件

文本处理

grep "pattern" <file>            # 搜索文本
grep -r "pattern" .              # 递归搜索
wc -l <file>                     # 统计行数
head -n 10 <file>                # 查看前 10 行
tail -f <file>                   # 实时查看文件末尾
cat <file> | sort | uniq -c      # 排序去重统计

系统监控

htop                             # 进程监控
nvidia-smi                       # GPU 监控
nvidia-smi -l 1                  # 每秒刷新 GPU 状态
df -h                            # 磁盘使用
du -sh <dir>                     # 目录大小
free -h                          # 内存使用

进程管理

ps aux | grep python             # 查找进程
kill -9 <PID>                    # 终止进程
nohup <command> &                # 后台运行
jobs                             # 查看后台任务
fg                              # 调回前台

文件传输

scp <file> user@host:<path>      # 上传文件
scp -r <dir> user@host:<path>    # 上传目录
scp user@host:<path> <local>     # 下载文件
rsync -avz <src> <dst>           # 同步文件(支持断点续传)

5. Tmux 终端复用

# 会话管理
tmux new -s <name>               # 创建命名会话
tmux ls                          # 列出会话
tmux attach -t <name>            # 连接会话
tmux kill-session -t <name>      # 关闭会话

# 窗口操作 (Ctrl+B 后)
c                                # 创建窗口
&                                # 关闭窗口
n / p                            # 切换窗口
,                                # 重命名窗口

# 面板操作 (Ctrl+B 后)
%                                # 垂直分割
"                                # 水平分割
方向键                           # 切换面板
Ctrl+方向键                      # 调整面板大小
x                                # 关闭面板

6. Vim 编辑器

基本操作

i                                # 进入插入模式
Esc                              # 退出插入模式
:w                               # 保存
:q                               # 退出
:wq                              # 保存并退出
:q!                              # 强制退出(不保存)

导航

h / j / k / l                    # 左 / 下 / 上 / 右
0 / $                            # 行首 / 行尾
gg / G                           # 文件开头 / 文件结尾
/<pattern>                       # 搜索
n / N                            # 下一个 / 上一个匹配

编辑

dd                               # 删除整行
yy                               # 复制整行
p                                # 粘贴
u                                # 撤销
Ctrl+r                           # 重做

7. 常用 Python 库

数据处理

用途
NumPy 数值计算
Pandas 表格数据处理
SciPy 科学计算
Polars 高性能 DataFrame

可视化

用途
Matplotlib 基础绘图
Seaborn 统计可视化
Plotly 交互式图表
TensorBoard 训练可视化
WandB 实验跟踪

深度学习

用途
PyTorch 深度学习框架
Transformers 预训练模型
Datasets 数据集处理
Accelerate 分布式训练
PEFT 参数高效微调
Diffusers 扩散模型
Timm 预训练视觉模型

8. Docker

# 镜像管理
docker images                     # 列出镜像
docker pull <image>               # 拉取镜像
docker rmi <image>                # 删除镜像

# 容器管理
docker run --gpus all -it <image> # 启动 GPU 容器
docker run -v $(pwd):/workspace <image>  # 挂载目录
docker ps                         # 查看运行中的容器
docker ps -a                      # 查看所有容器
docker stop <container>           # 停止容器
docker rm <container>             # 删除容器

# 进入容器
docker exec -it <container> bash

9. 监控与调试

GPU 监控

nvidia-smi                        # 基本信息
nvidia-smi -l 1                   # 每秒刷新
nvidia-smi dmon                   # 设备监控
gpustat                           # 简洁 GPU 状态(需 pip install gpustat)

训练监控

# TensorBoard
tensorboard --logdir=./logs --port=6006

# WandB
wandb login
wandb init

性能分析

# PyTorch Profiler
from torch.profiler import profile, ProfilerActivity

with profile(activities=[ProfilerActivity.CPU, ProfilerActivity.CUDA]) as prof:
    output = model(input)
print(prof.key_averages().table(sort_by="cuda_time_total"))

留下评论