Skip to content

Linux(1991)

关键词:底座、OS

🌍 起源 → 🧠 原理 → 🧱 架构 → ⚙️ 核心机制 → 🔐 安全 → 🌐 网络 → 📦 软件管理 → 🐳 容器 → ☸️ K8S → 🎯 学习路线...

TODO List

  • [ ] 会 ssh 登录
  • [ ] 会看日志
  • [ ] 会重启服务

Linux 重点知识

  1. Linux 是操作系统内核,负责管理硬件资源
  2. Linux 发行版是 Linux 内核+GNU 工具+Shell+桌面/服务,主要有 Ubuntu、CentOS、Debian、RedHat 等
  3. 使用 Windows 用户,可以使用虚拟机(例如 wmware、virtualBox 等)安装 Linux 发行版,也可以使用 WSL(Windows Subsystem for Linux)

常见命令

  1. ls:查看当前目录下的文件(list)
  2. cd:切换目录(change directory)
  3. pwd:查看当前目录(print working directory)
  4. mkdir:创建目录(make directory)
  5. rm:删除文件或目录(remove)
  6. cp:复制文件或目录(copy)
  7. mv:移动文件或目录(move)
  8. tar:压缩和解压缩文件(tape archive)
  9. zip:压缩和解压缩文件(zip)
  10. unzip:解压缩文件(unzip)
  11. chmod:修改文件权限(change mode)
  12. chown:修改文件所有者(change owner)
  13. chgrp:修改文件所属组(change group)
  14. ps:查看进程(process status)
  15. kill:终止进程(kill)
  16. top:查看系统状态(top)
  17. df:查看磁盘空间(disk free)
  18. du:查看目录大小(disk usage)
  19. free:查看内存使用情况(free)
  20. ifconfig:查看网络配置(interface configuration)
  21. ping:测试网络连通性(ping)
  22. ssh:远程登录(secure shell)
  23. scp:远程复制文件(secure copy)
  24. wget:下载文件(web get)
  25. curl:发送 HTTP 请求(client url)
  26. vi:编辑文件(visual interface)
  27. vim:编辑文件(visual interface improved)
  28. nano:编辑文件(nano)
  29. cat:查看文件内容(concatenate)
  30. less:查看文件内容(less)
  31. more:查看文件内容(more)
  32. head:查看文件头部内容(head)
  33. tail:查看文件尾部内容(tail)
  34. grep:搜索文件内容(global regular expression print)
  35. awk:文本处理工具(awkward)
  36. sed:流编辑器(stream editor)
  37. sort:排序文件内容(sort)
  38. uniq:删除文件中的重复行(unique)
  39. cut:提取文件中的列(cut)
  40. paste:合并文件中的列(paste)
  41. join:合并文件中的行(join)
  42. comm:比较两个文件的内容(comm)
  43. sudo:以超级用户权限执行命令(superuser do)
  44. find:查找文件(find)
  45. locate:查找文件(locate)
  46. which:查找命令的位置(which)
  47. whereis:查找命令的位置(whereis)
  48. man:查看命令的帮助文档(manual)
  49. info:查看命令的帮助文档(info)
  50. apt:包管理工具(advanced package tool)
  51. su:切换用户(substitute user)

常见参数

  1. -a:显示所有文件和目录
  2. -l:以列表形式显示文件和目录
  3. -h:以人类可读的形式显示文件大小
  4. -r:递归显示目录下的文件和目录
  5. -d:仅显示目录
  6. -f:仅显示文件

常见用法

  1. ls -l:以列表形式显示当前目录下的文件和目录
  2. ls -lh:以人类可读的形式显示当前目录下的文件和目录
  3. ls -ld:显示当前目录的信息
  4. ls -ld /home:显示 /home 目录的信息
  5. ls -l /home:以列表形式显示 /home 目录下的文件和目录
  6. ls -lh /home:以人类可读的形式显示 /home 目录下的文件和目录

An image

一、Linux 是什么?(本质定义)

1️⃣ Linux 本质是:操作系统内核(Kernel)

它负责:

  • 管理 CPU
  • 管理内存
  • 管理磁盘
  • 管理进程
  • 管理网络
  • 管理硬件

它不是完整系统,而是核心。

我们常说的:

  • Ubuntu
  • CentOS
  • Debian
  • RedHat

其实是:

Linux Kernel + GNU 工具 + Shell + 桌面/服务 = 发行版(Distribution)

二、Linux 的历史

时间轴

  • 1991:Linus 发布 Linux 内核
  • 1994:Linux 1.0
  • 2000:进入服务器
  • 2008:Android(基于 Linux)
  • 2013:Docker
  • 2014:K8S
  • 今天:云计算 & AI & IoT 底座

Linux 已经成为:

互联网基础设施操作系统

三、Linux 架构(分层结构)

用户程序
Shell
系统调用--------------
Linux 内核--------------
硬件(CPU、内存、磁盘、网卡)

内核主要模块:

模块作用
Process Scheduler进程调度
Memory Manager内存管理
VFS虚拟文件系统
Network Stack网络协议
Device Driver驱动
IPC进程通信
Security安全

四、Linux 核心设计思想

1️⃣ 一切皆文件

  • 磁盘:/dev/sda
  • 网卡:/dev/eth0
  • 进程:/proc/1234
  • 配置:/etc

统一用文件方式管理。

2️⃣ 多用户多任务

  • root
  • 普通用户
  • 同时运行上百进程

3️⃣ 模块化内核

驱动可动态加载:

bash
lsmod
modprobe

五、Linux 启动流程(Boot)

开机

BIOS/UEFI

BootLoader(GRUB)

加载内核

init/systemd

启动服务

登录界面

核心进程:

PID 1 = systemd

六、文件系统结构(非常重要)

/
├── bin   基本命令
├── sbin  管理命令
├── etc   配置文件
├── home  用户目录
├── var   日志/缓存
├── usr   软件
├── tmp   临时文件
├── dev   设备
├── proc  进程信息
├── sys   内核信息

七、进程管理

进程概念:

  • PID
  • PPID
  • 状态:R/S/Z/T

常用命令:

bash
ps aux
top
htop
kill
nice

八、内存管理

  • 虚拟内存
  • 物理内存
  • Swap
  • Page Cache
  • Buffer

查看:

bash
free -h
vmstat

OOM:

Out Of Memory Killer

九、文件系统类型

  • ext4
  • xfs
  • btrfs
  • nfs
  • tmpfs

十、权限与用户管理(安全核心)

权限模型:

rwxrwxrwx
含义
r
w
x执行

用户:

  • root
  • user
  • group

命令:

bash
chmod
chown
useradd
passwd

十一、网络系统

网络协议栈:

  • TCP/IP
  • UDP
  • ICMP
  • HTTP

常用命令:

bash
ip addr
ip route
ping
curl
netstat
ss

十二、服务管理(systemd)

bash
systemctl start nginx
systemctl stop nginx
systemctl enable nginx
systemctl status nginx

十三、日志系统

  • /var/log/syslog
  • /var/log/messages
  • journalctl

十四、软件包管理

Debian 系:

bash
apt install nginx

RedHat 系:

bash
yum install nginx
dnf install nginx

十五、Shell(命令解释器)

  • bash
  • zsh
  • sh

功能:

  • 管道
  • 重定向
  • 脚本
  • 变量

十六、Linux 与 Docker 的关系

Docker 基于 Linux:

  • Namespace(隔离)
  • Cgroup(资源限制)
  • UnionFS(镜像)

所以:

Docker = Linux 高级玩法

十七、Linux 与 K8S 的关系

K8S 节点 = Linux

负责:

  • 容器运行
  • 网络
  • 存储

十八、安全机制

  • SELinux
  • AppArmor
  • 防火墙(iptables/nftables)
  • sudo
  • 文件权限

十九、发行版分类

分类代表
Debian 系Ubuntu、Debian
RedHat 系CentOS、Rocky
Arch 系Arch
国产麒麟、统信

二十、Linux 应用领域

  • Web 服务器
  • 云服务器
  • Android
  • IoT
  • 超级计算机
  • 路由器
  • NAS
  • AI 服务器

二十一、Linux 运维核心能力清单

基础能力:

  • SSH
  • 文件操作
  • 权限
  • 日志
  • 网络

进阶:

  • Docker
  • Jenkins
  • K8S
  • Nginx
  • MySQL

高级:

  • 高可用
  • 监控
  • 自动化
  • 灾备

二十二、Linux 学习路线(给你一条路)

第 1 阶段:

  • 基础命令
  • 文件系统
  • 权限
  • 网络

第 2 阶段:

  • systemd
  • 日志
  • 防火墙
  • shell 脚本

第 3 阶段:

  • Docker
  • Nginx
  • MySQL

第 4 阶段:

  • Jenkins
  • K8S
  • 监控
  • 云原生

二十三、Linux 精神(文化)

Linux 不只是技术,它是一种哲学:

  • 开源
  • 协作
  • 简洁
  • 稳定
  • 自由

二十四、终极总结一句话

Linux 是现代互联网、云计算、容器、AI、服务器世界的地基操作系统。

你现在学的:

  • Docker
  • K8S
  • Jenkins
  • Nginx

全部是建立在 Linux 之上的。