nohup
简介 :nohup 是 “no hang up” 的缩写,用于确保命令在终端关闭后仍能继续运行。
基本用法 :
1 | nohup python train.py > output.log 2>&1 & |
nohup:使命令忽略终端挂起信号。python train.py:待执行的程序。> output.log:将标准输出重定向到output.log。2>&1:将标准错误重定向到标准输出。&:将命令置于后台运行。
查看进程 :使用 ps 或 jobs 查看运行中的进程。
注意事项 :nohup 适合简单任务,终止进程时需手动查找 PID。
tmux
简介 :tmux 是终端复用工具,允许用户在一个终端窗口中运行多个会话、窗口和窗格。
安装
1 | # Ubuntu/Debian |
启动与连接
1 | tmux new -s mysession # 创建新会话 自己用:prompt |
基本操作
带tmux的都在tmux外输入,快捷键都在tmux内按。
- 分离会话 :按
Ctrl + b后输入d,会话将继续在后台运行。 - 查看会话 :
tmux ls列出所有活动会话。 - 关闭会话 :
tmux kill-session -t mysession彻底关闭会话及其内部命令。 - 查看历史会话:按
Ctrl + b后输入[,按方向键查看历史记录,想不看了按q。在tmux内,输入指令时无法看历史记录,看历史记录时不能输入指令。
窗口与窗格管理
- 列出所有窗口:
tmux list-windows或tmux ls-w。 - 创建新窗口 :按
Ctrl + b后输入c。 - 查看当前会话所有窗口:
Ctrl + b然后 按w。有10个以上窗口则用这个切换,按方向键选择,然后回车进入对应窗口。 - 切换窗口 :切换到窗口2
tmux select-window -t 2,或Ctrl + b然后 按 窗口编号 (0~9)。
优势 :适合复杂实验环境,支持多任务并行处理,可随时恢复会话。
screen
简介 :screen 是终端复用工具,可在一个终端窗口里开多个虚拟终端。
基本用法
1 | screen -S session_name # 创建会话 |
- 分离会话 :按
Ctrl + a后输入d。 - 关闭会话 :输入
exit。
优势场景
- 远程工作不断线 :断网后可重新连接,任务继续运行。
- 多任务并行管理 :一个窗口开多个会话,轻松切换。
- 后台运行任务 :关闭终端后任务仍继续执行。
三者对比
| 工具 | 优势 | 劣势 |
|---|---|---|
| nohup | 简单易用,适合短期任务 | 无法实时查看输出,终止进程需查找 PID |
| tmux | 支持多会话、多窗口、多窗格,可实时查看 | 学习曲线较陡 |
| screen | 功能类似 tmux,兼容性好 | 使用场景相对 tmux 较少 |
总结:
- 短期任务 :使用
nohup快速启动并后台运行。 - 复杂多任务 :使用
tmux创建多会话、多窗口进行管理。 - 兼容性需求 :
screen是不错的选择。
根据具体需求选择合适的工具,可有效提升远程实验的效率与便捷性。
Ctrl+R 历史命令搜索
在终端中按 Ctrl + R 可以进入反向搜索模式,用于快速查找之前输入的命令。
使用方法 :
- 启动搜索 :按
Ctrl + R,终端会显示(reverse-i-search):提示符。 - 输入关键词 :输入命令的部分内容,终端会实时匹配历史命令。
- 选择命令 :使用
Ctrl + R继续向前搜索,Ctrl + S向后搜索(需要在终端中启用)。 - 执行命令 :找到目标命令后,按
Enter执行,或按Esc取消搜索并编辑命令。
优势 :快速查找和重复执行历史命令,提高工作效率。
NVIDIA 相关指令
GPU 状态查看 :
1 | nvidia-smi # 查看GPU使用情况 |
GPU 进程管理 :
1 | nvidia-smi --query-compute-apps=pid,process_name,used_memory --format=csv # 查看GPU进程 |
CUDA 版本查看 :
1 | nvcc --version # 查看CUDA编译器版本 |
常用监控命令 :
1 | nvidia-smi dmon # 监控GPU性能指标 |
高级监控工具 :
nvitop - 交互式GPU监控工具(推荐)
1 | # 安装 |
nvtop - 类似 htop 的GPU监控工具
1 | # Ubuntu/Debian 安装 |
watch 命令 - 定期执行并显示命令输出
1 | watch -n 1 nvidia-smi # 每秒刷新显示 nvidia-smi 输出 |
对比 :
- nvidia-smi :基础工具,所有系统都有,功能简单。
- watch + nvidia-smi :适合简单监控需求,无需额外安装。
- nvitop :Python工具,安装方便,界面友好,功能丰富,推荐使用。
- nvtop :类似 htop,需要编译安装,功能强大。
VSCode 误删文件找回
方法一:使用 Git 恢复
适用于已版本控制的文件:
1 | # 查看删除的文件 |
方法二:使用 VSCode 时间线功能
- 在 VSCode 中右键点击被删除文件所在的文件夹。
- 选择 “Open Timeline”(打开时间线)。
- 在时间线中找到文件的历史版本。
- 点击历史版本,选择 “Restore”(恢复)。
方法三:从本地历史记录恢复
VSCode 会在本地保存文件历史:
- 右键点击被删除文件所在的文件夹。
- 选择 “Open Folder in File Explorer”。
- 在
.vscode目录下查找本地历史记录(如果有配置)。 - 或使用
Ctrl + Shift + P,输入 “Local History” 查找相关功能。
方法四:从系统回收站恢复
如果文件系统支持,检查系统回收站:
- Linux :检查
~/.local/share/Trash/目录。 - Windows :检查回收站。
- macOS :检查废纸篓。
预防措施
- 使用 Git 进行版本控制。
- 定期提交代码。
- 在 VSCode 中启用自动保存和本地历史记录功能。


