Linux文件系统和日志分析

114 阅读3分钟

1 inode与biock

一般8个扇区组成一个块(block),一个块4kb大小,是文件存取的最小单位。

一个文件必须占用一个inodc,并且至少占用一个biock。

系统存取文件数据时 是通过 块(block)来读取的,块由连续8个扇区组成,4kb大小,块是文件存取的最小单元。

文件 存储时文件名和文件数据分开存储的

文件数据 包含元信息 和实际数据

文件名 >目录文件

元信息(除了文件名以外的文件属性) >inode

实际数据 >块(biode)

Linux系统文件三个主要的时间属性

ctime ###最后一次改变文件或目录(属性)的时间

atime ###最后一次访问文件或目录的时间

mtime ###最后一次修改文件或目录(内容)的时间

inode的号码

用户通过文件名打开文件时,系统内部的过程

  1. 系统找到这个文件名对应的inode号码
  2. 通过inode号码,获取inode信息
  3. 根据inode信息,找到文件数据所在的block,读出数据

查看inode号码的方法

ls -i命令,查看文件的inode号码

inode号码.png

stat命令,查看文件inode信息中的inode号码

inode号码1.png

df -i 可以查看硬盘分区对应的inode的总数和已占用的inode号。

总数.png

删除inode号的命令

find ./ -inum+inode号 -delete

find ./ -inum+inode号 -exec rm -f {} ;

find ./ -inum+inode号 | xargs rm -f

移动文件或修改文件名,使用echo修改文件内容,都不会改变inode号

使用 vi 编辑器 修改文件会改变inode号,因为vi编辑器是会替换原文件

2硬链接与软连接

软连接硬连接
删除源文件失效仍可用
使用范围适用于文件或目录只可用于文件
保存位置与源文件可以位于不同的文件系统中必须与源文件在同一个文件系统

3恢复误删除的文件

xfs备份和恢复.png

4.分析日志文件

日志的功能

·用于记录系统、程序运行中发生的各种事件

·通过阅读日志,有助于诊断和解决系统故障

日志文件的分类

1.内核及系统日志

·由系统服务rsyslog统一进行管理,日志格式基本相似

·主配置文件/etc/rsyslog.conf

2.用户日志

1.记录系统用户登录及退出系统的相关信息

程序日志

由各种应用程序独立管理的日志文件,记录格式不统一

日志保存位置

默认位于:/var/log目录下

主要日志文件介绍

内核及公共消息日志·/var/log/messages
计划任务日志·/var/log/cron
系统引导日志·/var/log/dmesg
邮件系统日志·/var/log/maillog
用户登录日志·/var/log/lastlog
·/var/log/wtmp
·/var/run/btmp
·/var/log/secure

内核及系统日志

格式

  • 日期时间 主机 进程[pid]: 事件内容

日志.png

  • 日志等级:
级号消息级别说明
0EMERG紧急会导致主机系统不可用的情况
1ALERT警告必须马上采取措施解决的问题
2CRIT严重比较严重的情况
3ERR错误运行出现错误
4WARNING提醒可能会影响系统功能的事件
5NOTICE注意不会影响系统但值得注意
6INFO信息一般信息
7DEBUG调试程序或系统调试信息等

系统日志 /var/log/mesages ,由rsyslog 服务来管理,主配置文件 /etc/rsyslog.cof

journalct1 可以直接查看 /var/log/mesages 日志内容

-r 倒序看,从最新的日志开始查看

-u 指定服务,用于查看某个服务

-f 可以实时跟踪日志的更新