Linux磁盘分区与挂载
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 下的磁盘分区
2.Linux 分区
2.1 原理介绍
1)Linux 来说无论有几个分区, 分给哪一目录使用, 它归根结底就只有一个根目录, 一个独立且唯一的文件结构 , Linux 中每个分区都是用来组成整个文件系统的一部分。
2)Linux 采用了一种叫“载入-mount” 的处理方法, 它的整个文件系统中包含了一整套的文件和目录,且将一个分区和一个目录联系起来。 这时要载入的一个分区将使它的存储空间在一个目录下获得。
3)示意图
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 :列出该磁盘设备的详细数据,包括磁盘伫列机制、预读写的数据量大小等
从显示可以看出,我的系统里有1块磁盘:sda,分了3个区,并且挂载了。
3.返回内容
名称 | 解释 |
---|---|
NAME | 名称 |
MAJ:MIN | 主设备号:次设备号 |
RM | 是否为可卸载设备 |
SIZE | 容量 |
RO | 是否为只读设备 |
TYPE | 磁盘(disk)、分区(partition)、只读存储器(rom) |
MOUTPOINT | 挂载点 |
UUID | 全域单一识别码 (universally unique identifier) |
3.挂载案例-给虚拟机增加硬盘
需求是给我们的 Linux 系统增加一个新的硬盘,并且挂载到/home/newdisk。
如何添加硬盘分区
步骤:
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)然后重启系统(才能识别)
4.2 步骤 2-硬盘分区:fdisk
分区命令:
fdisk /dev/sdb
开始对/sdb 分区:
•m 显示命令列表
•p 显示磁盘分区 同 fdisk –l
•n 新增分区
•d 删除分区
•w 写入并退出
说明:
- 1)开始分区后输入 n,新增分区;
- 2)然后选择 p ,分区类型为主分区;
- 3)两次回车默认剩余全部空间;
- 4)最后输入 w 写入分区并退出,若不保存退出输入 q。
4.3 步骤 3-格式化磁盘:mkfs
1.格式化磁盘
mkfs -t ext4 /dev/sdb1
其中 ext4 是分区类型
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
2.卸载:将一个分区与一个目录的挂载关系删除
umount 设备名称/挂载目录
例如: 删除dev/sdb1分区与 /home/newdisk的挂载
umount /dev/sdb1
umount /home/newdisk
4.5 步骤 5-设置永久挂载:vim /etc/fstab
永久挂载:通过修改/etc/fstab 文件,实现永久挂载
- /etc/fstab文件,记录了分区与挂载点的挂载信息
1)信息修改:
vim /etc/fstab (然后编辑加入以下内容)
/dev/sdb1 /home/newdisk ext4 defaults 0 0
2)添加完成后:执行 mount –a 即刻生效
mount -a
5.磁盘情况查询
5.1 查询系统整体磁盘使用情况-df
1.基本语法:disk free - df
df -lh
2.应用实例:查询系统整体磁盘使用情况
5.2 查询指定目录的磁盘占用情况-du
1.基本语法:disk usage - du
du -h /目录
2.查询指定目录的磁盘占用情况, 默认为当前目录
- -s 指定目录占用大小汇总
- -h 带计量单位
- -a 含文件
- - -max-depth=1 子目录深度
- -c 列出明细的同时, 增加汇总值
3.应用实例
查询 /home 目录的磁盘占用情况, 深度为 1
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 设备文件名或挂载点 (功能描述:卸载设备)
这里写自定义目录标题
5.5 磁盘情况-工作实用指令
1.统计/home 文件夹下文件的个数
- 先显示文件中所有文件内容
- 后过滤出其中的文件信息:只保留 - 开头的普通文件
- 最后进行信息统计
2.统计/home 文件夹下目录的个数
3.统计/home 文件夹下文件的个数, 包括子文件夹里的
4.统计文件夹下目录的个数, 包括子文件夹里的
5.以树状显示目录结构
tree安装:yum install tree
使用:tree