1334 字
7 分钟
Linux 系列

系列目录#

1. 为什么整理 Linux#

Linux 不是一个只在服务器上才会遇到的系统。

做实验室项目时,训练模型、部署服务、连接远程主机、查看日志、配置驱动和管理环境,很多步骤最后都会落到 Linux 上。哪怕平时主要使用 Windows 或 macOS,只要项目进入真实运行环境,命令行、文件权限、进程管理和网络排查这些内容就很难绕开。

我一开始整理 Linux 笔记,是因为项目里需要租服务器使用。校内服务器排队紧张,本地机器又不一定能承担所有训练和部署任务,于是很多操作都必须在远程 Linux 环境里完成。这个时候如果只会按照教程复制命令,遇到路径不对、权限不够、进程卡住、端口被占用或者环境变量失效,就很容易不知道问题出在哪里。

所以这个系列不会把 Linux 写成一本完整系统教材,而是更偏向“实际会用到什么,就先把什么整理清楚”。目标是让自己在使用 Ubuntu、本地双系统、远程服务器和项目环境时,能知道常见问题应该从哪里查起。

2. 这个系列想解决什么问题#

这个系列的重点,是把 Linux 从“照着教程操作”推进到“能解释当前命令在做什么,并能处理常见异常”。

我会优先整理几个方向:

  1. 系统安装:Ubuntu 双系统、启动盘、分区、引导和常见安装问题
  2. 命令行基础:目录切换、文件操作、内容查看、搜索、压缩和网络命令
  3. 权限与用户sudochmodchown、用户组和文件权限
  4. 进程与日志pstopkilltail -f 以及服务运行状态排查
  5. 环境配置:Shell、环境变量、Python/C++ 工具链和常见依赖安装
  6. 远程服务器:SSH 登录、文件传输、后台运行、端口占用和磁盘空间检查

这些内容看起来分散,但在实际项目中经常同时出现。比如一个程序跑不起来,可能不是代码错了,而是路径不对、权限不够、依赖没装、端口被占用,或者进程其实已经在后台挂住了。

3. 写作方式#

每篇文章会尽量保持一个简单结构:

  1. 先说明这个问题通常出现在什么场景
  2. 给出可以直接使用的命令或操作步骤
  3. 解释关键参数和命令含义
  4. 补充容易出错的地方
  5. 最后给出可以复用的检查思路

Linux 学习很容易变成背命令,但只背命令并不稳。更重要的是知道命令背后的对象是什么:当前目录、文件路径、用户权限、进程编号、端口、磁盘、网络连接,或者某个配置文件。

只要这些对象能分清楚,遇到新命令时就不会完全陌生。

4. 暂定目录#

目录会随着后续使用场景继续调整,目前先按“安装 -> 命令行 -> 环境 -> 服务器 -> 排查”的路线推进。

第一部分:安装与基础环境#

  1. Windows 与 Ubuntu 双系统的安装
  2. Ubuntu 安装后的基础配置
  3. 常见显卡驱动和黑屏问题排查

第二部分:命令行入门#

  1. Linux 常用指令入门
  2. 文件权限与用户管理
  3. 压缩、解压和文件传输

第三部分:开发环境配置#

  1. Python 环境与虚拟环境管理
  2. C/C++ 编译工具链基础
  3. 常见环境变量和 Shell 配置

第四部分:远程服务器使用#

  1. SSH 登录与密钥配置
  2. 远程文件传输和目录同步
  3. 后台运行任务与查看日志
  4. 磁盘、内存、GPU 和端口排查

5. 从哪里开始#

这个系列先从两个最基础的入口开始:能把 Ubuntu 安装起来,能在命令行里完成常见操作。

双系统安装解决的是“如何获得一个可用的 Linux 环境”;常用指令解决的是“进入环境之后如何移动、查看、修改和排查”。这两部分看起来简单,但后面所有环境配置、远程服务器操作和项目部署,基本都会反复依赖它们。

后续文章会继续沿着真实项目中遇到的问题补充,而不是一次性追求完整。先把每天会用、出错会查、项目里绕不开的部分整理稳定。