目录
(3).dumpe2fs命令.dumpe2fs命令)
[🔹 1. inode 是什么?](#🔹 1. inode 是什么?)
[🔹 2. block 是什么?](#🔹 2. block 是什么?)
参考链接: 9.1 文件系统管理-回顾分区和文件系统_哔哩哔哩_bilibili
一、文件系统概述
1.分区类型

2.分区表示方法
3.分区设备名
注意即使主分区没有4个,逻辑分区的设备名也是从5开始的。
sd表示SCSI硬盘,a表示第一块硬盘,第二块就是b,1表示第一个分区。

4.文件系统
主要介绍ex4,兼容最大1EB=1024PB=1024*1024TB的文件系统,最大16TB文件。ubuntu使用的就是这个。

二、文件系统常用命令
1.df,du,dumpe2fs,mkfs命令
(1)df命令
一般的用法就不选挂载点,常用就是查看电脑磁盘总的分区情况。查看某个分区是否被挂载,或者挂载到那个地方,有多大,文件系统类型是什么。一般只用
bash
df -T -h

在ubuntu中,磁盘通常是NVMe,他与SCSI区别如下图,多了一个命名空间。

(2)du命令
这个命令常用来统计目录的大小。可以使用-s直接查看目录大小,而不查看目录下其他文件的大小。-a不仅查看当前目录,子目录,还查看当前目录下所有文件的大小。通常使用就是
bash
du -s -h

bash
du -h


注意:df 和 du 都可以查看文件大小。但是有区别,有些程序会占用文件,但是du不统计这些占用,所以有时候du查看的空闲比较大,以df为准。

(3).dumpe2fs命令
这个命令就是查看分区的详细信息。比如inode,block,uuid等。

执行这个会打印很多,我们主要关注超级块的内容,使用下面指令,一页一页显示
bash
dumpe2fs 分区 | more
对于下面的信息,我们关注
uuid:分区唯一识别号
block count: 分区中block的数量
block size: 分区中最小储存单位的大小
inode count: 分区中inode数量
inode size:每个inode的大小
free blocks:剩余空闲block的数量
🔹 1. inode 是什么?
inode (index node,索引节点) 是文件系统中的元数据结构,用来存储"文件的信息"。
每个文件都会对应一个 inode。
-
inode 里存什么:
-
文件类型(普通文件、目录、符号链接...)
-
文件大小
-
权限 (rwx)
-
所属用户/组
-
时间戳(创建、修改、访问时间)
-
指向数据块 (block) 的地址(直接块、间接块等)
-
⚠️ 注意:
inode 不存文件名,文件名存在目录项里(目录就是一个映射表:文件名 → inode 号)。
🔹 2. block 是什么?
block(数据块) 是文件内容真正存放的地方。
-
每个分区会被划分为固定大小的块(常见 1K、2K、4K)。
-
文件的数据内容就写在 block 里。
举例:
- 你有一个 6KB 的文件,如果 block 大小是 4KB,那么它会占用 2 个 block(8KB),第二个 block 里最后 2KB 是浪费的(内部碎片)。

(4).mkfs
这个是对磁盘进行格式化的指令。分区完成之后,其实还需要分成一个个block,之后才可以管理,mkfs执行的就是这个操作。
bash
mkfs -t ext4 /dev/sdb1
上述命令就是将/dev/sdb1分区格式化成ext4文件类型。有了文件类型之后,linux内核如果有这个文件类型的驱动,那么就可以对这块分区进行管理,如读写,查看分区情况等。如何管理呢?有了磁盘驱动就可以对磁盘进行读写,之后及时更改inode的内容,相当于更改磁盘状态。
2.挂载与卸载命令
(1)mount

一般[]里面的都不用管,只用写设备文件名和挂载点就可以了。文件系统的话linux系统会自动识别,识别不了的话才需要自己指定。
下面介绍-o的参数

常用的只有remount和exec。
exec表示设置可执行文件是否可以执行。如果这个设置noexec,那么即使这个文件有可执行权限,也无法执行。
remount表示重新挂载,当我相对这个分区的挂载参数进行修改的时候用到。
bash
mount -o remount,noexec /home
(2)umount

(3)一些注意事项
对于一个磁盘,我首先对磁盘进行分区。分区后是一大坨。之后对它进行格式化,格式化之后就有了文件系统。但是如果想要计算机可以使用,还需要将这个分区挂载到计算机上。而分区的挂载需要知道分区的文件类型,不同的文件类型的管理需要不同的驱动。。如果计算机上没有这个驱动,那么也就没办法对分区进行挂载,如果非要挂载,需要下载插件。
linux系统默认不支持NTFS文件系统的,所以需要下载插件。
下载地址如下

源码安装

使用

三、fdisk分区
一个全新的u盘肯定是没有分区的,我们可以用windows的磁盘管理对它分区,也可以使用linux的fdisk工具对它分区,下面主要阐述后者的方法。
将u盘插上电脑,直接执行df -h。 可以查看u盘的名称,如/dev/sdb,直接执行下面指令,开始分区。

交互指令解释如下

常用的也就是
p:查看分区列表

n:新建分区
这个选择扩展分区和主分区,为啥没有逻辑分区? 只有扩展分区建立之后,才能新建逻辑分区

建立主分区选择分区号,建议顺序执行

之后让选择分区的大小,下面就是从第一个柱面开始,大小为2G,都是第一个主分区。

扩展分区,起始柱面和结束柱面直接回车,表示剩下的全部归扩展分区

扩展分区建立之后,重新n就可以建立逻辑分区了,操作和上面一样。

w:保存退出
d:删除分区
注意:如果有的时候w保存推出报错,说明当前分区表正在被别的进程占用。此时就要重启或者执行一下

四、自动挂载
使用mount指令挂载,重启后就失效了,为了永久生效,还是要把挂载指令写到文件里面。这个配置文件就是/etc/fstab文件。

文件里面内容如下,开机就会根据这个文件内容挂载

第四个字段这个挂载参数就是mount挂载时候的挂载选项,一般defaults设置成默认就好了。
第五个字段不备份吧,不重要
第六个字段,要求一般的磁盘的挂载优先级要比根目录低。
这个文件不要写错了,写错了导致系统启动崩溃,直接进不了系统了,比较麻烦。为了解决这个问题,先别重启,执行下面的这个指令,如果报错,则写错了。
