一、 文件与目录管理

命令 用法示例 说明
ls ls -lh 列出文件详细信息,-h 以易读格式(GB/MB)显示大小
cd cd ~ 切换路径,~ 代表家目录,- 代表上一次所在目录
pwd pwd 显示当前所在路径的全路径
mkdir mkdir -p a/b/c 递归创建多级目录
cp cp -r src/ dst/ 递归拷贝文件夹
mv mv old.txt new.txt 移动或重命名文件/文件夹
rm rm -rf dir/ 慎用:强制递归删除文件或目录
find find . -name "*.py" 在当前目录及其子目录下查找所有 .py 文件
du du -sh * 查看当前目录下各个文件/文件夹占用磁盘的大小
df df -h 查看系统整体磁盘剩余空间

二、 文本查看与编辑

命令 用法示例 说明
vim vim train.py 终端文本编辑器。进入后按 i 编辑,Esc 后输入 :wq 保存退出
cat cat log.txt 一次性打印整个文件内容
head/tail tail -n 100 log.txt 查看文件前/后 100 行
tail -f tail -f train.log 实时查看文件新增内容,常用于监控训练日志
grep grep "Loss" log.txt 在文件中搜索包含 “Loss” 关键字的行
less less log.txt 分页查看大文件,按 Q 退出,支持上下翻页

三、 环境设置与系统信息

命令 用法示例 说明
export export PATH=$PATH:/dir 设置环境变量(临时生效)
source source ~/.bashrc 立即激活配置文件中的改动
env `env \ grep CUDA` 查看当前系统的环境变量
nvidia-smi watch -n 1 nvidia-smi 查看GPU信息。配合 watch 可每秒刷新一次
uname uname -a 查看系统内核及版本信息
which which python 查看当前使用的命令(如python)指向哪个二进制文件路径

四、 进程管理与资源监控

命令 用法示例 说明
top/htop top 实时查看CPU、内存占用。推荐安装 htop 界面更友好
ps `ps -ef \ grep python` 查看所有与python相关的进程
kill kill -9 <PID> 强行杀死指定进程号的进程
& python a.py > log.txt & 将任务放入后台运行
nohup nohup python a.py & 忽略挂断信号运行,即使关闭终端程序也会继续运行
ctrl+c Ctrl + C 终止当前正在运行的前台程序
ctrl+z Ctrl + Z 挂起当前程序(暂停并转入后台)

五、 压缩、下载与网络

命令 用法示例 说明
tar tar -czvf a.tar.gz dir/ 压缩:c(创建) z(gzip格式) v(显示过程) f(文件名)
tar tar -xzvf a.tar.gz 解压:x(提取)
zip/unzip unzip data.zip 解压 zip 文件
wget wget http://url/file 通过URL下载文件
curl curl ip.sb 网络请求工具,常用于测试API或查看公网IP
scp scp file user@ip:/path 远程拷贝文件到另一台机器

六、 常用场景速查

场景 1:训练任务后台运行并记录日志

1
2
3
4
# 不推荐直接运行,推荐配合 nohup 和重定向
nohup python -u train.py > train.log 2>&1 &
# -u 参数:使python不启用缓冲,实时将日志写入文件
# 2>&1:将错误输出也重定向到标准输出

场景 2:查看显存占满但找不到进程

1
2
3
# 有时 ps 找不到,可以尝试
fuser -v /dev/nvidia*
# 这会列出所有正在使用GPU显存的进程PID

场景 3:清理磁盘空间

1
2
3
4
# 找出当前目录下大于100M的文件
find . -type f -size +100M
# 查看哪个文件夹最占空间
du -h --max-depth=1

场景 4:权限不足

1
2
3
# 如果遇到 Permission denied
chmod +x script.sh # 添加执行权限
chmod 777 file # 给所有人最高权限(慎用)

场景 5:快速搜索历史命令

1
# 按 Ctrl + R,然后输入关键字,可以快速找以前输入过的长命令

七、 符号小结

  • ~:当前用户主目录(Home)
  • .:当前目录
  • ..:上一级目录
  • >:覆盖重定向(清空原文件再写入)
  • >>:追加重定向(在原文件末尾写入)
  • |:管道符(将前一个命令的输出作为后一个命令的输入)
  • *:通配符(代表任意字符)