方法一: ls -l filename 方法二: stat filename
操作系统中专门用于管理和存储文件的信息软件成为文件系统
一个新的磁盘,格式化文件系统后,就有了2个存储空间。
一个叫做inode存储空间,存储设备上所有文件名,对应的元数据信息(通过stat
命令查看文件的属性信息)
一个叫做block存储空间,存储设备上所有的文件的内容和数据
inode数量和block数量由磁盘的容量决定
linux文件系统存储的文件其实分为两部分【元数据】+【文件内容】
就是文件的属性信息,可以通过stat
命令查看,包括文件名、文件大小、创建信息、修改信息等
文件内容数据存放在扇区(sector),是磁盘的最小存储单位(512bytes),多个相邻的扇区就称为block块,文件系统最小的读取单位是8个扇区即block块(8*512butes=4096bytes=4KB)
文件名 > inode编号 > block
表面上,用户通过文件名,打开文件。实际上,系统内部这个过程分成三步:首先,系统找到这个文件名对应的inode号码;其次,通过inode号码,获取inode信息;最后,根据inode信息,找到文件数据所在的block,读出数据。
命令如下: ls -i filename
理解inode,要从文件储存说起。 文件储存在硬盘上,硬盘的最小存储单位叫做"扇区"(Sector)。每个扇区储存512字节(相当于0.5KB)。 操作系统读取硬盘的时候,不会一个个扇区地读取,这样效率太低,而是一次性连续读取多个扇区,即一次性读取一个"块"(block)。这种由多个扇区组成的"块",是文件存取的最小单位。"块"的大小,最常见的是4KB,即连续八个 sector组成一个 block。 文件数据都储存在"块"中,那么很显然,我们还必须找到一个地方储存文件的元信息,比如文件的创建者、文件的创建日期、文件的大小等等。这种储存文件元信息的区域就叫做inode,中文译名为"索引节点"。 每一个文件都有对应的inode,里面包含了与该文件有关的一些信息。
* 文件的字节数 * 文件拥有者的User ID * 文件的Group ID * 文件的读、写、执行权限 * 文件的时间戳,共有三个:ctime指inode上一次变动的时间,mtime指文件内容上一次变动的时间,atime指文件上一次打开的时间。 * 链接数,即有多少文件名指向这个inode * 文件数据block的位置
df -h 查看磁盘block空间的使用情况,如果看到分区快满了,可以去删除大容量的文件 df -i inode存储文件属性的 当机器上有大量的无用的小文件,空文件,白白消耗inode数量 查看磁盘分区inode空间的使用情况 如果可用的不多的,删除大量的4kb小文件即可 因为它们真用了太多的无效inode编号 df -h看到磁盘还是有空间,但是写入数据 系统提示no space for disk 虽然还有block空间可以存数据,但是inode数量已经用完
目录是一个特殊的文件,目录保存的是当前目录下的文件名字
简单说,文件夹就是方便人类记忆文件存在哪、然后通过这个文件名吗,找到对应的文件inode号
inode号里记录了文件数据所处的block位置,最终访问到数据
block是linux实际存储数据的空间,是8个连续的扇区,(8*512bytes=4KB)
单个大文件需要用多个block来存储
特别小的文件即使不满足4KB,也只能按照4KB计算。
1 block =4kb
Linux系统中的软连接可以理解为Windows下的快捷方式。
软链接文件储存的是源文件的路径。
创建软连接 ln -s参数去创建软连接 ↓ 当访问软连接文件,其实是 ↓ 访问到源文件的路径,源文件的文件名 ↓ 访问源文件的inode编号 ↓ inode找到block,访问到数据
1.软连接文件的inode号和源文件不同,作用是存储源文件的路径
2.命令ln -s创建
3.删除普通软连接,不影响源文件
4.删除源文件,软连接找不到目标,报错提示。
5.可以操作软链接完成对源文件的修改。
硬链接,就是一个数据(block)被多个相同inode号的文件指向。
ln 源文件 目标文件
1.可以对已存在的文件做硬链接,该文件的硬链接数,至少是1,为0就表示文件不存在
2.硬链接的文件,inode相同,属性一致
3.只能在同一个磁盘分区下,同一个文件系统下创建硬链接
4.不能对文件夹创建硬链接,只有文件可以
5.删除一个硬链接,不影响其他相同inode号的文件
6.文件夹的硬链接,默认是2个,以及是2+(第一层子目录总数)=文件夹的硬链接数量
7.可以用任意一个硬链接作为入口,操作文件(修改的其实是block中的数据)
8.当文件的硬链接数为0时,文件真的被删除
RAID,全称为Redundant Arrays of Independent Drives,即磁盘冗余阵列。
这是由多块独立磁盘(多为硬盘)组合的一个超大容量磁盘组。
计算机一直是在飞速的发展,更新,整体计算机硬件也得到极大的提升,由于磁盘的特性,需要持续、频繁、大量的读写操作,相比较于其他硬件设备,很容易损坏,导致数据丢失。
1、通过用硬件来实现RAID功能的就是硬RAID,独立的RAID卡,主板集成的RAID芯片都是硬RAID。
2、RAID卡就是用来实现RAID功能的板卡,通常是由I/O处理器、硬盘控制器、硬盘连接器和缓存等一系列零组件构成的。
3、不同的RAID卡支持的RAID功能不同。支持RAlD0、RAID1、RAID4、RAID5、RAID10不等。
软RAID运行于操作系统底层,将SCSI或者IDE控制器提交上来的物理磁盘,虚拟成虚拟磁盘,再提交给管理程序来进行管理。软RAID有以下特点:
占用内存空间
占用CPU资源
如果程序或者操作系统故障就无法运行
1、软件RAID额外消耗CPU资源,性能弱
2、硬件RAID更加稳定,软件RAID可能造成磁盘发热过量,造成威胁
3、兼容性问题,软件RAID依赖于操作系统,硬件RAID更胜一筹
将两个或两个以上相同型号、容量的硬盘组合,磁盘阵列的总容量便是多个硬盘的总和。
备注 条带化技术就是一种自动的将 I/O 的负载均衡到多个物理磁盘上的技术 磁盘条带化是指利用条带化技术就是将一块连续的数据分成很多小部分并把它们分别存储到不同磁盘上去。
由于raid 0的特性,数据依次写入到各个物理硬盘中,数据是分开放的,因此损坏任意一个硬盘,都会对完整的数据破坏,对于企业数据来说,肯定是不允许。
Raid 1技术,是将两块以上硬盘绑定,数据写入时,同时写入多个硬盘,因此即使有硬盘故障,也有数据备份。
RAID10是raid1+raid0的组合
RAID6特点: