本文结合 CSDN 优质资源,系统总结 Linux 核心知识体系(配图均来自 Linux 学习笔记)。为帮助技术小白理解,文中加入了通俗案例与表情提示。
链接:https://blog.csdn.net/m0_46374969/article/details/117291842

📚 一、Linux 体系结构

Linux 体系结构

Linux 系统由三个核心部分组成:

  • 🧠 内核(Kernel):系统“大脑”,负责调度 CPU、内存、设备等硬件资源。
  • ⌨️ Shell:人与内核交流的“翻译”,负责解析你的命令。
  • 🧰 应用程序:用户实际使用的软件。

小白类比:把电脑想象成“餐厅”——内核是后厨,Shell 是服务员,应用程序就是一道道菜。你点单(命令),服务员(Shell)把单子交给后厨(内核)做出菜(程序运行)。

1
2
3
# 查看内核版本
uname -r
# 示例输出:5.15.0-86-generic

📂 二、Linux 文件系统

2.1 文件系统层次结构(FHS)

文件系统层次结构

  • /bin:基本命令二进制文件(例如 cp、mv、ls)
  • /etc:系统配置文件(例如网络、服务配置)
  • /home:普通用户的“家”目录(每个用户都有一个)
  • /var:经常变化的文件(日志、缓存)
  • /tmp:临时文件(重启可能清空)

小白类比:把 /home 看成你的卧室,/etc 像是整栋房子的配电箱设置,/var 是每天都会更新的“记账本”。

2.2 文件类型(怎么快速看懂)

符号 类型 例子
- 普通文件 notes.txt, nginx.conf
d 目录 /home, /etc
l 符号链接 /bin/sh → bash
b 块设备文件 /dev/sda
c 字符设备 /dev/tty

💻 三、常用命令大全(高频上手)

3.1 文件操作命令

文件操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 创建目录
mkdir new_folder

# 复制文件
cp file1.txt file2.txt

# 移动/重命名
mv old.txt new.txt

# 删除文件(谨慎!)
rm unwanted.file

# 查看文件内容
cat important.conf

小白提示:rm 删除不可逆,怕误删可以先用 mv 移到一个“回收站”目录:mv target ~/trash/

3.2 系统信息命令

1
2
3
4
5
6
7
8
9
10
11
# 查看磁盘使用
df -h

# 查看内存使用
free -m

# 查看系统负载
uptime

# 查看进程树
pstree

👥 四、用户与权限管理

4.1 用户管理命令

用户管理

1
2
3
4
5
6
7
8
9
10
11
# 添加用户(会引导设置密码)
sudo adduser new_user

# 修改密码
passwd new_user

# 切换用户
su - new_user

# 删除用户(谨慎)
sudo deluser old_user

4.2 文件权限系统(rwx 三剑客)

权限示意

  • r=读(4)、w=写(2)、x=执行(1),三组三位:所有者/同组/其他人。
1
2
3
4
5
# 更改文件权限:所有者 rwx,其他用户 r-x
chmod 755 script.sh

# 更改文件所有者
chown user:group file.txt

小白类比:把文件看成“房间”,r=进门看、w=能改造、x=能进入并操作。chmod 755 就像“主人全权,其他人只能参观”。

📦 五、软件包管理

5.1 APT(Debian/Ubuntu)

APT

1
2
3
4
5
6
7
8
9
10
11
# 更新软件包列表
sudo apt update

# 升级所有软件
sudo apt upgrade

# 安装软件
sudo apt install nginx

# 卸载软件
sudo apt remove apache2

5.2 YUM/DNF(CentOS/RHEL)

1
2
3
4
5
6
7
8
# 安装软件
sudo yum install httpd

# 更新软件
sudo yum update

# 删除软件
sudo yum remove mysql

小白提示:Ubuntu 系列用 apt,CentOS 系列用 yum/dnf,别混着用~

🔄 六、进程管理

6.1 进程监控命令

进程监控

1
2
3
4
5
6
7
8
9
10
11
# 查看当前进程
ps aux

# 动态查看进程
top

# 按内存排序(top 内部快捷键)
# top 里按大写 M

# 结束进程(强制)
kill -9 1234

6.2 后台进程管理(挂起不掉线)

1
2
3
4
5
6
7
8
9
10
11
# 启动后台进程(退出终端仍继续)
nohup python app.py &

# 查看后台作业
jobs -l

# 将后台作业调到前台
fg %1

# 继续后台运行
bg %1

小白提示:nohup + & 就像“把程序扔进后台继续跑”,适合长期任务。

🌐 七、网络配置

7.1 常用网络命令

网络命令

1
2
3
4
5
6
7
8
9
10
11
# 查看 IP 地址
ip addr show

# 测试网络连接
ping example.com

# 查看路由表
route -n

# 网络端口状态
ss -tuln

7.2 SSH 远程连接

1
2
3
4
5
6
7
8
# 连接到远程服务器
ssh username@192.168.1.100

# 生成 SSH 密钥
ssh-keygen -t rsa

# 复制公钥到服务器(免密登录)
ssh-copy-id user@server

小白提示:把 SSH 公钥交给服务器好比“在门卫登记你的脸”,以后刷脸就进~

📜 八、Shell 脚本编程

8.1 基础脚本结构

1
2
3
4
#!/bin/bash
# 这是一个简单的 Shell 脚本示例
echo "当前用户:$(whoami)"
echo "系统负载:$(uptime)"

8.2 常用脚本技巧

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 条件判断
if [ -f "/path/to/file" ]; then
echo "文件存在"
else
echo "文件不存在"
fi

# 循环处理文件
for file in *.log; do
echo "处理文件: $file"
gzip "$file"
done

# 函数定义
backup_file() {
cp "$1" "$1.bak"
echo "已创建备份: $1.bak"
}

🛠 九、系统服务管理(systemd)

9.1 服务常用命令

服务管理

1
2
3
4
5
6
7
8
9
10
11
# 启动服务
sudo systemctl start nginx

# 停止服务
sudo systemctl stop apache2

# 查看服务状态
sudo systemctl status sshd

# 设置开机启动
sudo systemctl enable docker

🔒 十、安全加固

10.1 防火墙示例(UFW)

1
2
3
4
5
6
7
8
9
10
11
# 查看防火墙状态
sudo ufw status

# 允许 SSH 连接
sudo ufw allow ssh

# 允许特定端口
sudo ufw allow 8080/tcp

# 启用防火墙
sudo ufw enable

小白提示:先放通 SSH 再 enable,否则可能把自己关在门外!

10.2 最佳实践清单

  • 🔁 定期更新系统:sudo apt update && sudo apt upgrade
  • 🚫 禁用 root 远程登录
  • 🔑 使用 SSH 密钥认证
  • 🧱 配置 fail2ban 防暴力破解
  • 📒 定期检查日志:/var/log/auth.log

📊 十一、性能监控

11.1 常见工具

性能监控

  • top:实时系统监控
  • htop:增强版 top(需安装)
  • iotop:磁盘 I/O 监控
  • nethogs:按进程统计网络流量

11.2 日志分析

1
2
3
4
5
6
7
8
# 查看系统日志(含错误详情)
journalctl -xe

# 实时监控日志
tail -f /var/log/syslog

# 查找错误日志
grep -i error /var/log/syslog

🐳 十二、容器技术基础

12.1 Docker 核心命令

1
2
3
4
5
6
7
8
9
10
11
# 拉取镜像
docker pull ubuntu:latest

# 运行容器
docker run -it --name my_container ubuntu /bin/bash

# 查看运行中的容器
docker ps

# 停止容器
docker stop my_container

12.2 Dockerfile 示例

1
2
3
4
5
6
FROM python:3.9-slim
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["python", "app.py"]

💾 十三、备份与恢复

备份与恢复

1
2
3
4
5
6
7
8
# 创建目录压缩备份
tar -czvf backup-$(date +%F).tar.gz /important/data

# 增量备份工具(目录同步)
rsync -av --delete /source /backup

# 数据库备份
mysqldump -u root -p database > db_backup.sql

🧩 十四、故障排除

故障排除

  • 🧾 收集信息:错误消息、日志文件
  • 🔁 重现问题:确认可重现
  • 🪟 隔离问题:确定范围(服务/网络/硬件)
  • 🔍 诊断原因:逐步排查
  • 🛠 实施修复:应用修复方案
  • ✅ 验证结果:确认问题解决
  • 📝 文档记录:沉淀经验

救援模式提示:

1
2
3
4
# GRUB 选择恢复模式,进入后可尝试写挂载修复
mount -o remount,rw /
# 修改配置后重启
reboot

🚀 十五、学习资源推荐

学习资源

  • 官方文档:kernel.org
  • 交互教程:Linux Journey
  • 命令查询:explainshell.com
  • 社区支持:Stack Overflow

—— 以上配图引用自 Linux 学习笔记,内容经整理与扩展,仅用于学习研究。
链接:https://blog.csdn.net/m0_46374969/article/details/117291842