本章主要介绍文件系统的管理
- 了解什么是文件系统
- 对分区进行格式化的操作
- 挂载分区
- 查找文件
- 在Windows系统中,买了一块新的硬盘加到电脑后,需要对分区进行格式化才能使用,Linux系统中也是一样,首先我们需要了解什么是文件系统
1.1 了解文件系统
分区很复杂,但是为了好理解不妨先简化介绍。首先来看图,记住这是一个分区

当对一个分区格式化时,分区被分成两部分
(1)右侧部分被划分成很多小格子,每个小格子称为block,默认大小为4KB
(2)左侧部分为inode,用于记录文件的属性,每个文件都会占用一个 inode
每个block中只能存储一个文件,假设一个文件aa只有 1KB存放在2号block中,则2号block还剩余3KB的空间,但 是这3KB的空间也不会存储其他数据了。所以,此文件大 小为1KB,占用空间为4KB
如果一个文件的值大于4KB,一个block存放不下,则会占用多个 block。例如,某文件 大小为9KB,则需要占用3个block
Windows 中常见的文件系统包括FAT、NTFS等,Linux中常见的 文件系统包括EXT3、EXT4、XFS等。这些不同的文件系统具有不同的功能,包括所支持的单 个文件最大能有多大,整个文件系统最大能有多大,RHEL8/CentOS8中默认的文件系统是 XFS
1.2 了解硬链接
前面讲了inode记录的是某文件的属性信息

10号 inode记录了aa文件的属性,包括aa文件的名称、大小、权限等,及其所在的 block,可以在10号inode中给aa文件再起一个名称bb

此时对10号inode来说,用两个名称aa和 bb来记录2号block中的文件,所以 aa和 bb对 应的是同一个文件,那么aa和 bb就是硬链接关系
练习:先拷贝一个测试文件
[root@Hal55 ~]# cp /etc/hosts aa
[root@Hal55 ~]# ll aa
-rw-r--r--. 1 root root 158 12月 6 10:59 aa
此处的加粗字1,指的是aa文件只有一个硬链接,即存储在 block中的文件只有一个名称 aa。下面对aa做硬链接
[root@Hal55 ~]# ln aa bb
查看aa和bb的属性
[root@Hal55 ~]# ln aa bb
[root@Hal55 ~]# ll aa bb
-rw-r--r--. 2 root root 158 12月 6 10:59 aa
-rw-r--r--. 2 root root 158 12月 6 10:59 bb
[root@Hal55 ~]#
硬链接数显示为2,说明存储在 block中的那个文件有两个名称aa和 bb。aa和 bb是在同 一个inode上记录的两个名称,通过ls -i可以查看aa和 bb分别是在哪个inode上记录的
[root@Hal55 ~]# ls -i aa ; ls -i bb
135702282 aa
135702282 bb
[root@Hal55 ~]#
可以看到, inode值是--样的。即在同-个inode上用两个名称来记录 block中的那个文 件。换言之就是aa和bb对应的是同一个文件,修改aa之后会发现.bb的内容也做了相同的修 改,修改协之后会发现aa也做了相应的修改
因为block中的文件现在有两个名称,所以删除任意一个之后,block中的数据是不会跟 着删除的。所以,删除aa是不会影响bb的,或者删除bb也不会影响aa。但是aa和bb两个同 时删除,则block中的文件就没有名称了,则此文件会从 block中删除
block中的文件只要还有一个名称,那么数据就不会删除。如果所有名称都没有了,则此 数据会从 block中删除
同一个分区的inode只能记录同一个分区 block中的数据,不能在第二个分区中产生一个 inode来记录第一个分区中的文件,所以硬链接不能跨分区
1.3 创建文件系统
再看看前面已经在/dev/sdb 上创建过的分区
[root@Hal55 ~]# fdisk -l /dev/sdb
Disk /dev/sdb:100 GiB,107374182400 字节,209715200 个扇区
单元:扇区 / 1 * 512 = 512 字节
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0x89bcc325
设备 启动 起点 末尾 扇区 大小 Id 类型
/dev/sdb1 2048 4196351 4194304 2G 83 Linux
/dev/sdb2 4196352 8390655 4194304 2G 82 Linux swap / Solaris
/dev/sdb4 8390656 209715199 201324544 96G 5 扩展
/dev/sdb5 8392704 29364223 20971520 10G 8e Linux LVM
/dev/sdb6 29366272 209715199 180348928 86G 83 Linux
2.下面对分区进行格式化
1. mkfs ‐f 文件系统 ‐选项 /dev/分区
2. 或
3. mkfs.文件系统 ‐选项 /dev/分区
练习:把/dev/sdb1格式化为XFS文件系统
[root@Hal55 ~]# mkfs.xfs /dev/sdb1
meta-data=/dev/sdb1 isize=512 agcount=4, agsize=131072 blks
= sectsz=512 attr=2, projid32bit=1
=

1万+

被折叠的 条评论
为什么被折叠?



