当前位置: 首页 > news >正文

红帽 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的命令每天敲一遍,形成肌肉记忆。

http://www.jsqmd.com/news/1096933/

相关文章:

  • 从跑分到洞察:CPU性能评估工具全解析与实战指南
  • Yahoo Finance API:.NET开发者的金融数据革命性解决方案
  • 从编译产物到智能索引:详解gen_compile_commands.py生成compile_commands.json的实战路径
  • 从理论到实践:积极心理学与情绪智慧如何赋能研究生科研与生活
  • 深度解析Untrunc:开源视频修复工具的技术实现与实战应用
  • Python量化交易数据获取的终极解决方案:efinance免费金融数据库完全指南
  • AI智能审核技术架构解析:规则引擎与大模型协同的双重拦截
  • MCP 会取代 API 吗?普通开发者应该怎么理解它?
  • 20美元革命性突破:打造你的专属超声波定向音响系统
  • 深圳亚马逊卖家做GEO,哪家能提升站外AI流量?
  • STM32F407硬件SPI驱动GD25Q32闪存,从接线到读写数据的保姆级教程
  • 通用大模型 vs 行业垂类 vs 自建小模型:差 3 个点,和差23 个点
  • 深度学习图模型的优势、学习与深度学习方法(九十二)
  • 从Latte到StreamingT2V:一文看懂开源视频生成模型的“时空注意力”到底怎么玩的
  • 前端实现打包后自动上传代码到服务器
  • 开源AIOps革命:Keep平台如何重塑企业级智能运维架构
  • Typora 1.8.2 保姆级配置指南:从图片管理到自动保存,一次搞定所有隐藏设置
  • 专业网盘直链下载工具LinkSwift深度解析与实战配置指南
  • Zotero插件生态与高效文献管理实战:从基础配置到进阶工作流
  • 从MicroLogix升级到Micro800?手把手教你用CCW 22.0搞定PCCC通信迁移
  • 3步搞定!在Windows上轻松安装Android应用的终极方案
  • 从理论到实践:基于切比雪夫原型的宽带低通匹配网络设计全解析
  • 电价上涨、芯片交期30周:AI算力狂欢下,制造业的“成本焦虑”何解?
  • JDK系列01:Java环境搭建与JDK版本区别,JDK8/11/17安装、环境变量配置全教程
  • 考虑网络安全职业?这些就业趋势告诉你答案
  • C语言实战:cJSON库在嵌入式网络通信中的配置数据封装与解析
  • 【MATLAB】异构无人机集群协同飞行控制仿真
  • [CrackMe]Chafe.1.exe的逆向分析与算法还原实战
  • Attu在Mac M芯片上提示“已损坏“?一文解决安装与兼容性问题
  • 在Windows程序启动前就动手:用TLS回调函数实现DLL加载监控(附完整C++代码)