红帽 Linux 零基础完整学习笔记 5

红帽 Linux 零基础完整学习笔记 5

基于rocky linux 9 的学习笔记

目录

  • 前言
  • 一、系统负载与进程监控
    • 1. 系统负载(Load Average)
    • 2. top命令高频操作
    • 3. CPU信息查看
  • 二、systemd服务管理(重点)
    • 1. systemd是什么
    • 2. systemctl命令
  • 三、日志系统
    • 1. 日志的作用
    • 2. 常见日志位置
    • 3. 日志轮转(logrotate)
  • 四、时间与时钟管理
    • 1. 查看时间与时区
    • 2. 修改时区
  • 五、文件归档与压缩(重点)
    • 1. tar命令(归档≠压缩)
    • 2. 基础操作
  • 六、权限与安全补充
    • 1. 特殊权限(了解)
    • 2. SELinux(安全增强)
  • 七、课后实践清单
  • 八、小结

前言

Linux 核心知识点总结,含可执行代码·初学者版
本总结基于课程内容,每条均配可直接复制执行的命令。

一、系统负载与进程监控

1. 系统负载(Load Average)

  • 是什么:反映CPU在1/5/15分钟内的平均任务压力,仅统计处于运行(R)状态的进程(不包含休眠/等待IO的进程)。

  • 怎么看:top命令首行就是Load Average。

bash top # 实时查看,按q退出

理想状态:CPU利用率保持在70%~80%,超过则可能性能瓶颈。

2. top命令高频操作

(重点记快捷键)

简单试验一下吧,按shift+p

⚠️ 重要警告:

优先用kill -15(默认),给进程清理资源的机会。

慎用kill -9,强制杀死进程,可能导致数据丢失或资源泄漏。

不要乱杀不认识的进程,尤其是systemd相关进程,会直接导致系统崩溃。

3. CPU信息查看

bash lscpu # 查看CPU核心数、架构等(物理核心数看"Core(s) per socket")

这是我虚拟机的配置
Architecture (架构): x86_64
虚拟机目前被分配了 2个虚拟 CPU 核心

二、systemd服务管理(重点)

1. systemd是什么

  • Linux系统的1号进程(PID=1),是所有服务的“大管家”,负责启动、停止、监控服务。

  • 类比:“寝室清洁工”,后台默默干活,还能并行启动服务、按需激活、管理依赖(比如没网就不启动抖音)。

2. systemctl命令

(替代旧的service命令)

📌 restart vs reload:

  • restart:服务中断,适合重大配置变更。

  • reload:服务不中断,适合修改配置文件(如nginx、httpd)。

📌 版本差异:

  • RHEL/CentOS 6及以前:service 服务名 start

  • RHEL/CentOS 7及以后:systemctl start 服务名

  • 老命令也要会,生产环境可能遇到老系统。

三、日志系统

(排障核心)

1. 日志的作用

记录系统事件、服务报错、登录安全信息,是排查问题的第一手资料。

2. 常见日志位置

3. 日志轮转(logrotate)

  • 为什么需要:日志一直写会占满磁盘,logrotate自动处理。

  • 默认规则:每周轮转一次,保留4周备份,旧日志自动压缩,最多占磁盘10%,且保证15%空闲空间。

bash # 查看logrotate配置 cat /etc/logrotate.conf

就简单看前面几行吧

  1. journalctl查询日志(重点)

实时追踪日志

💡 实战技巧:

  • 服务启动失败时,journalctl -u 服务名 -n 50看最近50行日志,错误信息通常会直接告诉你原因。

  • 案例:修改httpd端口为8090后启动失败,日志会提示SELinux拦截,需要放行端口:

bash getenforce #查看当前SELinux状态 sudo vim /etc/httpd/conf/httpd.conf #在 vim 里找到 Listen 80,改为 Listen 8090,保存退出 sudo systemctl restart httpd #重启服务,失败 sudo journalctl -u httpd -n 50 #查看日志,抓取 SELinux 拦截的报错信息 sudo yum install policycoreutils-python-utils -y #安装 SELinux 管理工具(如果之前没装过) sudo semanage port -a -t http_port_t -p tcp 8090 # SELinux放行8090端口 sudo systemctl restart httpd #再次重启,验证服务已恢复正常 sudo semanage port -l | grep http_port_t #查看一下,确认规则已经加进去了 注意:改回配置文件 再用 vim 把 /etc/httpd/conf/httpd.conf里的 Listen 8090改回 Listen 80,保存退出 sudo semanage port -d -t http_port_t -p tcp 8090 #删除 SELinux 规则 sudo systemctl restart httpd #重启生效

这里就不一一展示了已经实操过啦!

四、时间与时钟管理

1. 查看时间与时区

bash date # 查看当前系统时间 timedatectl # 查看详细时间信息(时区、NTP同步状态等)

2. 修改时区

bash # 查看所有时区 timedatectl list-timezones # 设置为上海时区(中国都用Asia/Shanghai,不用Beijing) sudo timedatectl set-timezone Asia/Shanghai

在这里可以查看所有时区,这里就不设置别的时区了,可参照上面的命令

  1. NTP时间同步(重要)
  • 时间不一致会导致:HTTPS证书失效、远程连接(如向日葵)被拒绝、日志时间错乱。
bash # 开启自动同步 sudo timedatectl set-ntp true # 手动同步(同步后需重启服务生效) sudo systemctl restart systemd-timesyncd # 验证同步状态 timedatectl status | grep "NTP synchronized"

可以看到 NTP service: active 服务已启动,正在自动校准

⚠️ 注意:如果系统有防护策略禁止修改时间,不要强行修改,否则可能无法连接虚拟机。

五、文件归档与压缩(重点)

1. tar命令(归档≠压缩)

tar只是把多个文件打包成一个文件,不压缩体积。

常用参数:

-c:创建归档

-x:解档

-v:显示过程

-f:指定文件名

-z:用gzip压缩

-j:用bzip2压缩

-J:用xz压缩

2. 基础操作

bash # 仅归档(不压缩) tar -cvf test.tar file1.txt dir1/ # 解档 tar -xvf test.tar # gzip压缩(最常用,快,兼容性强) tar -czvf test.tar.gz file1.txt dir1/ # 解压gzip tar -xzvf test.tar.gz # bzip2压缩(中庸,基本被淘汰) tar -cjvf test.tar.bz2 file1.txt dir1/ # 解压bzip2 tar -xjvf test.tar.bz2 # xz压缩(压缩率最高,但最慢,耗CPU) tar -cJvf test.tar.xz file1.txt dir1/ # 解压xz tar -xJvf test.tar.xz

这是压缩命令,不懂的可以看help文档

  1. 三种压缩工具对比
    (记住结论)

💡 压缩等级:默认用6级(平衡速度与压缩率),9级仅用于极限压缩(慢很多)。

六、权限与安全补充

(来自课程回顾)

1. 特殊权限(了解)

suid(u+s):普通用户临时获得所有者权限(如passwd命令)。

sgid(g+s):目录下新建文件继承目录属组。

sticky bit(o+t):仅文件所有者能删自己文件(如/tmp目录)。

2. SELinux(安全增强)

即使防火墙放行,SELinux也可能拦截服务(如httpd非标准端口)。

排查思路:看日志报错 → 用semanage放行端口 → 重启服务。

七、课后实践清单

(照着敲一遍)

bash # 1. 服务管理 sudo systemctl start sshd sudo systemctl status sshd sudo systemctl enable sshd sudo systemctl reload sshd # 2. 日志查询 journalctl -u sshd -n 20 journalctl -p err -n 10 journalctl -f # 3. 时间管理 timedatectl sudo timedatectl set-timezone Asia/Shanghai sudo timedatectl set-ntp true # 4. 归档压缩(一条命令完成) tar -czvf mybackup.tar.gz ~/Documents/ tar -xzvf mybackup.tar.gz

八、小结

【一句话小结】

会用 top看负载,会用 systemctl管服务,会用 journalctl查日志,会用 tar压文件,记得开 NTP 对时间。


【三条学习建议】

多查日志:出了问题别瞎猜,先看 journalctl -xe。

少用强杀:停服务优先 reload或 kill -15,远离 kill -9。

勤加练习:tar和 systemctl的命令每天敲一遍,形成肌肉记忆。