阅读 69

linux基础之文件与磁盘系统管理

磁盘管理有关概念

磁盘分区:对硬盘物理介质的逻辑划分。
磁盘分成多个分区,可以在不同的分区建立不同的文件系统。
磁盘格式化:创建文件系统的工作,会导致现有的分区中所有的数据被清除。
对磁盘进行分区和格式化将会导致数据丢失,分区格式化前需要对数据进行备份。
复制代码

linux中一切皆文件,硬盘、分区等设备均表示为文件

以如下磁盘为例

# /dev/sda5
/dev 硬件设备文件所在的目录
sd 表示串行设备, 除了sd外还有hd,表示IDE设备
a 硬盘的顺序号,以字母表示
5 分区的顺序号,以数字表示
复制代码

传统的MBR分区方式

主引导记录

主引导扇区: 硬盘的0柱面、0磁头、1扇区称为主引导扇区

磁盘分区表: 含4个分区项,偏移地址01BEH--01FDH,每个分区表项长16个字节,共64字节为分区项1、分区项2、分区项3、分区项4

结束标记: 偏移地址01FE--01FF的2个字节值为结束标志0xAA55或0x55AA,称为“魔数”(magic number)。如果该标志错误系统就不能启动

/dev/hdXX

传统的IDE并口硬盘,现在被串口SATA硬盘取代

PC主机中的第1个IDE硬盘表示为hda,第二个IDE硬盘为/dev/hdb,依此类推 IDE硬盘中的4个主分区可表示为hda1至hda4

/dev/sdXX

使用SATA的串口硬盘,传输速率快,主流硬盘

主分区,一个硬盘允许4个主分区
扩展分区:一个硬盘允许3个主分区,一个扩展分区
逻辑分区:在扩展分区上创建
复制代码

1.扩展分区只用于容纳逻辑分区,并不建立文件系统,因此也不能直接向扩展分区中保存文件和目录。

2.存储在扩展分区中的分区称为逻辑分区( Logic Partition)。每一个逻辑分区都可以存储一个文件系统。

3.逻辑分区的编号始终从5开始,因为1~4已经预留给主分区和扩展分区使用

4.与硬盘一样,每一个分区也会有象征该分区的设备文件;指定硬盘的设备文件后,再根据分区的识别号码命名。

5.主要分区与扩展分区:使用1-4的识别号码。

6.逻辑分区:一律使用5-63的识别号码。例如,/dev/hda的第一个主要分区,其设备文件便是/dev/hdal;而/dev/sdb硬盘的第1号逻辑分区,则会使用/dev/sdb5的设备文件。

GUID分区表

简称GPT。使用GUID分区表的磁盘称为GPT磁盘。是源自EFI标准的一种较新的磁盘分区表结构的标准。与普遍使用的主引导记录(MBR)分区方案相比,GPT提供了更加灵活的磁盘分区机制。它具有如下优点:

1、支持2TB以上的大硬盘.
2、每个磁盘的分区个数几乎没有限制。为什么说“几乎”呢?是因为Windows系统最多只
允许划分128个分区。不过也完全够用了。 
3、分区大小几乎没有限制。又是一个“几乎”。因为它用64位的整数表示扇区号。夸张
一点说,一个64位整数能代表的分区大小已经是个“天文数字”了,若干年内你都无法见
到这样大小的硬盘,更不用说分区了。
4、分区表自带备份。在磁盘的首尾部分分别保存了一份相同的分区表。其中一份被破
坏后,可以通过另一份恢复。
5、每个分区可以有一个名称(不同于卷标)。
复制代码

为什么要提出新的分区方案

(1)主分区数目不能超过4个的限制,很多时候4个主分区并不能满足需要。
(2)MBR分区方案无法支持超过2TB容量的磁盘。因为这一方案用4个字节存储分区的总
扇区数,最大能表示2的32次方的扇区个数,按每扇区512字节计算,每个分区最大不能
超过2TB。磁盘容量超过2TB以后,分区的起始位置也就无法表示了。在硬盘容量突飞猛
进的今天,2TB的限制将很快被突破。
复制代码

分区管理工具

# fdisk 分区管理工具
    fdisk -l 列出硬盘分区信息
    fdisk /dev/sda 交互模式操作sda设备
    m 显示所有可用命令
    p 显示硬盘分区信息
    n、e、p 创建新、扩展、主分区
    t 更改分区文件系统
    d 删除硬盘分区
    w、q 保存、不保存退出
磁盘分区设备名
Boot:表示引导分区
Start:表示一个分区的开始扇区
End:表示一个分区的结束扇区
Blocks:表示分区容量,单位是块,默认一个块是1KB
Id:一个两位的十六进制,表示分区类型
System:ID所定义分分区类型

# 创建一个大小为300M的主分区
root@computer: ~# fdisk /dev/sdb
命令(输入m获取帮助):m
命令(输入m获取帮助):n
Select (default p):
Using default response p
分区号(2-4,默认2):
起始扇区(19555689 - 16777296,默认为 1955859):
将使用默认值 1955859
Last扇区,+扇区 or +size(K, M, G)
# 保存退出,按照要求同步磁盘
# 需要系统重新启动才可以生效,如果不想重启系统,可以使用partprober /dev/sdb
复制代码

建立和管理文件系统

文件系统是操作系统用于明确磁盘或分区上的文件的方法和数据结构;即在磁盘上组织文件的方法。 Linux中默认使用的文件系统类型

EXT4, 第4代扩展(Extended)文件系统
SWAP,交换文件系统
复制代码

Linux支持的其它文件系统类型

FAT16、FAT32、NTFS
XFS(高性能的日志文件系统,RHEL7默认使用的文件系统类型)、JFS(集群文件系统)
VFAT(虚拟文件分配表)
复制代码
# mkfs 创建文件系统
mkfs –t 文件系统类型 文件系统名
root@computer: ~# mkfs  -t ext4 /dev/sdb5  # 在/dev/sdb5上建立一个ext4分区
复制代码

文件系统的挂载

在Linux操作系统中,整个系统只有一个根目录中,因此在Linux中使用某个磁盘空间的根目录与其中的所有文件,就必须将文件系统挂载到根文件系统的某一个目录下。

# mount 挂载文件系统、ISO镜像到指定文件夹
mount [ -t 类型] 存储设备 挂载点目录
mount -o loop ISO镜像文件  挂载点目录
user@computer: ~$ mount /dev/cdrom /mnt/cdrom  # 将/dev/cdrom挂载到/mnt/cdrom下
复制代码
# umount 卸载已挂载的文件系统
umount 存储设备位置
umount 挂载点目录
user@computer: ~$ unmount /dev/cdrom # 卸载已挂载的/dev/cdrom
复制代码

文件系统开机自动挂载

若想实现文件系统开机自动挂载,需要在/etc/fstab配置文件中进行配置

user@computer: ~$ cat /etc/fstab
LABEL=cloudimg-rootfs   /        ext4   defaults        0 0
设备位置             挂载点   文件系统类型
复制代码
关注下面的标签,发现更多相似文章
评论