文件系统(File System)

目录

文件系统的作用:

Windows 文件系统

MBR与GPT

Linux文件系统

分区

linux图形查看硬盘:

fdisk

格式化:

EXT2:

列出Linux 支持的文件系统

格式化Linux 分区

mkfs

mount

df 命令

系统挂载的一些限制


文件系统的作用:

  • 用于组织文件,简单点说就是用于存储数据的;
  • 硬盘不能直接存放数据,需要将硬盘格式化,指定文件系统才可以存放数据。数据存放在文件系统中的数据和机器语言一样;
  • 不同的文件系统存放文件的方式也不同,算法及优化方式也不同,所以如果一个操作系统不支持某种文件系统,则该文件系统上的数据无法被操作系统识别。

Windows 文件系统

MBR与GPT

    • MBR:单分区大小不超过2T,四个主分区,当建⽴第四个主分区的时候,会将剩下的所有空间划分成扩展分区,在扩展分区⾥⾯划出⼀部分作为逻辑分区;
    • GPT:单分区最大(18EB->18,874,368T10241024T),1024个主分区+扩展分区。

Linux文件系统

分区

    • 扩展分隔槽只有一个(操作系统的限制),但扩展分割槽可以分割出多个逻辑分割槽 (logical) ,只有主要分割与逻辑分割才能格式化;
    • 逻辑分割的数量依操作系统而不同,在Linux系统中,IDE硬盘最多有59个逻辑分割(5号到63号), SATA硬盘则有11个逻辑分割(5号到15号)。
  • linux图形查看硬盘:

点击Activitles->Show Applications->Utiltles->Disks

在Linux系统当中,SATA硬盘和SCSI硬盘都会被设备成/dev/sd{a-z},第27块为/dev/sdaa,IDE硬盘在早期被识别成/dev/hd{a-z},分区用数字表示。

[root@server ~]# ls /dev/sd*
  • fdisk

    • -l 查看当前所有磁盘的分区情况,加上磁盘则仅查看某块磁盘的分区情况。

command

meaning

d

删除一个分区

F

列出空闲的未分区空间

l

列出当前⽀持的分区种类

n

添加一个新分区

p

列出当前所有分区表

t

修改分区类型,没有实际意义

w

保存更改并退出

q

不保存更改并退出

    • 主引导记录(master boot record,MBR)和分区表(partition table)位于硬盘的第⼀物理扇区。由于历史原因,硬盘的⼀个扇区⼤⼩是512字节,包含最多446字节的启动代码、4个硬盘分区表表项(每个表项16字节,共64字节)、2个签名字节(0x55,0xAA);

    • 扇区(Sector):最小的物理储存单位,每个扇区为 512 bytes;
    • 磁柱(Cylinder):扇区组成的圆为磁柱,是分割槽(partition)的最小单位;
    • I/O设备主要有2类:
    • 字符设备:只能顺序读写设备中的内容,比如 串口设备,键盘;
    • 块设备:能够随机读写设备中的内容,比如 硬盘,U盘;
    • 块设备的最小寻址单元是扇区,一般是 512字节;
    • 扇区是物理上的最小寻址单元,而逻辑上的最小寻址单元是块;

装置文件名 启动引导块 开始分区 结束分区 扇区总数 大小 类型ID 类型

    • 由于第一个扇区是MBR,所以那一个磁道上的所有扇区都不能分配给第一个分区,第一个分区必须从第二条磁道开始分配,导致第一个分区前面有一段空闲的扇区,这些扇区不属于任何分区。

为什么磁盘分区的时候,第一个分区前面总有一段空间(63或者2048个扇区)_lengye7的博客-CSDN博客

格式化:

    • 分区进行格式化之后,会将磁盘的读和写的粒度放大;
    • 格式化时会立刻分配一部分空间作为inode节点空间,剩下的空间用作划分block;
    • block包含了多个扇区,1个block等于 2^n个扇区;
    • 文件系统一开始就将 inode 与 block 规划好了,除非重新格式化(或者利用 resize2fs 等命令变更文件系统大小),否则 inode 与 block 固定后就不再变动。

EXT2:

  • Linux最传统的磁盘文件系统,使用inode为基础,每个区块群组都有独立的inode/block/superblock系统;
  • superblock:记录此 file_system 的整体信息,包括inode/block的总量、使用量、剩余量, 以及文件系统的格式与相关信息等;
  • inode:
    • 如果一个文件系统的inode节点数量使用完了。也就是不能创建文件了;
    • 一个文件仅占用一个inode,每个 inode 大小均固定为 128 bytes;
    • 存放文件元数据(记录文件的权限与相关属性等)并记录此文件的数据所在的 block 号码;
  • block:
    • 记录文件的实际数据;
    • block越大对磁盘的读取效果就越好,若文件大于block的大小,则该文件会占用多个 block;
    • 每个 block 只能存放一个文件的数据。若文件小于 block ,则block 剩余容量就不再使用(造成磁盘空间的浪费);
    • block 的大小与数量在格式化完就不能够再改变了(除非重新格式化);
      • data block (数据区块):用来放置文件内容数据地方,在 Ext2 文件系统中所支持的 block 大小有 1K, 2K 及 4K 三种而已。
dumpe2fs :查询每个区段与superblock的信息

[root@www ~]# dumpe2fs [-bh] 装置文件名

选项与参数:
-b :列出保留为坏轨的部分(一般用不到吧!?)
-h :仅列出 superblock 的数据,不会列出其他的区段内容!

列出Linux 支持的文件系统

[root@www ~]# ls -l /lib/modules/$(uname -r)/kernel/fs

格式化Linux 分区

  • 磁盘只有格式化之后才能使用,不格式化是无法使用的。磁盘or磁盘的分区格式化后就变成文件系统;
  • 文件系统常见的类型有ext2、ext3、ext4(单文件大小不能超过1T)、xfs(每个文件系统最大支持8eb,单文件大小可支持16tb),还有btrfs;
  • 从centos7和rhel7开始,默认的安装文件系统就是xfs了,也提供了xfs文件系统的支持;
  • 根据文件的存储特征来衡量需要使用什么文件系统。

mkfs

  • 选项与参数:
    • -i 字节 :指定"字节 inode "的比例,也就是多少字节分配一个 inode。
    • -b 字节 :指定 block 的大小。
    • -t :指定文件系统格式,例如 ext3, ext4, vfat 等(系统有支持才会生效)。
mkfs -t ext3 /dev/sdb1 # /dev/sdb1 格式化为 ext3 文件系统
# mkfs -t ext4 == mkfs.ext4
# vfat 可以用在 Windows/Linux 共享的 U盘 闪盘

mount

  • 作用:挂载Linux 文件系统

mount -t fstype 分区路径 挂载点路径。
# 原生的Linux文件系统,Linux可自动识别文件系统,可不加-t参数来指定文件系统的类型。如ext系列,xfs。

df 命令

  • -T 显示文件系统的类型(type);
  • -h 将文件系统的大小转换成humen易懂的格式;
  • -i 查看支持的inodes节点的数量;
  • -H 将文件系统的大小转换成humen易懂的格式。

系统挂载的一些限制

  • 根目录 / 是必须挂载的,而且一定要先于其它 mount point 被挂载进来;
  • 其它 mount point 必须为已创建的目录,可任意指定,但一定要遵守必须的系统目录架构原则,并且所有 mount point 和partition在同一时间之内,只能挂载一次;
  • 如若进行卸除﹐必须先将工作目录移到 mount point(及其子目录) 之外。
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值