# Linux磁盘分区挂载

# 分区基础知识

# 分区的方式

1)mbr分区:

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

2)gtp分区:

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

# windows下的磁盘分区

# Linux分区

# 原理介绍

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

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

3)示意图

# 硬盘说明

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

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

3)对于SCSI硬盘则标识为"sdx~",SCSI硬盘是用“sd”来表示分区所在设备的类型,其余则和IDE硬盘的表示方法一样。

# 使用lsblk(老师不离开)指令查看当前系统分区情况

# 挂载的经典案例

需求:给Linux系统增加一块新的硬盘,并且挂载到/home/newdisk

# 如何增加一块硬盘

1)虚拟机添加硬盘

2)分区 fdisk /dev/sdb

3)格式化 mkfs -t xfs /dev/sdb1

4)挂载 创建newdisk目录 /home/newdisk,挂载mount /dev/sdb1 /home/newdisk

5)设置可以自动挂载(永久挂载,当重启系统后,仍然可以挂载到/home/newdisk) vim /etc/fstab /dev/sdb1 /home/newdisk xfs defaults 0 0

# 具体操作步骤

# 第一步:虚拟机增加硬盘

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

# 第二步:分区

分区命令: fdisk /dev/sdb  开始对/sdb分区
m:显示领了列表
p:显示磁盘分区,同fdisk -ln:新增分区
d:删除分区
w:写入并退出说明:开始分区后输入n新增分区,然后选择p,分区类型为主分区。两次回车默认剩余
全部空间。最后输入w写入分区并退出,若不保存退出q。
1
2
3
4
5
6

# 第三步:格式化磁盘

分区命名:mkfs -t xfs /dev/sdb1其中xfs是分区类型
1

# 第四步:挂载

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

mount 设备名称 挂载目录 如:mount /dev/sdb1 /home/newdisk

umount 设备名称 挂载目录 如:umount /dev/sdb1 或者 umount /home/newdisk

# 第五步:永久挂载

通过修改 /etc/fstab 实现挂载,添加完成后,执行 mount -a 即刻生效。

# 磁盘情况查询

# 查询系统整体磁盘使用情况

  • 基本语法
df -h
1
  • 应用实例

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

[root@hadoop01 newdisk]# df -lh
文件系统                 容量  已用  可用 已用% 挂载点
devtmpfs                 979M     0  979M    0% 
/devtmpfs                    991M     0  991M    0% 
/dev/shmtmpfs                    991M  9.6M  981M    1% 
/runtmpfs                    991M     0  991M    0% 
/sys/fs/cgroup/dev/mapper/centos-root   18G  1.5G   17G    9% /
/dev/sda1                197M  116M   82M   59% 
/boottmpfs                    199M     0  199M    0% 
/run/user/0/dev/sdb1                2.0G   33M  2.0G    2% /home/newdisk
1
2
3
4
5
6
7
8
9
10

# 查询指定目录的磁盘占用情况

  • 基本语法
du -h /目录查询指定目录的磁盘占用情况,默认为当前目录
-s:指定目录占用大小汇总
-h:带计算单词
-a:含文件--max-depth=1 子目录深度
-c:列出明细的同时,增加汇总值
1
2
3
4
5
  • 应用实例

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

[root@hadoop01 newdisk]# du -ach 
--max-depth=1 
/opt40K     /opt/小说.txt36K     
/opt/tmp52K     /opt/home128K    /opt128K    总用量
1
2
3
4

# 磁盘情况-工作使用指令

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

# grep "^-": 查找以"-"开头的信息(-文件,d目录,l链接), wc: 统计
[root@hadoop01 home]# ls -l /home | grep "^-" | wc -l12
1
2

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

[root@hadoop01 home]# ls -l | grep "^d" | wc -l10
1

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

[root@hadoop01 home]# ls -lR /home | grep "^-" | wc -l19
1

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

[root@hadoop01 home]# ls -lR /home | grep "^d" | wc -l10
1

5)以树状显示目录结构

点击查看代码
# 1.安装tree
[root@hadoop01 home]# yum install tree
# 2.
[root@hadoop01 home]# tree
.├── a1.txt
 ├── a2.txt
 ├── abc.txt
 ├── a.tar.gz
 ├── fox
 ├── hanmey
 ├── hello.txt
 ├── info.txt
 ├── jack
 ├── jerry
 ├── kayson
 ├── kkk
 │   ├── a.txt
 │   └── b.txt
 ├── limi
 │   └── limi01.txt
 ├── mycal
 ├── mydate.txt
 ├── myhome.tar.gz
 ├── mypackage.zip
 ├── mytask1.sh
 ├── mytask2.sh
 ├── newdisk
 ├── test
 │   └── a.txt
 │       └── tom    
 ├── abc    
 ├── abc.txt    
 └── ok.txt10 
 directories, 19 files
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34