Linux:访问文件系统

Linux:访问文件系统

一、存储设备:硬盘

1.1、硬盘的结构

1.1.1、物理结构
  • 盘片:硬盘有多个盘片,每盘片2面

  • 磁头:每面一个磁头

  • 磁头:磁头主要是通过电和磁转换,在盘面上读写信息的。

在这里插入图片描述

硬盘拆解图
1.1.2、数据结构
  • 扇面:磁盘上每一个磁道被划分成若干个弧段,每一个弧段就是一个扇区

  • 扇区:盘片被分为多个扇形区域,每个扇区存放512字节的数据,硬盘的最小存储单位

  • 磁道:当磁盘旋转时,磁头若保持在一个位置上,则每个磁头都会在磁盘表面划出一个圆形轨迹,这些圆形轨迹就叫做磁道。

  • :文件存取的最小单位,一个块通常由 8 个连续的扇区组成,大小为 4K(即4096字节)。

  • 柱面:磁盘的多个盘面中相同磁道可以构成一个圆柱,这个就是磁盘的柱面,磁盘的柱面数量等于磁道数量。

    硬盘存储容量=磁头数x磁道(柱面)数x每道扇区数x每扇区字节数(512字节)

    可以用柱面/磁头/扇区来唯一定位磁盘上每一个区域

在这里插入图片描述

在linux系统中称为块,在windows系统中称为簇

磁盘上的磁道、扇区和簇

在这里插入图片描述

磁头与柱面

1.2、磁盘接口类型

  • IDE:并口数据线连接主板与硬盘,抗干扰性太差,且排线占用空间较大,不利电脑内部散热,已逐渐被 SATA 所取代。
  • SATA:抗干扰性强,支持热插拔等功能,速度快,纠错能力强。
  • SCSI:小型机系统接口,SCSI硬盘广为工作站级个人电脑以及服务器所使用,资料传输时CPU占用率较低,转速快,支持热插拔等。
  • SAS:是新一代的SCSI技术,和SATA硬盘相同,都是采取序列式技术以获得更高的传输速度,可达到 6Gb/s。
设备类型设备名称
SATA/SAS/USB/SCSI接口设备/dev/sda /dev/sdb …
virtio-blk接口设备超虚拟化存储(部分虚拟机)/dev/vda、/dev/vdb …
NVMe附加存储(很多SSD)/dev/nvme0 /dev/nvme1…
SD/MMC/eMMC存储(SD卡)/dev/mmcblk0 /dev/mmcblk1 …
常见磁盘接口类型与设备名称

二、分区格式

2.1、MBR

 我们将包含MBR引导代码的扇区称为主引导扇区。因这一扇区中,引导代码占有绝大部分的空间。由于这一扇区承担特殊管理职能,它不属于磁盘上任何分区,因而分区空间内的格式化命令不能清除主引导记录的任何信息。

主引导记录(MBR:MasterBoot Record)组成部分:主引导程序硬盘分区表、结束标志,位于第一个硬盘的第一个扇区处。

  • 主引导程序:加载操作系统的内核。位于MBR扇区的前446字节

  • 硬盘分区表:记录硬件分区信息。由4个分区记录区组成,每个分区记录区占16字节,位于MBR扇区的第447~510字节

  • 结束标志(占2个字节),其值为AA55,存储时低位在前,高位在后,即看上去是55AA(十六进制)。

在这里插入图片描述

MBR

2.2GPT分区

 由于物理磁盘变得越来越大,基于SAN的卷甚至更大,因此针对MBR分区方案的2TB磁盘和分区大小限制已不再是理论限制,而是系统管理员在生产环境中越来越频繁遇到的实际问题,新的GUID分区表(GPT)取代传统的MBR方案用于磁盘分区。
 GPT是运行统一可扩展固件接口(UEFI)固件系统上硬盘分区表的标准。GPT分区方案最多可提供128个分区。GPT为逻辑块地址分配64位可支持最多8 泽字节(ZB),即80亿太字节的分区和磁盘。
 除解决MBR分区方案的限制以外,GPT使用全局唯一标识符 (GUID)来识别每个磁盘和分区。GPT提供分区表信息的冗余。主GPT位于磁盘头部,而备份副本(次要GPT)位于磁盘尾部。GPT使用校验和检测GPT头和分区表中的错误与损坏。

在这里插入图片描述

gpt分区格式

三、磁盘分区

系统管理员将硬盘驱动器划分为多个逻辑存储单元, 这些单元称为分区

磁盘分区优点:

  • 限制应用或用户的可用空间。

  • 将操作系统和程序文件与用户文件分隔开。

  • 用于创建交换分区。

  • 限制磁盘空间使用,以提高诊断工具和备份镜像的性能。

Linux支持的文件格式:XFSExt4、Ext3、NTFS、FAT32、LVM······

在linux中 硬盘分区均为文件,前两个字节代表设备类型,第三个代表硬盘序号示,后面数字代表分区号

$
设备类型按照设备接口进行确定
硬盘序号是以字母 a b c … 顺序依次表示
分区序号是以数字 1 2 3 … 顺序依次表示。(主分区号 1~4 ,逻辑分区始终是从 5 开始)
$

在这里插入图片描述

设备文件字段

3.1、XFS

 XFS特别擅长处理大文件,同时提供大型的数据传输

 存放文件和目录数据的分区

3.2、Ext4

 Ext4的文件系统容量达到1EB,而文件容量达到了16TB.而且EXT4理论上支持无限数量的子目录。

 Ext4给日志数据添加了校验功能,日志校验功能可以很方便地判断日志数据是否损坏。

3.3、SWAP分区

 swap(交换空间)是受Linux内核内存子系统控制的磁盘区域。内核将内存中不活动的内存页保存到交换空间,来补充系统RAM。物理RAM与交换空间组合在一起称为虚拟内存

 由于交换区位于磁盘上,所以与RAM相比,交换会比较慢。 虽然是用于增加系统RAM,但对于RAM不足以满足工作负载需求的问题,不应将交换空间视为可持续性的解决方案。

在这里插入图片描述

  • total :物理内存的实际总量

  • used :使用的内存 (total - free - buffers - cache)

  • free :未被分配的内存(真正的空闲,未被任何程序占用)

  • shared:多个进程共享的内存总额

  • cached:从磁盘读取的数据,待以后使用。

  • buffers:被更改但未写回磁盘的数据。

  • swap:交换分区总量,使用量,剩余量

四、常用命令

4.1、分区命令

  • fdisk
    fdisk -l [dev]                ##查看磁盘分区
    fdisk [dev]                    ##管理磁盘分区

在这里插入图片描述

  • lsblk
  lsblk [dev]                    ##以树状查看磁盘分区

在这里插入图片描述

  • blkid
  blkid [dev]            ##查看分区uid号

在这里插入图片描述

  • mkfs
mkfs [选项] [dev]            ##格式化分区
mkfs.[文件类型] [dev]            ##格式化分区

在这里插入图片描述

  • df
df -k [dev]        ##以KB为单位显示 Linux 系统中各文件系统的硬盘使用情况
df -m [dev]        ##以MB为单位显示 Linux 系统中各文件系统的硬盘使用情况
df -h [dev]        ##使用人们习惯的 KB、MB 或 GB 等单位自行显示容量

在这里插入图片描述

  • mount
mount 存储设备  挂载点目录            ##挂载文件系统
mount  [-t] 存储设备  挂载点目录            ##以文件类型挂载文件系统

在这里插入图片描述

4.2、管理磁盘分区

  m:获取帮助菜单
  n:新建分区
  p:查看分区情况
  d:删除分区
  t:变更分区的类型
  w:保存分区操作并退出
  q:不保存分区操作并退出

4.3、设置文件系统的自动挂载

Linux 操作系统在每次开机时,会自动读取/etc/fstab文件的内容,自动挂载所指定的文件系统。

vim /etc/fstab
/dev/sdb1      /opt        xfs        defaults   0  0
/dev/sr0       /mnt        iso9660   defaults   0  0
  • 第1字段:设备名或设备卷标名。
  • 第2字段:文件系统的挂载点目录的位置。
  • 第3字段:文件系统类型,如 xfs、swap 等。
  • 第4字段:挂载参数。例如,defaults(默认参数)、rw(可读写)、ro(只读)、noexec(禁用执行程序)。
  • 第5字段:表示文件系统是否需要 dump 备份。一般设为1时表示需要,设为0时将被dump忽略。
  • 第6字段:该数字决定在系统启动时进行磁盘检查的顺序。0表示不进行检查,1表示优先检查,2表示其次检查。根分区可设为1,其他分区设为2。

五、实验案例

5.1、创建主分区

  • 向您的系统添加一个xfs格式、5G大小的主分区。

  • 分区应在系统启动时自动挂载到/mnt/home。

  • 不要删除或以任何方式改动系统上的任何现有交换分区。

5.1.1、实验步骤
  • 新建分区
    在这里插入图片描述

  • 格式化分区

    在这里插入图片描述

  • 挂载分区

    在这里插入图片描述

临时挂载

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

持续挂载
5.1.2、实验命令
[root@host-1 ~]# fdisk /dev/sdb            ##新建分区        
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。


命令(输入 m 获取帮助):n                    #新建
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p):
Using default response p            
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+5G        ##分区大小
分区 1 已设置为 Linux 类型,大小设为 5 GiB

命令(输入 m 获取帮助):
命令(输入 m 获取帮助):t            ##分区类型
已选择分区 1
Hex 代码(输入 L 列出所有代码):L            ##列出所有分区类型

 024  NEC DOS         81  Minix / 旧 Linu bf  Solaris
 1  FAT12           27  隐藏的 NTFS Win 82  Linux 交换 / So c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  84  OS/2 隐藏的 C:  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     85  Linux 扩展      c7  Syrinx
 5  扩展            41  PPC PReP Boot   86  NTFS 卷集       da  非文件系统数据
 6  FAT16           42  SFS             87  NTFS 卷集       db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux 纯文本    de  Dell 工具
 8  AIX             4e  QNX4.x 第2部分  8e  Linux LVM       df  BootIt
 9  AIX 可启动      4f  QNX4.x 第3部分  93  Amoeba          e1  DOS 访问
 a  OS/2 启动管理器 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad 休 eb  BeOS fs
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT
 f  W95 扩展 (LBA)  54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC
11  隐藏的 FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor
12  Compaq 诊断     5c  Priam Edisk     a9  NetBSD          f4  SpeedStor
14  隐藏的 FAT16 <3 61  SpeedStor       ab  Darwin 启动     f2  DOS 次要
16  隐藏的 FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS
17  隐藏的 HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE
18  AST 智能睡眠    65  Novell Netware  b8  BSDI swap       fd  Linux raid 自动
1b  隐藏的 W95 FAT3 70  DiskSecure 多启 bb  Boot Wizard 隐  fe  LANstep
1c  隐藏的 W95 FAT3 75  PC/IX           be  Solaris 启动    ff  BBT
1e  隐藏的 W95 FAT1 80  旧 Minix
Hex 代码(输入 L 列出所有代码):83                ##主分区代码
已将分区“Linux”的类型更改为“Linux”

命令(输入 m 获取帮助):
命令(输入 m 获取帮助):w                    ##保存退出
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。
[root@host-1 ~]# mkfs.xfs -f /dev/sdb1            ##以xfs格式格式化/dev/sdb1分区
meta-data=/dev/sdb1              isize=512    agcount=4, agsize=327680 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=1310720, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
[root@host-1 ~]# mkdir /mnt/home            ##创建挂载点
[root@host-1 ~]# mount /dev/sdb1 /mnt/home/            ##临时挂载/dev/sdb1分区到/mnt/home/
[root@host-1 ~]# df /dev/sdb1                ##验证
文件系统         1K-块  已用    可用 已用% 挂载点
/dev/sdb1      5232640 32992 5199648    1% /mnt/home
[root@host-1 ~]# blkid /dev/sdb1            ##查看/dev/sdb1分区uuid
/dev/sdb1: UUID="5d35a8df-e67c-4112-85f0-e3e798ceff5f" TYPE="xfs"
[root@host-1 ~]# vim /etc/fstab                ##编辑/etc/fstab文件
[root@host-1 ~]#reboot                    ##重启
[root@host-1 ~]# df /dev/sdb1                ##验证
文件系统         1K-块  已用    可用 已用% 挂载点
/dev/sdb1      5232640 32992 5199648    1% /mnt/home
基本命令
    UUID=5d35a8df-e67c-4112-85f0-e3e798ceff5f /mnt/home xfs defaults 0 0
fstab文件内编辑

5.2、创建swap分区

  • 向您的系统添加一个swap主分区2G。

  • 交换分区应在系统启动时自动挂载。

  • 不要删除或以任何方式改动系统上的任何现有交换分区。

5.2.1、实验步骤
  • 新建分区

    在这里插入图片描述

  • 格式化分区

    在这里插入图片描述

  • 挂载分区

    在这里插入图片描述

    vim /etc/fstab
5.2.2、实验命令
[root@host-1 ~]# fdisk /dev/sdc             ##新建分区  
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0x497e2eba 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n            #新建
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p):
Using default response p            
分区号 (1-4,默认 1):
起始 扇区 (2048-41943039,默认为 2048):
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-41943039,默认为 41943039):+2G        ##分区大小
分区 1 已设置为 Linux 类型,大小设为 2 GiB

命令(输入 m 获取帮助):t            ##分区类型
已选择分区 1
Hex 代码(输入 L 列出所有代码):L            ##列出所有分区类型

 024  NEC DOS         81  Minix / 旧 Linu bf  Solaris
 1  FAT12           27  隐藏的 NTFS Win 82  Linux 交换 / So c1  DRDOS/sec (FAT-
 2  XENIX root      39  Plan 9          83  Linux           c4  DRDOS/sec (FAT-
 3  XENIX usr       3c  PartitionMagic  84  OS/2 隐藏的 C:  c6  DRDOS/sec (FAT-
 4  FAT16 <32M      40  Venix 80286     85  Linux 扩展      c7  Syrinx
 5  扩展            41  PPC PReP Boot   86  NTFS 卷集       da  非文件系统数据
 6  FAT16           42  SFS             87  NTFS 卷集       db  CP/M / CTOS / .
 7  HPFS/NTFS/exFAT 4d  QNX4.x          88  Linux 纯文本    de  Dell 工具
 8  AIX             4e  QNX4.x 第2部分  8e  Linux LVM       df  BootIt
 9  AIX 可启动      4f  QNX4.x 第3部分  93  Amoeba          e1  DOS 访问
 a  OS/2 启动管理器 50  OnTrack DM      94  Amoeba BBT      e3  DOS R/O
 b  W95 FAT32       51  OnTrack DM6 Aux 9f  BSD/OS          e4  SpeedStor
 c  W95 FAT32 (LBA) 52  CP/M            a0  IBM Thinkpad 休 eb  BeOS fs
 e  W95 FAT16 (LBA) 53  OnTrack DM6 Aux a5  FreeBSD         ee  GPT
 f  W95 扩展 (LBA)  54  OnTrackDM6      a6  OpenBSD         ef  EFI (FAT-12/16/
10  OPUS            55  EZ-Drive        a7  NeXTSTEP        f0  Linux/PA-RISC
11  隐藏的 FAT12    56  Golden Bow      a8  Darwin UFS      f1  SpeedStor
12  Compaq 诊断     5c  Priam Edisk     a9  NetBSD          f4  SpeedStor
14  隐藏的 FAT16 <3 61  SpeedStor       ab  Darwin 启动     f2  DOS 次要
16  隐藏的 FAT16    63  GNU HURD or Sys af  HFS / HFS+      fb  VMware VMFS
17  隐藏的 HPFS/NTF 64  Novell Netware  b7  BSDI fs         fc  VMware VMKCORE
18  AST 智能睡眠    65  Novell Netware  b8  BSDI swap       fd  Linux raid 自动
1b  隐藏的 W95 FAT3 70  DiskSecure 多启 bb  Boot Wizard 隐  fe  LANstep
1c  隐藏的 W95 FAT3 75  PC/IX           be  Solaris 启动    ff  BBT
1e  隐藏的 W95 FAT1 80  旧 Minix
Hex 代码(输入 L 列出所有代码):82                ##swap分区代码
已将分区“Linux”的类型更改为“Linux swap / Solaris”

命令(输入 m 获取帮助):w                ##保存退出
The partition table has been altered!

Calling ioctl() to re-read partition table.
正在同步磁盘。

[root@host-1 ~]# mkswap /dev/sdc2            ##以式化/dev/sdc1分区
正在设置交换空间版本 1,大小 = 2097148 KiB
无标签,UUID=61e24b09-8e96-4c41-b19b-a40d46c5816f
[root@host-1 ~]# vim /etc/fstab                ##编辑/etc/fstab文件
[root@host-1 ~]# swap-a                        # 激活新分区
[root@host-1 ~]# swap-s                    # 查看系统中交换分区清单
文件名                          类型            大小    已用    权限
/dev/sdc1                               partition       2097148 0       -2
/dev/dm-1                               partition       4194300 0       -3
基本命令
    UUID=61e24b09-8e96-4c41-b19b-a40d46c5816f swap swap defaults 0 0
fstab文件内编辑
t-1 ~]# swap-s # 查看系统中交换分区清单 文件名 类型 大小 已用 权限 /dev/sdc1 partition 2097148 0 -2 /dev/dm-1 partition 4194300 0 -3 ```
基本命令
    UUID=61e24b09-8e96-4c41-b19b-a40d46c5816f swap swap defaults 0 0
fstab文件内编辑

此文仅为个人理解,请各位点评

  • 21
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值