Linux磁盘分区与挂载

  • 1.分区基础知识
  • 1.1 分区的方式:
  • 1.2 windows 下的磁盘分区
  • 2.Linux 分区
  • 2.1 原理介绍
  • 2.2 硬盘说明
  • 2.3 查看当前系统的分区情况- lsblk
  • 3.挂载案例-给虚拟机增加硬盘
  • 如何添加硬盘分区
  • 4.具体的操作步骤
  • 4.1 步骤 1-虚拟机增加硬盘
  • 4.2 步骤 2-硬盘分区:fdisk
  • 4.3 步骤 3-格式化磁盘:mkfs
  • 4.4 步骤 4-挂载:mount
  • 4.5 步骤 5-设置永久挂载:vim /etc/fstab
  • 5.磁盘情况查询
  • 5.1 查询系统整体磁盘使用情况-df
  • 5.2 查询指定目录的磁盘占用情况-du
  • 5.3 查看分区- fdisk
  • 5.4 挂载/卸载-mount/umount
  • 5.5 磁盘情况-工作实用指令


1.分区基础知识

1.1 分区的方式:

1.mbr 分区:

  • 1.最多支持四个主分区
  • 2.系统只能安装在主分区
  • 3.扩展分区要占一个主分区
  • 4.MBR 最大只支持 2TB, 但拥有最好的兼容性

2.gtp 分区:

  • 1.支持无限多个主分区(但操作系统可能限制, 比如 windows 下最多 128 个分区)
  • 2.最大支持 18EB 的大容量(1EB=1024 PB, 1PB=1024 TB )
  • 3.windows7 64 位以后支持 gtp

1.2 windows 下的磁盘分区

centos系统磁盘分区挂载怎么理解 磁盘分区挂载linux_硬盘分区

2.Linux 分区

2.1 原理介绍

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

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

3)示意图

centos系统磁盘分区挂载怎么理解 磁盘分区挂载linux_centos系统磁盘分区挂载怎么理解_02

2.2 硬盘说明

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

1)IDE 硬盘:驱动器标识符为“hdx~”,其中

  • “hd”表明分区所在设备的类型, 这里是指 IDE 硬
    盘了。
  • “x”为盘号(a 为基本盘,b 为基本从属盘,c 为辅助主盘,d 为辅助从属盘)
  • “~”代表分区,前四个分区用数字 1 到 4 表示,它们是主分区或扩展分区,从 5 开始就是逻辑分区。

例,

  • hda3 表示:第一个 IDE 硬盘上的第三个主分区或扩展分区;
  • hdb2 表示:第二个 IDE 硬盘上的第二个主分区或扩展分区。

2)SCSI 硬盘,驱动器标识符为“sdx~”,

  • SCSI 硬盘是用“sd”来表示分区所在设备的类型
  • 其余则和 IDE 硬盘的表示方法一样

2.3 查看当前系统的分区情况- lsblk

1.指令:list block devices,能列出系统上所有的磁盘。

lsblk [-dfimpt] [device] (记忆技巧:老师不离开)

2.选项与参数
-d :仅列出磁盘本身,并不会列出该磁盘的分区数据
-f :同时列出该磁盘内的文件系统名称
-i :使用 ASCII 的线段输出,不要使用复杂的编码 (再某些环境下很有用)
-m :同时输出该设备在 /dev 下面的权限数据 (rwx 的数据)
-p :列出该设备的完整文件名!而不是仅列出最后的名字而已。
-t :列出该磁盘设备的详细数据,包括磁盘伫列机制、预读写的数据量大小等

centos系统磁盘分区挂载怎么理解 磁盘分区挂载linux_centos系统磁盘分区挂载怎么理解_03


从显示可以看出,我的系统里有1块磁盘:sda,分了3个区,并且挂载了。

centos系统磁盘分区挂载怎么理解 磁盘分区挂载linux_文件系统_04

3.返回内容

名称

解释

NAME

名称

MAJ:MIN

主设备号:次设备号

RM

是否为可卸载设备

SIZE

容量

RO

是否为只读设备

TYPE

磁盘(disk)、分区(partition)、只读存储器(rom)

MOUTPOINT

挂载点

UUID

全域单一识别码 (universally unique identifier)

3.挂载案例-给虚拟机增加硬盘

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

centos系统磁盘分区挂载怎么理解 磁盘分区挂载linux_磁盘分区_05

如何添加硬盘分区

步骤:

1)虚拟机添加硬盘

2)分区

  • 分区sdb1成功,但没有UUID,因为没有格式化

fdisk /dev/sdb

3)格式化

mkfs -t ext4 /dev/sdb1

4)挂载:先创建一个 /home/newdisk , 然后挂载

  • 属于临时挂载:重启时,分区与文件目录系统的挂载关系消失

挂载:

mount /dev/sdb1 /home/newdisk

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

vim /etc/fstab (然后编辑加入以下内容)

/dev/sdb1 /home/newdisk ext4 defaults 0 0

/etc/fstab文件:记录了分区与挂载点的情况

4.具体的操作步骤

4.1 步骤 1-虚拟机增加硬盘

1)在【虚拟机】 菜单中,选择【设置】

2)然后设备列表里添加硬盘, 然后一路【下一步】,中间只有选择磁盘大小的地方需要修改,至到完成。

3)然后重启系统(才能识别)

centos系统磁盘分区挂载怎么理解 磁盘分区挂载linux_centos系统磁盘分区挂载怎么理解_06


centos系统磁盘分区挂载怎么理解 磁盘分区挂载linux_centos系统磁盘分区挂载怎么理解_07

4.2 步骤 2-硬盘分区:fdisk

分区命令:

fdisk /dev/sdb

开始对/sdb 分区:
•m 显示命令列表
•p 显示磁盘分区 同 fdisk –l
•n 新增分区
•d 删除分区
•w 写入并退出

说明:

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

centos系统磁盘分区挂载怎么理解 磁盘分区挂载linux_文件系统_08

4.3 步骤 3-格式化磁盘:mkfs

1.格式化磁盘

mkfs -t ext4 /dev/sdb1

其中 ext4 是分区类型

centos系统磁盘分区挂载怎么理解 磁盘分区挂载linux_文件系统_09

4.4 步骤 4-挂载:mount

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

mount [-t vfstype] [-o options] device dir (功能描述:挂载设备)

2.参数说明

参数

功能

-t vfstype

指定文件系统的类型,通常不必指定。mount 会自动选择正确的类型。常用类型有:

光盘或光盘镜像:iso9660

DOS fat16文件系统:msdos

Windows 9x fat32文件系统:vfat

Windows NT ntfs文件系统:ntfs

Mount Windows文件网络共享:smbfs

UNIX(LINUX) 文件网络共享:nfs

-o options

主要用来描述设备或档案的挂接方式。常用的参数有:

loop:用来把一个文件当成硬盘分区挂接上系统

ro:采用只读方式挂接设备

rw:采用读写方式挂接设备

iocharset:指定访问文件系统所用字符集

device

要挂接(mount)的设备

dir

设备在系统上的挂接点(mount point)

例如:将 /dev/sdb1分区挂载到 /home/newdisk 目录下

mkdir /home/newdisk

mount /dev/sdb1 /home/newdisk

centos系统磁盘分区挂载怎么理解 磁盘分区挂载linux_centos系统磁盘分区挂载怎么理解_10

2.卸载:将一个分区与一个目录的挂载关系删除

umount 设备名称/挂载目录

例如: 删除dev/sdb1分区与 /home/newdisk的挂载

umount /dev/sdb1
umount /home/newdisk

centos系统磁盘分区挂载怎么理解 磁盘分区挂载linux_磁盘分区_11

4.5 步骤 5-设置永久挂载:vim /etc/fstab

永久挂载:通过修改/etc/fstab 文件,实现永久挂载

  • /etc/fstab文件,记录了分区与挂载点的挂载信息

1)信息修改:

vim /etc/fstab (然后编辑加入以下内容)

/dev/sdb1 /home/newdisk ext4 defaults 0 0

centos系统磁盘分区挂载怎么理解 磁盘分区挂载linux_硬盘分区_12

2)添加完成后:执行 mount –a 即刻生效

mount -a

centos系统磁盘分区挂载怎么理解 磁盘分区挂载linux_磁盘分区_13

5.磁盘情况查询

5.1 查询系统整体磁盘使用情况-df

1.基本语法:disk free - df

df -lh

2.应用实例:查询系统整体磁盘使用情况

centos系统磁盘分区挂载怎么理解 磁盘分区挂载linux_文件系统_14

5.2 查询指定目录的磁盘占用情况-du

1.基本语法:disk usage - du

du -h /目录

2.查询指定目录的磁盘占用情况, 默认为当前目录

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

3.应用实例

查询 /home 目录的磁盘占用情况, 深度为 1

centos系统磁盘分区挂载怎么理解 磁盘分区挂载linux_centos系统磁盘分区挂载怎么理解_15

5.3 查看分区- fdisk

fdisk -l (查看磁盘分区详情)

参数:-l 显示所有硬盘的分区列表

经验技巧:

  • 该命令必须在root用户下才能使用

案例:查看系统分区情况

[root@hadoop101 /]# fdisk -l
Disk /dev/sda: 21.5 GB, 21474836480 bytes
255 heads, 63 sectors/track, 2610 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0005e654

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          26      204800   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              26        1332    10485760   83  Linux
/dev/sda3            1332        1593     2097152   82  Linux swap / Solaris

Linux分区:

  • Device:分区序列
  • Boot:引导
  • Start:从X磁柱开始
  • End:到Y磁柱结束
  • Blocks:容量
  • Id:分区类型ID
  • System:分区类型

5.4 挂载/卸载-mount/umount

基本语法

  • mount [-t vfstype] [-o options] device dir (功能描述:挂载设备)
  • umount 设备文件名或挂载点 (功能描述:卸载设备)

这里写自定义目录标题

  • 1.分区基础知识
  • 1.1 分区的方式:
  • 1.2 windows 下的磁盘分区
  • 2.Linux 分区
  • 2.1 原理介绍
  • 2.2 硬盘说明
  • 2.3 查看当前系统的分区情况- lsblk
  • 3.挂载案例-给虚拟机增加硬盘
  • 如何添加硬盘分区
  • 4.具体的操作步骤
  • 4.1 步骤 1-虚拟机增加硬盘
  • 4.2 步骤 2-硬盘分区:fdisk
  • 4.3 步骤 3-格式化磁盘:mkfs
  • 4.4 步骤 4-挂载:mount
  • 4.5 步骤 5-设置永久挂载:vim /etc/fstab
  • 5.磁盘情况查询
  • 5.1 查询系统整体磁盘使用情况-df
  • 5.2 查询指定目录的磁盘占用情况-du
  • 5.3 查看分区- fdisk
  • 5.4 挂载/卸载-mount/umount
  • 5.5 磁盘情况-工作实用指令

5.5 磁盘情况-工作实用指令

1.统计/home 文件夹下文件的个数

  • 先显示文件中所有文件内容
  • 后过滤出其中的文件信息:只保留 - 开头的普通文件
  • 最后进行信息统计

2.统计/home 文件夹下目录的个数

3.统计/home 文件夹下文件的个数, 包括子文件夹里的

4.统计文件夹下目录的个数, 包括子文件夹里的

centos系统磁盘分区挂载怎么理解 磁盘分区挂载linux_centos系统磁盘分区挂载怎么理解_16

5.以树状显示目录结构

tree安装:yum install tree

使用:tree