深入理解Linux文件系统(一)
admin
2023-03-12 09:22:10
0

inode和block概述

  • 文件数据包括元信息与实际数据
  • 文件存储在硬盘上,硬盘最小储存单位是 “扇区”,每个扇区储存512字节。
  • block(块)
    中文译名为“索引节点”,也叫i节点
    用于存储文件元信息
    深入理解Linux文件系统(一)

1、inode的内容

inode 包含很多的文件元信息,但不包含文件名,例如
文件的字节数
文件拥有着的UserID
文件的GropuID
文件的读、写、执行权限
文件的时间戳
目录文件的结构
目录也是一种文件
目录文件的结构
每一个inode都有一个号码,操作系统用inode号码来识别不同的文件
Linux系统内部不使用文件名,而是用inode号码来识别文件
对于用户来说,文件只是inode号码便于识别的别称
inode号码
(1)、系统找到这个文件名对应的inode号码
(2)、通过inode号码获取inode信息
(3)、根据inode信息,找到文件数据所在的block,读出数据
inode的大小
inode也会消耗硬盘空间,每个inode的大小,一般是128字节或256字节
格式化文件系统时确定inode总数
使用df-i可以查看每个硬盘分区的inode总数和已经使用的数量

实际操作
1、我们在opt里输入mkdir abc创建一个空目录,输入 touch aaa.txt再abc目录里里创建一个空文件,可以通过ls -i 查看文件的inode节点号
深入理解Linux文件系统(一)
2、也可stat aaa.txt查看详细情况
深入理解Linux文件系统(一)
3、把aaa.txt创建成链接文件,输入ln aaa.txt a01.txt,再输入ls -i 查看inode号可以看到相同,但是名字都相同。
深入理解Linux文件系统(一)
3、我们输入stat aaa.txt可以看到aaa.txt硬链接有2个。
深入理解Linux文件系统(一)
4、用file aaa.txt可以查看文本类型。
深入理解Linux文件系统(一)
5、也可以用ls -i查看文本类型(开头是d的为目录)。
深入理解Linux文件系统(一)
6、inode节点可以用df -i 查看。
深入理解Linux文件系统(一)

硬链接与软链接

在Linux下面的链接文件有两种,一种类似于Windows的快捷方式文件,可以快速连接到目标文件或目录;另一种则是通过文件系统的inode链接来产生的新文件名,而不是产生新文件,这种称之为硬链接。
1、硬链接
一般情况下,文件名和inode号码是一一对应关系,每个indoe号码对应一个文件名。

由于硬链接的元数据与源文件的完全一致(就是同一条元数据),所以有了它的一系列特性。

1,不能跨文件系统;

2,有相同的iNode和data block;

3,硬链接只能对已经存在的文件进行创建;

4,不能针对目录文件进行创建,Linux文件系统在设计时对目录默认创建了两个硬链接, . .. 如果再支持目录创建硬链接的话会生成目录环可能会造成死锁(笔者一家之言);

5,删除文件时,必须删除所有的硬链接才能真正释放data block.
软链接
软链接就是再创建一个独立的文件,而这个文件会让数据的读取指向它连接的那个文件的文件名。
1、 软连接有自己的元数据,所以可以对其进行权限控制(作用于原文件)

2、 可跨越文件系统(包括网络)创建软连接

3、可对不存在的文件和目录创建(打破不能链接目录的限制)

4、 创建软连接,源文件链接数不增加

5、 删除软连接时不影响源文件

恢复误删除的文件

我们删除一个文件,实际上并不清楚inode节点和block的数据,只是在这个文件的父目录里面的block文件,删除这个文件的名字。Linux是通过Link的数量来控制文件删除,只有当一个文件不存在任何Link的时候,这个文件才会被删除。
·
1、需要使用在开始操作之前我们需要安装实验所需要的软件包,我们的光驱挂载在/mnt/里,开始安装所需要的软件,
深入理解Linux文件系统(一)

在安装第二个包之前要安装libcom。
深入理解Linux文件系统(一)
2、现在要把工具包进行编译安装,在编译之前输入smbclient -L //192.168.10.10/
看看共享出来的文件名是什么。
深入理解Linux文件系统(一)
3、知道文件名之后就开始进行编译安装
创建mkdir /aaa,输入mount.cifs //192.168.10.10./CAA/aaa ,就可以看到/aaa里就有里extundelete这个包
深入理解Linux文件系统(一)

4、对这个压缩包进行解压输入tar jxvf extundelete-0.2.4.tar.bz2 -C /opt/
深入理解Linux文件系统(一)
5、进入深入理解Linux文件系统(一)extundelete-0.2.4./中,可以看到configure。
深入理解Linux文件系统(一)
6、配置之前要安装环境,输入yum install gcc gcc-c++ -y。
深入理解Linux文件系统(一)
7、./configure 直接进行执行。
深入理解Linux文件系统(一)
8、输入make install 进行安装。
深入理解Linux文件系统(一)
9、接下来将添加的磁盘进行分区和格式化。
深入理解Linux文件系统(一)
深入理解Linux文件系统(一)
10、进行挂载,mkdir /data 输入mount /dev/sdb1 /data,然后进入data里查看。
深入理解Linux文件系统(一)
11、在data里写入三个文件。
深入理解Linux文件系统(一)
12、模拟删除文件,rm -rf b,b的文件就被删除了
深入理解Linux文件系统(一)
13、这时候我们就可以恢复了,在这之前要先解挂载。
深入理解Linux文件系统(一)
14、接下来输入extundelete /dev/sdb1 --restore all,来恢复删除的所有文件,如果误删了文件之后,要立马将设备解挂载,要不然新的文件将你的inode号占用就无法恢复了。
深入理解Linux文件系统(一)
15、输入cd RECOVERD_FILES/就可以看到恢复的文件。
深入理解Linux文件系统(一)

恢复LINUX中XFS类型的文件

xfsdump命令
格式:xfsdump -f 备份存放位置 要备份的路径或设备文件
常用选项:
-f:指定备份文件位置
-L:指定会话标签(免交互)
-M:指定设备标签(免交互)
-s:备份指定的文件
xfsrestore命令
格式:xfsrestore -f 恢复文件的位置 存放恢复后文件的位置
-f:指定备份文件位置
-s:恢复指定文件恢复
-t:查看文件的内容及详细信息
1、首先添加一块磁盘,然后对其进行配置,格式化为xfs格式,然后挂载到新建的目录/data里。
深入理解Linux文件系统(一)
2、复制passwd文件到“/data/”目录下,然后在“/data/”目录里新建一个“test”目录,并在目录里创建一个空文件。
深入理解Linux文件系统(一)
3、返回到data目录下,然后将sdb1里的分区备份到/opt/里,命名为"xfs_dump"。
深入理解Linux文件系统(一)
4、删除/data/里的内容,模拟删除。
深入理解Linux文件系统(一)
5、删除完之后现在我们开始恢复。
深入理解Linux文件系统(一)
6、输入ls查看你/data/里文件是否恢复回来。
深入理解Linux文件系统(一)
xfsdump使用限制:

1、只能备份已挂载的文件系
2、必须使用root的权限才能操作
3、 只能备份XFS文件系统
4、备份后的数据只能让xfsrestore解析
5、 不能备份两个具有相同UUID的文件系统

相关内容

热门资讯

终于懂了“人海炸/金/花有挂吗... 网上科普关于“人海炸/金/花有没有挂”话题很是火热,小编也是针对人海炸/金/花作*弊开挂的方法以及开...
【第一财经】“熊猫牛牛到底有挂... 网上科普关于“熊猫牛牛有没有挂”话题很是火热,小编也是针对熊猫牛牛作*弊开挂的方法以及开挂对应的知识...
终于了解“越记乡游真的有挂吗?... 终于了解“越记乡游真的有挂吗?”(确实真的有挂)您好,越记乡游这个游戏其实有挂的,确实是有挂的,需要...
终于了解“青松游戏怎么开挂?”... 有 亲,根据资深记者爆料青松游戏是可以开挂的,确实有挂(咨询软件无需打开...
最新引进“福建天天开心怎么开挂... 您好:福建天天开心这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9752949】很多玩家在这款...
终于了解“灯塔麻将辅助器?”(... 网上科普关于“灯塔麻将有没有挂”话题很是火热,小编也是针对灯塔麻将作*弊开挂的方法以及开挂对应的知识...
【第一消息】“新全游开挂神器?... 【第一消息】“新全游开挂神器?”(其实是有挂)您好,新全游这个游戏其实有挂的,确实是有挂的,需要了解...
【今日要闻】“中至南昌麻将究竟... 有 亲,根据资深记者爆料中至南昌麻将是可以开挂的,确实有挂(咨询软件无需...
【第一财经】“卡农牛牛有没有挂... 【第一财经】“卡农牛牛有没有挂?”(详细开挂教程)您好,卡农牛牛这个游戏其实有挂的,确实是有挂的,需...
“侨青聚力·科创赋能”企业沙龙... 侨青聚力·科创赋能 12月24日上午,湖北省侨联青委会主办的湖北省科创企业&侨联精准对接沙龙,在武汉...