记录每日所学
一、深入了解linux文件系统
1、linux操作系统的文件权限(rwx)和文件属性(属主,属组,文件大小,时间戳等),文件系统通常会将这两部分分别存放在inode和block中。
- block:用来存放真正的数据内容的,文件存储在硬盘上的,硬盘的最小存储单位叫扇区,每个扇区可存储512字节,操作系统读取数据时不会一个个扇区地读取,而是一次性连续读取多个扇区,即一次性读取一个块(block),这种由多个扇区组成的块是文件存取的最小单位,块的大小,常见的是4KB,即连续八个扇区组成一个block
- inode:用来存储文件的元信息,所谓的元信息是指该数据的一些属性,特性可以有文件的权限,属主,属组,文件的大小,时间戳等,用来存放这些文件元信息的区域叫inode,中文译名为“索引点”,也叫i节点。因此,一个文件必须占用一个inode,但至少占用一个block
inode包含很多的文件元信息,但不包含文件名,例如:
- 文件的字节数
- 文件拥有者的userid
- 文件的groupid
- 文件的时间戳
- …
使用stat命令查看某个文件的inode信息
linux系统文件主要有三个时间属性,分别是: - ctime(change time):最后一次改变文件或目录(属性)的时间,例如执行chmod、chown等命令
- atime(access time):最后一次访问文件或目录的时间
- mtime(modify time):最后一次修改文件或目录(内容)的时间
inode的号码:
表面上,用户是通过文件名来打开文件的,实际上,在系统的内部分为三步:
- 系统找到这个文件对应的inode号码
- 通过inode号码,获取inode信息
- 根据inode信息,找到文件数据所在的block,读出数据
使用ls -i可以直接产看到文件名对应的inode号码,而stat命令则是通过查看文件inode信息看到inode号码
inode的大小
inode也会消耗硬盘的空间,每个inode的大小,一般是128或256字节,inode的总数,在格式化时就给定,无法修改。
使用df -i 即可查看每个硬盘分区的inode总数和已经使用的数量
二、恢复误删除的文件
1、extundelete工具仅可以恢复ext类型的文件,无法恢复centos7系统默认的xfs
2、extundelete需要额外安装,而fsdump默认系统自带
3、xfsdump使用时必须是root账户才行
4、xfsdump不支持没有挂载的文件系统备份,只能备份已挂载的
5、xfsdump透过文件系统的uuid来分辨备份档的,因此不能备份两个具有相同的uuid的文件系统
extundelete实验:
xfsdump实验:
三、分析日志文件
日志文件的分类:
- 内核及系统日志:有系统服务rsyslog统一进行管理,日志格式基本相似
- 用户日志:记录系统用户登录及退出的相关信息
- 程序日志:又各种应用程序独立管理的日志文件,记录格式不统一
日志保存位置:
- 默认位于:/var/log目录下
- 主要日志文件介绍:
- /var/log/messages:记录内核消息及各种应用程序的公共日志消息
- /var/log/cron:记录crond计划任务产生的事件信息
- /var/log/dmesg:记录系统引导过程中的各类事件信息
- /var/log/maillog:记录进入或出系统的电子邮件活动
- /var/log/lastlog:记录每个用户最近的登录事件
- /var/log/secure:记录用户认证的相关安全事件信息
- /var/log/wtmp:记录每个用户登录、注销及系统启动和停机事件
- /var/log/btmp:记录失败的、错误的登录尝试及验证事件
linux系统中根据日志消息的重要程度不同,分为不同的优先级别(数字等级越小,优先级越高,消息越重要)
- 0(emerg)紧急:会导致主机系统不可用的情况
- 1(alert)警告:必须马上采取措施解决的问题
- 2(crit)严重:比较严重的情况
- 3(err)错误:运行出现错误
- 4(warning)提醒:可能影响系统功能,需要提醒用户的重要事件
- 5(notice)注意:不会影响正常功能,但是需要注意的事件
- 6(info)信息:一般信息
- 7(bebug)调试:程序或系统调试信息等