--- title: "01-Linux学习路线" created: 2025-11-25 tags: - 项目 --- # Linux 学习路线 📚 > by 程序员鱼皮 [知识星球](https://docs.qq.com/doc/DUG93dVNHbVZjZXpo/) 💂 + 💻 = 👴🏽 建议先观看视频入门: ## 为什么学 Linux? 相比于 Windows,Linux 免费、开源、安全、灵活、稳定、便于开发,所以更受企业青睐,甚至 **90% 以上** 的企业应用都是用 Linux 服务器部署的。 无论是前端、后端、算法、测试、运维等计算机相关岗位的同学,都建议学习下 Linux,大有裨益。 ## 学习境界 首先,Linux 入门很简单,但想学的透彻难上加难! 因此,在学习之前要明确目标。 可以 Linux 的学习分为几种境界: 1. 明劲,就是了解 Linux 的基本概念,会敲常用命令来应对工作。对于大多数想从事开发和运维岗位的同学,学到这就足够找到工作了。 2. 暗劲,又分为两种境界,能理解 Linux 尤其是其内核的设计思想,为小圆满;能将其思想应用到系统的架构设计中,为大圆满。暗劲境界的高手,冲击大厂、做架构师、从事底层开发,都不成问题。 3. 化劲,可谓出神入化,不仅熟知 Linux 的使用、思想和细节,更能推陈出新,自主创造新的系统。 当然,一般情况下,会用就够了,想进大厂最好也学习一些内核的设计思想。找到工作后,是否要深入学习完全取决于你自己。 ## 大纲 ![[335d31c6-fae1-4bad-bd83-fbf73a125824-b95e9233.png]] ## 路线 ### Linux 基础知识 - 发展历史 - ⭐ 特点和优势 - 应用场景 - ⭐ 常见 Linux 系统版本(推荐 CentOS 7+) - ⭐ CentOS - ⭐ Ubuntu - Debian - Fedora - 何为开源? ### Linux 环境 - 搭建方式 - ⭐ 虚拟机 - ⭐ 云服务器 - 在线工具 - WSL - Docker 容器 - 远程连接 - ⭐ SSH - 连接工具 - ⭐ XShell - ⭐ MobaXterm - SecureCRT - Putty ### Linux 常用命令 > 此处只列举命令名称,命令的具体用法可直接在手册中()查询 #### 系统信息 - uname 查看系统信息 - hostname 查看主机名 - cat /proc/cpuinfo 查看 CPU 信息 - lsmod 查看已加载的系统模块 - top 查看系统使用情况 - df 查看磁盘使用情况 - fdisk 查看磁盘分区 - du 查看目录使用情况 - iostat 查看 I / O 使用情况 - free 显示系统内存情况 - env 查看环境变量 - uptime 查看系统运行时间、用户数、负载 #### 系统操作 - shutdown 关机 - reboot 重启 - mount 挂载设备 - umount 卸载设备 #### 用户相关 - su 切换用户 - sudo 以管理员身份执行 - who 查看当前用户名 - ssh 远程连接 - logout 注销 - useradd 创建用户 - userdel 删除用户 - usermod 修改用户 - groupadd 创建用户组 - groupdel 删除用户组 - groupmod 修改用户组 - passwd 修改密码 - last 显示用户或终端的登录情况 #### 文件相关 - cd 切换目录 - ls 查看目录列表 - tree 打印目录树 - mkdir 创建目录 - rm 删除目录 - touch 新建文件 - cp 复制文件 - mv 移动文件 - ln 创建文件链接 - find 搜索文件 - locate 定位文件 - whereis 查看可执行文件路径 - which 在 PATH 指定的路径中,搜索某系统命令的位置 - chmod 设置目录权限 - cat / more / less 查看文件 - tac 倒序查看文件 - head / tail 查看文件开头 / 结尾 - paste 合并文件 - zip / tar / gzip 压缩文件 - unzip / tar / gunzip 解压文件 - grep / sed / awk 文本处理 - vim 文本编辑 #### 程序相关 - crontab 计划任务 - nohup 后台运行程序 - jobs 查看系统任务 - ps 查看进程 - kill 杀死进程 - rpm / yum / apt / apt-get / dpkg 软件包管理 - service / systemctl 服务管理 #### 网络相关 - ifconfig 查看网络属性 - netstat 查看网络状态 - iptables 查看 iptables 规则 #### 其他 - date 显示系统时间 - cal 显示日历 - history 显示与操作历史 - help 帮助 - alias 别名 ### 用户管理 - 用户 - 用户组 - ACL 权限管理 - 用户切换 - 管理员 ### 文件管理 - 文件操作 - 创建 - 修改 - 复制 - 移动 - 删除 - 文件浏览 - 文件搜索 - 文件权限 - 软硬链接 - 压缩 / 解压 ### 文本操作 - 正则表达式 - grep - sed - awk ### VIM 编辑器 - 基本操作 - 模式 - 快捷键 - VIM 定制 - 插件增强 送张 VIM 键盘图: ![[23c088ee-3fa6-446f-985f-e2de0d0aa085-acc327df.png]] ### 磁盘管理 - 使用情况查询 - 磁盘分区 - 挂载 ### 驱动管理 - 驱动加载 - 驱动更新 - 网卡 - 显卡 ### 进程管理 - 启动进程 - 杀死进程 - 查看进程 - 前台 / 后台任务 - 进程监控 ### 计划任务 - crond 服务 - crontab 命令 ### 网络管理 - IP - 端口 - 主机名 - hosts - 网络配置 - 网络状态 - 网络监控 ### 系统管理 - 系统设置 - 日期时间 - 语言 - 字符集 - 系统服务 - 环境变量 - 日志 - 系统关机 / 重启 - 数据备份与恢复 ### 服务管理 - 服务查看 - 启动服务 - 禁用服务 - 删除服务 - 开机自启 ### 软件管理 - 软件包管理器 - ⭐ rpm - ⭐ yum - apt - apt-get - dpkg - 软件安装 - 软件更新 - 软件卸载 - 源码安装 ### 常用软件 / 服务搭建 - HTTP - Mail - NFS - DNS - FTP - mysql - LVS + Keepalived - Apache - Nginx - Redis - 日志服务 ### Shell 脚本编程 - 默认变量 - 运算符 - 条件 - 循环 - 执行 - 函数 - 系统函数 - 自定义函数 - 规范 - 调试方法 - 管道 - I/O 重定向 ### Linux 启动过程 - BIOS 启动引导 - 引导加载程序 - 内核加载 - 系统初始化(init) - 运行级别 - 启动内核 - 执行初始化脚本 - 用户登录 ### Linux 内核 - 内核的组成 - 目录结构 - 版本 - 模块 - 编译 - 裁剪 具体路线图参考: ![[8d8debbe-f565-48f1-956f-36ed66531460-dc33e14b.png]] ### 第三方工具 - Ansible - Webmin - 宝塔 Linux ## 岗位 - 后端开发(Java / Go / C++) - 底层开发(C / C++) - 运维开发 - 大数据 - 云计算 - 自动化运维 - 嵌入式开发 - 网络工程师 ## 学习建议 多动手实践,建议自己购买一台云服务器,并且在本地搭建 Linux 虚拟机环境。 一定要自己从 0 开始手敲命令安装软件、部署服务,熟悉整个项目的上线流程。 每个命令至少要跟着敲一遍,了解它们的作用,并通过自然地练习,熟悉常用的 Linux 命令。 记不住没关系,用文档查就行了。 先会用,再理解。 时间不多的话,可以通过面试题来了解一些 Linux 设计思想,而不是直接去深入学习内核,虽说学会了的确大有裨益,但性价比不高。 ## 资源 - 视频 - ⭐ 2021 韩顺平 一周学会Linux:(基于 CentOS 7.6 版本较新,视频长度刚刚好,也比较完整) - 【千锋】Linux 云计算基础视频教程 650 集入门:(很全面,适合时间足够、想认真学的同学) - 【狂神说Java】Linux 教程 - 阿里云真实环境学习:(算是个小的入门教程吧,时间足够的话还是推荐看更完整的) - 细说Linux - 从入门到精通:(感觉有点啰嗦,作为备用吧) - 玩转Vim 从放弃到爱不释手:(好评很多) - 阿里云 Linux 运维学习路线: - 书籍 - 《鸟哥的 Linux 私房菜 —— 基础篇》:(经典) - 《深入理解 LINUX 内核》: - 《深入Linux内核架构》: - 《Linux内核完全剖析》: - 《Linux内核设计与实现(原书第3版)》: - 文档 - Linux 教程(菜鸟教程): - Linux 教程(W3CSchool): - Linux 工具快速教程:[https://linuxtools-rst.readthedocs.io(基础、工具进阶、工具参考)](https://linuxtools-rst.readthedocs.xn--io()-nw3ca5701dba793cpumgmqca0288f9ywafw6c1iv/) - 合集 - Linux内核学习资料: - GitHub Linux 专区:(很多好项目) - GitHub Linux 合集:(Linux 系列技术) - StackOverflow:(解决问题必备) - 掘金 Linux 专区:(技术文章) - 实战 - ⭐ 蓝桥云课 Linux 基础入门:(强烈推荐) - 腾讯云动手实验室: - 阿里云体验实验室: - 阿里云知行实验室: - 华为云沙箱实验室: - 社区(国内倒的差不多了) - Linux 中国: - 开源中国:(综合的开源社区) - 红帽官网: - 工具 - DistroTest 在线操作系统测试:[https://distrotest.net](https://distrotest.net/) - ⭐ Linux 命令搜索: - Linux 命令大全手册: - Linux 命令大全手册: - Linux 命令示例: - 宝塔 Linux 面板: - 在线 Shell 脚本检查:[https://www.shellcheck.net](https://www.shellcheck.net/) - 面试题 - Linux 常见面试题整理: - Linux 常见面试题整理:[https://github.com/0voice/linux\_kernel\_wiki#-面试题](https://github.com/0voice/linux_kernel_wiki#-%E9%9D%A2%E8%AF%95%E9%A2%98) () --- **项目分区导航**:[[00-Linux总览|00-Linux总览]] ⬅️ | 01-Linux学习路线 | ➡️ [[02-linux实操项目|linux实操项目]]