系列目录
1. 为什么整理 Linux
Linux 不是一个只在服务器上才会遇到的系统。
做实验室项目时,训练模型、部署服务、连接远程主机、查看日志、配置驱动和管理环境,很多步骤最后都会落到 Linux 上。哪怕平时主要使用 Windows 或 macOS,只要项目进入真实运行环境,命令行、文件权限、进程管理和网络排查这些内容就很难绕开。
我一开始整理 Linux 笔记,是因为项目里需要租服务器使用。校内服务器排队紧张,本地机器又不一定能承担所有训练和部署任务,于是很多操作都必须在远程 Linux 环境里完成。这个时候如果只会按照教程复制命令,遇到路径不对、权限不够、进程卡住、端口被占用或者环境变量失效,就很容易不知道问题出在哪里。
所以这个系列不会把 Linux 写成一本完整系统教材,而是更偏向“实际会用到什么,就先把什么整理清楚”。目标是让自己在使用 Ubuntu、本地双系统、远程服务器和项目环境时,能知道常见问题应该从哪里查起。
2. 这个系列想解决什么问题
这个系列的重点,是把 Linux 从“照着教程操作”推进到“能解释当前命令在做什么,并能处理常见异常”。
我会优先整理几个方向:
- 系统安装:Ubuntu 双系统、启动盘、分区、引导和常见安装问题
- 命令行基础:目录切换、文件操作、内容查看、搜索、压缩和网络命令
- 权限与用户:
sudo、chmod、chown、用户组和文件权限 - 进程与日志:
ps、top、kill、tail -f以及服务运行状态排查 - 环境配置:Shell、环境变量、Python/C++ 工具链和常见依赖安装
- 远程服务器:SSH 登录、文件传输、后台运行、端口占用和磁盘空间检查
这些内容看起来分散,但在实际项目中经常同时出现。比如一个程序跑不起来,可能不是代码错了,而是路径不对、权限不够、依赖没装、端口被占用,或者进程其实已经在后台挂住了。
3. 写作方式
每篇文章会尽量保持一个简单结构:
- 先说明这个问题通常出现在什么场景
- 给出可以直接使用的命令或操作步骤
- 解释关键参数和命令含义
- 补充容易出错的地方
- 最后给出可以复用的检查思路
Linux 学习很容易变成背命令,但只背命令并不稳。更重要的是知道命令背后的对象是什么:当前目录、文件路径、用户权限、进程编号、端口、磁盘、网络连接,或者某个配置文件。
只要这些对象能分清楚,遇到新命令时就不会完全陌生。
4. 暂定目录
目录会随着后续使用场景继续调整,目前先按“安装 -> 命令行 -> 环境 -> 服务器 -> 排查”的路线推进。
第一部分:安装与基础环境
- Windows 与 Ubuntu 双系统的安装
- Ubuntu 安装后的基础配置
- 常见显卡驱动和黑屏问题排查
第二部分:命令行入门
- Linux 常用指令入门
- 文件权限与用户管理
- 压缩、解压和文件传输
第三部分:开发环境配置
- Python 环境与虚拟环境管理
- C/C++ 编译工具链基础
- 常见环境变量和 Shell 配置
第四部分:远程服务器使用
- SSH 登录与密钥配置
- 远程文件传输和目录同步
- 后台运行任务与查看日志
- 磁盘、内存、GPU 和端口排查
5. 从哪里开始
这个系列先从两个最基础的入口开始:能把 Ubuntu 安装起来,能在命令行里完成常见操作。
双系统安装解决的是“如何获得一个可用的 Linux 环境”;常用指令解决的是“进入环境之后如何移动、查看、修改和排查”。这两部分看起来简单,但后面所有环境配置、远程服务器操作和项目部署,基本都会反复依赖它们。
后续文章会继续沿着真实项目中遇到的问题补充,而不是一次性追求完整。先把每天会用、出错会查、项目里绕不开的部分整理稳定。