# 6. 磁盘管理

# 6.1 分区挂载

# 6.1.1 理论部分

# 6.1.1.1 分区的方式

# [MBR 分区] —— Main Boot Record 主引导记录区
  • 最多支持 4 个主分区
  • 系统只能安装在主分区
  • 扩展分区要占一个主分区
  • MBR 每一个分区最大只支持 2 TB,但拥有最好的兼容性;
# [GTP 分区] —— GUID Partition Table 全局唯一标识磁盘分区表
  • 支持无限多个主分区(但操作系统可能限制,比如 windows 下最多 128 个分区)
  • 最大支持 18EB 的大容量(1EB = 1024PB,1PB = 1024TB)
  • windows7 64 位后支持 GTP

# 6.1.1.2 Windows 下的磁盘分区

image-20201111201149011

# 6.1.1.3 Linux 磁盘分区

Linux 来说无论有几个分区,分给哪一目录使用,它归根结底就只有一个根目录,一个独立且唯一的文件结构,Linux 中每个分区都是用来组成整个文件系统的一部分。

Linux 采用了一种叫“载入”的处理方法,它的整个文件系统中包含了一整套的文件和目录, 且将一个分区和一个目录联系起来。这时要载入的一个分区将使它的存储空间在一个目录下获得。

image-20201111201518825

# 6.1.1.4 Linux 硬盘说明

Linux 硬盘分 IDE 硬盘和 SCSI 硬盘,目前基本上是 SCSI 硬盘。

  • 对于 IDE 硬盘,驱动器标识符为“hdx~”,其中“hd”表明分区所在设备的类型,这里是指 IDE 硬 盘了。“x”为盘号(a 为基本盘,b 为基本从属盘,c 为辅助主盘,d 为辅助从属盘),“~”代表分区, 前四个分区用数字 1 到 4 表示,它们是主分区或扩展分区,从 5 开始就是逻辑分区。例,hda3 表示为第一个 IDE 硬盘上的第三个主分区或扩展分区,hdb2 表示为第二个 IDE 硬盘上的第二个主分区或扩展 分区。
  • 对于 SCSI 硬盘则标识为“sdx~”,SCSI 硬盘是用“sd”来表示分区所在设备的类型的,其余则 和 IDE 硬盘的表示方法一样。

# 6.1.2 实操部分

# 6.1.2.1 查看当前系统的分区 —— lsblk -f

辅助记忆:lsblk = 老师不离开

image-20201111203937880

image-20201111203644930

# 6.1.2.2 挂载案例

需求是给我们的 Linux 系统增加一个新的硬盘,并且挂载到/home/newdisk

image-20201111203837048

基本步骤:

1)虚拟机添加硬盘

2)分区:fdisk /dev/sdb

3)格式化:mkfs -t ext4 /dev/sdb1

4)挂载:先创建一个目录 /home/newdisk,挂载 mount /dev/sdb1 /home/newdisk

5)可以设置自动(永久)挂载,重启系统时,仍然可以挂载到 /home/newdisk

# [Windows 中的 VM 虚拟机具体步骤]
  1. 步骤1

    在【虚拟机】菜单中,选择【设置】,然后设备列表里添加硬盘,然后一路【下一步】,中间只有选择磁盘大小的地方需要修改,至到完成。然后重启系统(才能识别)!

    image-20201111210053565

  2. 步骤2

    分区命令:

    fdisk /dev/sdb
    

    开始对 /sdb 分区

    • m:显示命令列表
    • p:显示磁盘分区,同 fdisk -l
    • n:新增分区
    • d:删除分区
    • w:写入并退出

    说明:开始分区后输入 n 新增分区,然后选择 p,分区类型为主分区。两次回车默认剩余全部空间,最后输入 w 写入分区并退出,若不保存退出输入 q。

    image-20201111210328831

  3. 步骤3

    格式化磁盘。命令:

    mkfs -t ext4 /dev/sdb1
    

    其中 ext4 是分区类型

  4. 步骤4

    挂载:将一个分区与一个目录联系起来

    #挂载
    mount 设备名称 挂载目录
    mount /dev/sdb1 /newdisk
    #卸载
    umount 设备名字或者过载目录
    umount /dev/sdb1
    umount /newdisk
    
  5. 步骤5

    永久挂载:通过修改 /etc/fstab 实现挂载。

    添加完成后,执行

    mount -a
    

    即可生效。

    image-20201111210654705

# [MacOS 中的 VM 虚拟机具体步骤]

官方文档:

image-20201111205411790

具体操作:

  1. 步骤1

    虚拟机添加设备

    image-20201111210906672

    image-20201111210942651

    image-20201111211113930

  2. 步骤2

    重启 CentOS,查看磁盘分区情况。

    image-20201111211539314

    没错....就是这么简单。

# 6.1.2.3 查询系统整体磁盘使用情况 —— df -h

image-20201113144150504

# 6.1.2.4 查询指定目录的磁盘占用情况 —— du -h /目录

默认为当前目录,还有以下可选项:

  • -s:指定目录占用大小汇总
  • -h:带计量单位
  • -a:含文件
  • --max-depth=1:子目录深度
  • -c:列出明细的同时,增加汇总值

image-20201113144602619

# 6.1.2.5 统计 /root 文件夹下文件的个数

ls -l /root | grep "^-" | wc -l

image-20201113145148410

说明:- 起头的才是文件,^- 表示所有以 - 起头的。wc 是统计个数。

# 6.1.2.6 统计 /root 文件夹下目录的个数

ls -l /root | grep "^d" | wc -l

image-20201113145331628

# 6.1.2.7 统计 /root 文件夹下文件的个数,包括子文件夹里的

ls -lR /root | grep "^-" | wc -l

image-20201113145435879

# 6.1.2.8 统计 /root 文件夹下目录的个数,包括子文件夹里的

ls -lR /root | grep "^d" | wc -l

image-20201113145551749

# 6.1.2.9 以树状显示目录结构

先安装 tree 指令:

yum install tree

然后进入某一个目录,输入:

tree

image-20201113145742163

上次更新: 8/28/2022, 11:43:26 PM