Skip to content

核心进阶-Linux与数据库

这一阶段会把你从“会写 Python 代码”,继续推进到“会在真实开发环境里使用代码”。

前面学 Python 核心编程 时,你更多是在本地写脚本、练语法、做小练习。到了这一阶段,你开始真正接触:

  • 命令行环境
  • 文件系统和权限
  • 数据持久化
  • Python 和数据库的连接方式

这意味着你的学习开始从“语言本身”转向“工程环境和数据处理”。

本阶段目标

  • 理解 Linux 在开发中的位置
  • 学会使用常见 Linux 命令和工具
  • 理解进程、任务、权限和用户这些系统概念
  • 理解为什么项目必须把数据保存到数据库
  • 学会使用 MySQL、Redis、MongoDB 这三类常见数据库
  • 学会用 Python 去操作这些数据库

为什么 Python 学习者一定会碰到这一阶段

很多零基础同学前面只学 Python 时,会觉得:

  • 能写变量
  • 能写循环
  • 能写函数

是不是就可以做项目了?

答案是还不够。

因为真实项目里你很快就会遇到这些问题:

  • 代码要运行在服务器上,而不是只在自己电脑上
  • 数据要长期保存,而不是只存在内存里
  • 程序要读写文件、处理日志、访问数据库
  • 网站、爬虫、后台、接口都离不开系统环境

所以 Linux 和数据库不是“额外知识”,而是开发能力的一部分。

这一阶段解决的到底是什么问题

1. Linux 解决运行环境问题

你后面做这些事情时,经常都绕不开 Linux:

  • 网站部署
  • 爬虫长期运行
  • 定时任务执行
  • 日志查看
  • 远程服务器管理

2. 数据库解决数据持久化问题

如果你只把数据放在 Python 变量里,程序一结束,数据通常就没了。

数据库的作用是让你能:

  • 保存用户数据
  • 保存课程数据
  • 保存文章数据
  • 保存爬虫采集结果
  • 保存缓存和状态信息

为什么要同时学 Linux 和数据库

因为在真实开发场景里,这两者常常一起出现。

例如:

  • 你在 Linux 服务器上部署网站
  • 网站使用 MySQL 保存数据
  • Redis 保存缓存和登录状态
  • 爬虫在 Linux 上运行,把结果存入 MongoDB 或 MySQL

如果你把它们完全拆开学,会觉得每一块都零散;但当你从项目角度看,就会发现它们是连在一起的。

推荐学习顺序

建议按下面顺序学,不要乱跳:

  1. Linux操作系统
  2. Linux基础操作
  3. Linux常用工具
  4. Linux任务、进程与权限
  5. 关系型数据库 MySQL
  6. Python操作MySQL
  7. 键值型数据库 Redis
  8. Python操作Redis
  9. 文档型数据库 MongoDB
  10. Python操作MongoDB
  11. 常用工具库

这个顺序背后的逻辑是:

  • 先学运行环境
  • 再学文件和命令
  • 再学数据怎么存
  • 最后学 Python 怎么操作这些数据系统

这一阶段每一部分在学什么

Linux 部分

Linux 这组内容的核心,不是让你把所有命令背下来,而是建立这些能力:

  • 看懂终端里的路径和文件结构
  • 会切目录、建文件、看内容、改权限
  • 知道程序运行时对应的是进程
  • 知道为什么有“权限不够”“命令找不到”“脚本不能执行”这类问题

MySQL 部分

MySQL 是非常适合零基础建立“数据表思维”的数据库。

你会学到:

  • 什么是表、行、列
  • 怎么创建数据库和表
  • 怎么做增删改查
  • Python 程序怎么连接并操作 MySQL

Redis 部分

Redis 的重点不是替代 MySQL,而是解决“高频读写、缓存、状态”这类问题。

你会接触:

  • 字符串、列表、哈希、集合等数据类型
  • 缓存、登录状态、计数、排行榜这些典型场景
  • Python 怎么读写 Redis

MongoDB 部分

MongoDB 更适合存放结构不完全固定的数据。

它特别适合:

  • 爬虫原始数据
  • 字段变化大的内容数据
  • 更像 JSON 的文档结构

这组内容和后面阶段的关系

和 Web 前端的关系

关系不大,前端更偏页面。

和 Django 的关系

关系非常大。

因为 Django 项目里:

  • 会连接数据库
  • 会部署到 Linux 环境
  • 会用到用户权限和系统管理能力

和爬虫的关系

关系同样很大。

因为爬虫项目里经常会:

  • 在 Linux 服务器上运行
  • 用 Redis 做去重和队列
  • 用 MongoDB 或 MySQL 保存结果

学这一阶段时最容易犯的错

1. 只想背命令,不理解场景

Linux 命令不是越背越厉害,而是要知道:

  • 我为什么需要它
  • 它在项目里什么时候会出现

2. 只学数据库语法,不理解数据建模

数据库不是单纯背 SQL,而是学会思考:

  • 什么数据该放哪里
  • 表之间是什么关系
  • 哪类数据库适合哪类数据

3. 只会在命令行里敲,不会和 Python 项目结合

你最终的目标不是“会用数据库客户端”,而是“会让 Python 项目和数据库工作起来”。

学习建议

这一阶段特别适合边做边记。

例如:

  • 学 Linux 命令时,就在终端里真的创建目录和文件
  • 学 MySQL 时,就真的建一张 students
  • 学 Redis 时,就真的 set/get 一些键值
  • 学 MongoDB 时,就真的插入和查询几条文档

只有亲手做,系统环境和数据库这些内容才不会停留在概念层。

本阶段小结

这一阶段的意义,是让你开始具备“真实开发环境中的基础生存能力”。

你最重要的收获应该是:

  • 知道 Linux 在开发中为什么重要
  • 会做最基础的系统操作
  • 知道数据为什么必须持久化
  • 理解 MySQL、Redis、MongoDB 三类数据库的不同定位
  • 会让 Python 去操作数据库

只要这一阶段打牢,后面无论是 Django 网站开发还是爬虫工程化,都会顺很多。

Built with VitePress.