在日常使用 Linux 过程中,会频繁接触并执行各种命令。然而,由于命令众多且语法各异,难免会有遗忘的情况。为了提高工作效率,避免每次都需要重新查找或记忆,这里特意整理并备份了一些常用的 Linux 命令,方便随时翻阅和查找,以便在需要时快速调用。
使用 tmux 保持远程任务运行
tmux 是一个终端复用工具,可以在一个终端中创建多个窗口和面板。通过 SSH 执行训练、编译、下载等耗时任务时,即使网络中断或关闭本地终端,tmux 会话和其中的任务仍会继续运行,重新连接服务器后可以恢复现场。
tmux 可以应对 SSH 连接中断,但服务器关机或重启后,其中的进程仍会终止。
安装 tmux
Debian、Ubuntu:
sudo apt update && sudo apt install -y tmux |
CentOS、RHEL、Rocky Linux:
sudo dnf install -y tmux |
会话管理
创建名为 work 的会话 |
在 tmux 中,快捷键通常需要先按前缀键 Ctrl+b,松开后再按功能键。例如退出当前会话但保持任务运行,应先按 Ctrl+b,再按 d。
常用快捷键:
| 快捷键 | 作用 |
|---|---|
Ctrl+b,然后按 d | 暂时离开当前会话 |
Ctrl+b,然后按 c | 新建窗口 |
Ctrl+b,然后按 n / p | 切换到下一个 / 上一个窗口 |
Ctrl+b,然后按 0~9 | 切换到指定编号的窗口 |
Ctrl+b,然后按 % | 左右分割面板 |
Ctrl+b,然后按 " | 上下分割面板 |
Ctrl+b,然后按方向键 | 在面板之间切换 |
Ctrl+b,然后按 z | 放大或还原当前面板 |
Ctrl+b,然后按 x | 关闭当前面板 |
查看历史输出
按 Ctrl+b,再按 [ 进入复制模式,之后可以使用方向键、Page Up 和 Page Down 查看历史输出,按 q 退出复制模式。
最常用的远程工作流程如下:
第一次连接服务器后创建会话 |
统计指定软件的内存占用情况
该命令会遍历所有相关进程(如 Chromium),累计其占用的物理内存(RSS),并最终转换为 MB 单位输出。
ps aux | grep chromium | awk '{sum += $6} END {print sum/1024 " MB"}' |
链接无公网 IP 的 GPU 服务器
近年来,随着 AI 计算的爆发,越来越多的 GPU 服务器投入使用。然而,这些服务器通常位于内网环境,缺少公网 IP,导致无法直接访问。为了解决这个问题,可以使用 SSH 隧道技术,将本地端口映射到远程服务器,从而实现安全稳定的访问。这个命令可用于在本地访问 GPU 服务器上的服务
ssh -CNg -L 8003:127.0.0.1:8003 root@云主机地址 -p 32382 |
参数解析:
-C:开启压缩,提高低带宽环境下的传输效率。-N:不执行远程命令,仅建立隧道。-g:允许外部主机访问本地端口(如果仅需本机访问,可去掉)。-L8003:127.0.0.1:8003:将本地 8003 端口映射到远程服务器的 127.0.0.1:8003,便于访问 GPU 服务器上的服务。root@云主机地址:远程服务器的登录用户和地址。-p 32382:指定 SSH 连接的端口。