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

[Linux入门] Linux 文件系统与日志分析入门指南

目录

一、深入理解 Linux 文件系统

1️⃣存储的基本单位:扇区与块

2️⃣文件的 "身份证":inode(索引节点)

3️⃣文件名与 inode 的关系

4️⃣通过 inode 删除特殊文件名的文件

二、误删文件的恢复技巧

1️⃣EXT3/EXT4 文件系统(extundelete 工具)

2️⃣XFS 文件系统(xfs_undelete 与备份恢复)

三、Linux 日志分析:系统的 "日记本"

1️⃣日志的类型与位置

2️⃣日志优先级(重要程度)

3️⃣常用日志查看命令

4️⃣用户登录日志查询

总结


一、深入理解 Linux 文件系统

Linux 文件系统的设计逻辑是高效管理数据的基础,核心在于扇区、块(block)和索引节点(inode) 三者的配合。

1️⃣存储的基本单位:扇区与块

  • 扇区:硬盘的最小存储单位,每个扇区固定为 512 字节,是硬件层面的数据存储单元。
  • 块(block):操作系统读取数据的最小单位,默认大小为 4k(即 8 个扇区)。系统一次至少读取一个块,即使文件小于 4k,也会占用一个块(剩余空间会浪费)。

2️⃣文件的 "身份证":inode(索引节点)

每个文件在 Linux 中都有两个核心部分:数据(存放在 block 中) 和属性信息(存放在 inode 中)。

  • inode 存储的信息:

    • 文件的属性(创建者、权限、大小、创建时间等);
    • 指向文件数据所在 block 的指针(类似 "目录",告诉系统数据存在哪里);
    • 注意:inode 不包含文件名,文件名存放在上级目录的 block 中。
  • inode 的特点:

    • 每个文件至少对应 1 个 inode 和 1 个 block(文件大于 4k 时会占用多个 block);
    • 同一分区中,inode 号相同的文件互为硬链接(可通过多个文件名访问同一份数据);
    • inode 在文件系统格式化时生成,总数固定,可通过df -i命令查看分区的 inode 使用情况。
  • 如何查看 inode 信息:

    • 使用stat 文件名命令,例如stat test.txt,可显示文件的 inode 号、权限、时间戳等详细信息;
    • 使用stat -L文件名命令,例如stat -L test.txt,可显示符号链接指向的目标文件信息;
    • 使用ls -i 文件名命令,直接查看文件对应的 inode 号,例如ls -i test.txt

3️⃣文件名与 inode 的关系

Linux 系统内部通过 inode 号识别文件,文件名只是用户便于记忆的 "别名"。当你访问一个文件时,系统会:

  1. 根据文件名找到对应的 inode 号;
  2. 通过 inode 号获取 inode 信息;
  3. 依据 inode 中的指针找到数据所在的 block,读取数据。

4️⃣通过 inode 删除特殊文件名的文件

当文件名包含特殊字符(如换行符、-开头)难以直接删除时,可通过 inode 号删除:

  • 方法 1(推荐):find /path/to/directory -inum inode号  -delete例如find /tmp -inum 12345 -delete
  • 方法 2:ls -i /path/to/directory | grep inode号 | awk '{print $2}' | xargs rm
删除多个具有相同inode的文件(硬链接):
  •  find /path -xdev -samefile /path/to/file -delete

二、误删文件的恢复技巧

Linux 中误删文件(如rm -rf操作)后,若未被新数据覆盖,可通过工具恢复。不同文件系统的恢复方法不同:

1️⃣EXT3/EXT4 文件系统(extundelete 工具)

适用于 EXT 类型分区,步骤如下:

  1. 立即停止操作:避免新数据写入覆盖被删文件;
  2. 卸载分区umount /挂载点(如umount /test);
  3. 恢复文件
    • 恢复单个文件:extundelete /dev/sdb1 --restore-file 文件名
    • 恢复所有文件:extundelete /dev/sdb1 --restore-all
  4. 查看结果:恢复的文件会存放在当前目录的RECOVERED_FILES文件夹中。

2️⃣XFS 文件系统(xfs_undelete 与备份恢复)

XFS 文件系统恢复难度较高,建议提前备份,常用工具:

  • xfs_undelete:恢复近期删除的文件,例如:
  • xfs_undelete -t -24hour -o /opt /dev/sdb1(恢复 24 小时内的文件到/opt目录,/dev/sdb1表示要恢复的盘符
  • xfsdump/xfsrestore(推荐备份方案):
    • 完全备份:xfsdump -f /backup/sdb1_dump /dev/sdb1
    • 恢复备份:xfsrestore -f /backup/sdb1_dump /挂载点

注意:XFS 恢复后文件名可能丢失,需通过文件大小、创建时间识别。

三、Linux 日志分析:系统的 "日记本"

日志是诊断系统问题、追踪安全事件的关键。Linux 日志主要存放在/var/log/目录,按类型可分为内核日志、系统日志、用户日志和程序日志。

1️⃣日志的类型与位置

日志类型典型文件 / 目录记录内容
内核日志dmesg命令、/var/log/kern.log系统启动信息、硬件错误、内核故障
系统日志/var/log/syslog/var/log/auth.log系统事件、登录认证、服务启停
用户日志/var/log/wtmp/var/log/lastlog用户登录 / 退出记录、登录失败尝试
程序日志/var/log/apache2//var/log/mysql/                 应用程序运行状态、错误信息                 (如 Web 服务、数据库)

2️⃣日志优先级(重要程度)

Linux 日志按重要性分为 8 个级别(0 级最严重):

  • 0:EMERG(紧急,系统不可用);
  • 1:ALERT(警告,需立即处理);
  • 2:CRIT(严重错误);
  • 3:ERR(普通错误)
  • 4:WARNING(警告);
  • 5:NOTICE(注意);
  • 6:INFO(信息);
  • 7:DEBUG(调试信息)

3️⃣常用日志查看命令

  • 实时查看日志:tail -f /var/log/syslog(实时刷新新日志);
  • 搜索关键词:grep "error" /var/log/syslog(查找包含 "error" 的日志);
  • 内核日志:dmesg(查看启动信息)、dmesg -Tl err(查看错误级别日志);
  • systemd 日志:journalctl(更强大的日志管理):
    • 实时查看:journalctl -f
    • 按服务查询:journalctl -u nginx
    • 按错误级别:journalctl -p err

4️⃣用户登录日志查询

用户登录相关日志为二进制文件,需通过专用命令查看:

  • users:显示当前登录的用户名;
  • who:显示登录用户的终端、登录时间、来源 IP;
  • last:查看用户成功登录的历史记录;
  • lastb:查看登录失败的记录(如密码错误尝试)。

总结

Linux 文件系统的核心是 inode 与 block 的配合,理解它们的工作原理能帮你更好地管理文件;误删文件后,及时卸载分区并使用对应工具恢复是关键;而日志分析则是系统运维的 "火眼金睛",熟练掌握tailgrepjournalctl等命令能让你快速定位问题。


文章转载自:
http://computerlike .dxwdwl.cn
http://fcia .dxwdwl.cn
http://rhinopathy .dxwdwl.cn
http://multitask .dxwdwl.cn
http://phoneuision .dxwdwl.cn
http://thrusting .dxwdwl.cn
http://lexical .dxwdwl.cn
http://overboard .dxwdwl.cn
http://almightiness .dxwdwl.cn
http://hognose .dxwdwl.cn
http://otitis .dxwdwl.cn
http://slipway .dxwdwl.cn
http://kechua .dxwdwl.cn
http://fluff .dxwdwl.cn
http://subterfuge .dxwdwl.cn
http://expiree .dxwdwl.cn
http://chromogen .dxwdwl.cn
http://raceway .dxwdwl.cn
http://penetrating .dxwdwl.cn
http://coolibah .dxwdwl.cn
http://epaulement .dxwdwl.cn
http://filmlet .dxwdwl.cn
http://myxoneurosis .dxwdwl.cn
http://chaplain .dxwdwl.cn
http://aristocracy .dxwdwl.cn
http://hydri .dxwdwl.cn
http://yachtswoman .dxwdwl.cn
http://browny .dxwdwl.cn
http://minever .dxwdwl.cn
http://suitability .dxwdwl.cn
http://www.dtcms.com/a/294671.html

相关文章:

  • 欢迎咨询年度规划2025
  • 第二阶段-第二章—8天Python从入门到精通【itheima】-136节(Python操作MySQL的基础使用)
  • C++ 多态全解析:静态多态与动态多态详解
  • Packmol聚合物通道模型建模方法
  • OpenCV 图像预处理:颜色操作与灰度、二值化处理详解
  • 最长递增子序列(LIS)问题详解
  • 0723 单项链表
  • FreeRTOS学习笔记之调度机制
  • MySQL 8.0 OCP 1Z0-908 题目解析(34)
  • 打造你的AI助手:Sim Studio 开源工作流构建工具
  • 鸿蒙应用开发:使用Navigation组件和Tab组件实现首页tab选项卡及子页跳转功能
  • 第一次实习经历
  • Java——Spring中Bean配置核心规则:id、name、ref的用法与区别
  • freqtrade在docker运行一个dryrun实例
  • 内容梳理|新手体会大模型AI接口调用
  • EDoF-ToF: extended depth of field time-of-flight imaging解读, OE 2021
  • 《WebGL打造高性能3D粒子特效系统:从0到1的技术探秘》
  • AR维修辅助系统UI设计:虚实融合界面中的故障标注与操作引导
  • nginx.conf配置文件以及指令详解
  • 暑期自学嵌入式——Day06(C语言阶段)
  • 红松推出国内首个银发AI播客产品,首创“边听边问”交互体验
  • 5.综合案例 案例演示
  • [硬件电路-76]:无论是波长还是时间,还是能量维度来看,频率越高,越走进微观世界,微观世界的影响越大;频率越低,越走进宏观世界,微观世界的影响越小;
  • 销采一体化客户管理系统核心要点速通
  • IDEA202403 超好用设置【持续更新】
  • SAP第二季度利润大增但云业务疲软,股价承压下跌
  • 【笔记】Handy Multi-Agent Tutorial 第三章: CAMEL框架简介及实践(实践部分)
  • HCIP笔记(第一、二章)
  • 电商项目_秒杀_压测
  • 策略模式(Strategy Pattern)+ 模板方法模式(Template Method Pattern)的组合使用