文件系统
文件系统是一种用于组织和管理磁盘上文件的方法,用于在磁盘或其他存储介质上存储和检索文件。不同的操作系统和存储介质可以使用不同的文件系统,例如在 Windows 系统中使用 NTFS
、FAT32
文件系统,在 Linux 系统中使用ext2
、ext3
、 ext4
、XFS
等文件系统。
查看各分区的文件系统
lsblk -f
blkid
格式化磁盘分区
当我们对一个磁盘分区后,需要对分区进行格式化后才能使用。格式化实质上就是在分区上创建文件系统。
我们可以使用 “mkfs
系列命令” 对分区进行格式化,比如:mkfs.ext2
、mkfs.ext3
、mkfs.ext4
、mkfs.xfs
等命令。
# 将 /dev/sdb1 分区格式化成 xfs 格式的 mkfs.xfs /dev/sdb1
# 将 /dev/sdb2 分区格式化成 ext4 格式的 mkfs.ext4 /dev/sdb2
挂载
在 Windows
中分区格式化后就可以使用,但是在 Linux
系统中必须将分区挂载到具体的路径下才可以。就像现实中,我们在一块空地上盖了个仓库,这个仓库没有道路与之连接,我们也就无法使用它。挂载就相当于将该仓库连接到我们的道路上,这个连接点就是我们所说的挂载点。
通俗来说就是:挂载是将一个存储设备挂到一个已经存在的文件夹,访问该文件夹,就是访问存储设备的入口。
挂载的时候,如果用来挂载的目录里面并不是空的,那么挂载了文件系统之后,原目录下的东西就会暂时的消失。并不是被覆盖掉,而是暂时的隐藏了起来,等到新分割槽被卸除之后,则原目录原本的内容就会再次出来。
挂载命令
查看挂载信息:
# 查看机器上的所有挂载信息 mount mount -l
# df命令是查看文件系统使用情况的命令,也可以显示挂载相关的信息 df # 查看某个分区的挂载信息 df /dev/sda1 df -h /dev/sda1
挂载磁盘:
mount [参数] 存储设备/分区 挂载点目录
-t 类型:执行设备的文件系统类型,不指定的话会自动处理文件系统类型
-o :添加挂载选项
ro:只读
noexec:挂载点内的内容不可执行
# 将 /dev/sdb1 挂载到/xxxx目录 mount /dev/sdb1 /xxxx
只读挂载:
使用只读挂载后,不能往设备中写入数据
mount -o ro /dev/sdb1 /xxxx
不可执行挂载:
可以禁止设备中的文件被执行,即使有可执行权限,它也不能被执行。
mount -o noexec /dev/sdb1 /xxxx
挂载镜像:
# 挂载镜像文件 mount -o loop ISO镜像文件 挂载点目录
自动挂载:
如果需要在系统每次启动时都自动挂载磁盘,可以将其添加到 /etc/fstab
文件中。它是Linux
操作系统中用于自动挂载文件系统的配置文件。该文件包含了系统在引导时要自动挂载的文件系统的详细信息。
vim /etc/fstab
它一般有6列,各列配置的意义是这样的:
Device | Mount point | ilesystem | parameters | dump | pass |
设备的Label或者UUID | 挂载点 | 文件系统 | 文件系统的参数 | 能否被dump命令作用 | 是否检验扇区 |
# 例子 /dev/sdb1 /mnt/mydisk ext4 defaults 0 2 UUID=9e413ef5-7c11-4262-a962-bc2676eb0be6 /xxxx ext4 defaults 0 1
各列说明:
Device:设备的Label或者UUID,不过推荐使用UUID。因为使用设备名称(/dev/sda)来挂载分区时是被固定死的,一旦磁盘的插槽顺序发生了变化,就会出现名称不对应的问题。因为这个名称是会改变的。每个分区被格式化以后都会有一个UUID作为唯一的标识号,因此使用 uuid 挂载的话就不用担心会发生错乱的问题。使用blkid 命令可以查看设备的Label和UUID。
Mount point:设备的挂载点,就是要将设备挂载到哪个目录下。
filesystem:磁盘文件系统的格式,比如:nfs、ext2、ext3、 ext4、XFS 等。
parameters:文件系统的参数配置。
参数 | 意义 |
---|---|
Async/sync | 设置是否为同步方式运行,默认为async |
auto/noauto | 当下载mount -a 的命令时,此文件系统是否被主动挂载。默认为auto |
rw/ro | 是否以以只读或者读写模式挂载 |
exec/noexec | 限制此文件系统内是否能够进行"执行"的操作 |
user/nouser | 是否允许用户使用mount命令挂载 |
suid/nosuid | 是否允许SUID的存在 |
Usrquota | 启动文件系统支持磁盘配额模式 |
Grpquota | 启动文件系统对群组磁盘配额模式的支持 |
Defaults | 同时具有rw,suid,dev,exec,auto,nouser,async等默认参数的设置 |
dump:用于备份文件系统的dump工具是否需要备份此文件系统。通常情况下,这个值可以设置为0或1。如果这个值为0,dump程序将不会备份此文件系统。
pass:此项指定开机时候,文件系统检查工具fsck应该检查文件系统的顺序。
参数值 | 意义 |
---|---|
0 | 不要检验 |
1 | 最早检验(一般根目录会选择) |
2 | 1级别检验完成之后进行检验 |
当修改完该配置后,可以重启系统或者使用 mount -a
命令让刚刚修改的配置生效。
卸载(取消挂载):
当设备没被使用的时候,可以取消挂载
# 语法 umount 存储设备位置 umount 挂载点目录
# 根据挂载点取消挂载 umount /xxxx # 根据设备取消挂载 umount /dev/sdb1
附:其它命令
# 显示文件夹的大小 du /home du -h /home du -s /home