目录
一、block的作用:用来存真正的数据内容的
我们每个扇区(sector)的大小规定是512B,系统在读取硬盘数据时,并不会一个个扇区去读,而是一次性连续读取多个扇区,
即一次性读取一个块(block),这种由多个扇区组成的块,是文件存取的最小单位,块的大小,最常见的是4kb,即连续8个
sector组成一个block
二、inode的作用:用来存数据的元信息的,所谓元信息指的就是该数据的一些属性特征
那我们的inode可以记录的信息有哪些呢?可以是文件权限(rwx)的记录,文件的属主、属组、文件大小、时间戳等。
这种存储文件无信息的区域就叫做inode,中文译名为“牵引节点”,也叫i节点,因此,一个文件必须占用一个inode,但至少占用一个block
注:inode中并不包括文件名,其实文件名是存放在目录当中的,Linux系统中一切皆文件,因此目录也是一种文件,即查看目录中的文件,
cd转目录后通过ls列目录可以查看文件名,而我们每个inode都有一个号码,系统用inode号码识别不同的文件,系统内部不使用文件名,
而使用inode号码来识别文件
三、Linux系统文件三个主要的时间属性
1、ime(change time)
- 最后一次改变文件或目录(属性)的时间
2、atime(access time)
- 最后一次访问文件或目录的时间
3、mtime(modify time)
- 最后一次修改文件或目录(内容)的时间
四、inode号码
用户通过文件名打开文件时,系统内部的过程
1、系统找到这个文件名对应的inode号码
2、通过inode号码,获取inode信息
3、根据inode信息,找到文件数据所在的block,读出数据
查看文件的inode大小:ls -i a.txt
查看详细信息:stat a.txt
五、inode的大小
1、inode也会消耗硬盘空间
每个inode的大小一般是128字节或256字节
2、格式化文件系统时确定inode的总数
3、使用df –i命令可以查看每个硬盘分区的inode总数和已经使用的数量
六、inode的特殊作用
由于inode号码与文件名分离,导致一些Unix/Linux系统具有以下的现象
1、 当文件名包括特殊字符,可能无法正常删除文件,直接删除inode,也可以删除文件
2、 移动或重命名文件时,只改变文件名,不影响inode号码
3、 打开一个文件后,系统通过inode号码来识别该文件不在考虑该文件名
七、删除乱码文件
方法一:
[root@server1 ~]# touch a.txt
[root@server1 ~]# ls -I a.txt
1543511 a.txt
[root@server1 ~]# find . –inum 1543511 –exec rm –i {} \;
这条命令的意思是find找到的内容作为后面rm删除的对象,语法结构分析:
-exec参数后面跟的是命令,它的终止是以;为结束标志的,{}代表前面find找出来的文件名,\代表换行的是立即执行的意思
方法二:
[root@server1 ~]# find . –inum 1543511 | xargs rm -f
Xargs这个参数就是强力的意思,如果前面的输出结果包含空格或制表符也会被强力执行
八、恢复XFS类型的文件
1、extundelete工具仅可以恢复EXT类型文件,无法恢复CentOS7系统默认采用xfs类型的文件,针对xfs文件系统目前也
没有比肩成熟的文件恢复工具,提前做好数据备份,以防数据丢失
2、xfs类型的文件可使用xfsdump与xfsrestore工具进行备份恢复,若系统总未安装xfsdump与xfsrestore工具,可以通过
yum -y install xfsdump命令安装,xfsdump按照inode顺序备份一个xfs文件系统,xfsdump的备份级别有两种:0表示完全备份,
1-9表示增量备份。Xfsdump的备份默认为0,xfsdump的命令常用的参数包括以下几种
-f 指定备份文件或目录
-L 指定标签session label
-M 指定设备标签media label
-s 备份单个文件,-s后不能直接跟路径
xfsdump恢复工具实验步骤:
1、初始化磁盘(分区、格式化及挂载)
[root@server1 ~]# fdisk /dev/sdb
[root@server1 ~]# mkdir /data
[root@server1 ~]# mount /dev/sdb1 /data
2、准备测试文件
[root@server1 ~]# cd /data
[root@server1 data]# touch a
[root@server1 data]# touch b
[root@server1 data]# touch c
[root@server1 data]# touch d
3、使用xfsdump命令备份整个分区
[root@server1 data]# xfsdump -f /opt/dump.sdb1 /dev/sdb1
→dump.sdb1 指定备份会话标签,自己设的
→sdb1 指定设备标签,自己设的
xfsdump -I 查看备份信息与内容
使用xfsdump时,需要注意以下的几个限制:
xfsdump不支持有挂载的文件系统备份,所以只能备份已挂载
xfsdump必须使用root的权限才能操作
xfsdump只能备份XFS文件系统
xfsdump备份下来的数据只能用xfsrestore解析
xfsdump是透过文件系统的UUID来分辨各个备份档的,因此不能备份两个具 有相同的UUID的文件系统
4、删除之前创建的内容
[root@server1 data]# rm -fr *
5、恢复文件
[root@server1 ~]# xfsrestore -f /opt/dump_sdb1 /data
extundelete恢复工具实验步骤:(在CentOS6系统中做)
1、初始化磁盘(分区、格式化及挂载)
[root@server1 ~]# fdisk /dev/sda sdb
[root@server1 ~]# mkfs.ext4 /dev/sdb1
[root@server1 ~]# mkdir /data
[root@server1 ~]# mount /dev/sdb1 /data
2、安装环境
[root@server1 ~]# yum -y install gcc gcc-c++ make e2fsprogs-libs e2fsprogs-devel
3、导入数据包
4、解压数据包
[root@server1 ~]# tar jxvf extundelete-0.2.4.tar.bz2
[root@server1 ~]# cd extundelete-0.2.4
[root@server1 extundelete-0.2.4]# ./configure
[root@server1 extundelete-0.2.4]# make && make install
5、在/data下创建文件,备份并删除/data下部分文件
[root@server1 extundelete-0.2.4]# cd /data
[root@server1 data]# extundelete /dev/sdb1
6、恢复文件,要先卸载挂载点,空文件或空目录备份不了
[root@server1 ~]# umount /data
xfsdump和extundelete区别:
1、extundelete需要额外去安装,而xfsdump默认系统自带
2、extundelete恢复时需要解挂载,而xfsdump需要挂载点在线时使用
3、xfsdump使用时必须是root账户才能用
4、extundelate只能恢复ext4的文件系统格式(必须是CentOS6系统),xfsdump只能恢复xfs的文件系统格式(CentOS7中默认是xfs文件系统格式)、
九、日志文件
日志的功能
1、用于记录系统、程序运行中发生的各种事件
2、通过阅读日志,有助于诊断和解读系统故障
日志文件的分类
1、内核级系统日志
2、用户日志
3、程序日志
十、日志保存位置
默认位于/var/log目录下
主要日志文件介绍
内核及公共信息日志:/var/log/messages
计划任务日志:/var/log/cron
系统引导日志:/var/log/dmesg
邮件系统日志:/var/log/maillog
记录每个用户靠近的登录事件:/var/log/lastlog
记录用户认证相关的安全事件消息:/var/log/secure
记录每个用户登录、注销及系统启动和停机消息:/var/log/wtmp
记录失败的,错误的登录尝试及验证事件:/var/log/btmp
十一、日志消息的级别
查询用户登录失败的用户记录
last:查看成功登录到系统的用户记录
lastb:查看登录失败的用户记录