磁盘分区与挂载
# 分区的方式
# MBR分区
最多支持4个分区
系统只能安装在主分区
扩展分区占一个主分区
MBR 最大只支持2TB,但是兼容性最好
# GTP分区
支持无限多个分区,但是操作系统可能有限(windows最多128分区)
最大支持18EB的大容量(1EB=1024PB,1PB=1024TB)
windows7 64位以后支持GTP
# windows下的分区
划分主分区和多个逻辑分区
# linux 分区
介绍
- linux 无论有几个分区,分给哪一个目录使用,本质上就只有一个根目录,一个独立且唯一的文件结构
- linux 中每个分区都是用来组成整个文件系统的一部分
- linux 采用了一种
挂载
的处理方式,整个文件系统包含了一整套的文件和目录,将一个分区和一个目录联系起来,要载入一个分区将使它的存储空间在一个目录下获得
硬盘说明
- linux 硬盘分为IDE硬盘和SCSI硬盘,目前基本上是SCSI硬盘
- 对于IDE硬盘
- 驱动器标识符为 hdx~
- hd 表示分区所在的设备类型,表示IDE
- x 为盘号,(a 为基本盘,b 为基本从属盘,c 为辅助盘,d 为辅助从属盘)
- ~ 代表分区,前4个分区用1到4表示,主要是主分区或扩展分区,5开始是逻辑分区
- hda3 表示第一个IDE硬盘上的第三个主分区或扩展分区
- hdb2 表示第二个IDE硬盘上的第二个主分区或扩展分区
- 驱动器标识符为 hdx~
- 对于SCSI硬盘
- 驱动标识符为 sdx~
- sd 表示SCSI
- 其余和IDE一致
- 驱动标识符为 sdx~
# lsblk 查看当前系统分区
lsblk -f 查看系统的分区和挂载的情况
lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sr0
sda
|——sda1 ext4 b3ece1f6-9547-4352-b6f5-a36486d09853 /boot
|——sda2 swap 3320095d-1416-43f9-a9c5-a3758880e4d3 [SWAP]
|——sda3 ext4 278ce4a9-406c-4b4d-9d97-cf480e0d218f /
#分区情况 分区类型 唯一标识分区的40位不重复的字符串 挂载点
2
3
4
5
6
7
8
9
lsblk
NAME MAJ:MIN RM SIZE R0 TYPE MOUNTPOINT
sr0 11:0 1 1024M 0 rom
sda 8:0 0 20G 0 disk
|-sda1 8:1 0 200M 0 part /boot
|-sda2 8:2 0 2G 0 part [SWAP]
|-sda3 8:3 0 17.8G 0 part /
2
3
4
5
6
7
8
# 挂载案例
给linux系统增加一个新的硬盘,挂载到/home/newdisk(mound 挂载,unmount 卸载)
- 通过上面查看分区可以得出
- sda1 目前挂载目录是 /boot
- sda2 是SWAP
- sda3 目前挂载的是 /
- 增加一个2G硬盘 sdb1 到 /home/newdisk 目录
思路
- 虚拟机添加硬盘
- 分区
fdisk /dev/sdb
- 格式化
mkfs -t ext4 /dev/sdb1
- 挂载,先创建/home/newdisk目录,执行挂载
mount /dev/sdb1 /home/newdisk
- 设置可以自动挂载(永久挂载,系统重启,依然挂载到/home/newdisk)
# 虚拟机添加磁盘
在【虚拟机】菜单中,选择【设置】,设备列表中添加硬盘,继续下一步,到中间选择磁盘大小时进行修改,最后重启系统
# 分区
分区命令 fdisk /dev/sdb
,对/sdb进行分区
- m 显示命令列表
- p 显示磁盘分区 同 fdisk -l
- n 新增分区
- d 删除分区
- w 写入并退出
开始分区后输入n,新增分区,然后选择p,分区类型为主分区,2次回车默认剩余全部空间,最后输入w写入分区并退出,如果不保存退出输入q
# 格式化磁盘
命令 mkfs -t ext4 /dev/sdb1
- ext4是分区类型
# 挂载
将一个分区和一个目录联系起来
挂载命令
- mount 设备名称 挂载目录
应用实例
- mount /dev/sdb1 /home/newdisk
卸载命令
- unmount 设备名称或挂载目录
应用实例
- unmount /dev/sdb1 或者 unmount /home/newdisk
# 永久挂载
通过修改/etc/fstab 实现挂载
vim /etc/fstab
/dev/sdb1 /home/newdisk ext4 defaults 00
2
3
添加完成后,执行 mount -a 即刻生效
# df -h 查看磁盘空间使用情况
disk free 剩余磁盘,列出系统的整体磁盘的使用量,检查文件系统的磁盘空间占用情况
基本语法
- df 选项
选项
- -h 以GBytes,MBytes,KBytes显示
应用实例
[root@hadoop100 tartest]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 15G 3.6G 11G 26% /
tmpfs 996M 72K 996M 1% /dev/shm
/dev/sda1 93M 39M 50M 44% /boot
2
3
4
5
# du -h 查询指定目录的磁盘占用
查询指定目录的磁盘占用情况,默认为当前目录
基本语法
- du 选项 目录
选项
-h 以GBytes,MBytes,KBytes显示
-s 指定目录占用大小汇总
-a 含文件
--max-depth=1 子目录深度
-c 列出明细的同时,增加汇总值
应用实例
- 查询 /opt 目录磁盘占用情况,深度为1
- du -ach --max-depth=1 /opt
# 统计文件夹下文件数目
执行命令,统计/home目录下文件数目,判断文件类型,进行grep操作,-
表示文件
- ls -l /home | grep "^-" | wc -l
统计文件个数,包括子文件夹
- ls -lR /home | grep "^-" | wc -l
# 统计文件下目录数目
执行命令
- ls -l /home | grep "^d" | wc -l
包括子文件夹
- ls -lR /home | grep "^d" | wc -l
# 以树状结构显示目录
安装tree
- yum install tree
执行命令
- tree
# fdisk 查看分区
该命令在root用户下使用
fdisk -l
选项:
-l 显示所有硬盘的分区情况
示例:
[root@hadoop100 tartest]# 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: 0x000e985b
Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 102400 83 Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2 13 1972 15728640 83 Linux
/dev/sda3 1972 2233 2097152 82 Linux swap / Solaris
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Linux分区:
- Device:分区序列
- Boot:引导
- Start:从X磁柱开始
- End:到Y磁柱结束
- Id:分区类型id
- System:分区类型
# mount/umount 挂载/卸载
在Linux中,每个分区都是用来组成整个文件系统的一部分,使用挂载的处理方法,整个系统包含一整套文件和目录,将一个分区和一个目录联系起来。要载入的那个分区将使它的存储空间在整个目录下获得
mount [-t vfstype][-o options] device dir
挂载设备
umount 设备名称或挂载点
卸载设备
参数:
-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
示例:挂载光盘镜像文件
[root@hadoop100 home]# mount -t iso9660 /dev/cdrom /home/cdrom
mount: block device /dev/sr0 is write-protected, mounting read-only
[root@hadoop100 home]# cd cdrom/
[root@hadoop100 cdrom]# ll
总用量 558
-r--r--r--. 2 root root 14 5月 22 2016 CentOS_BuildTag
dr-xr-xr-x. 3 root root 2048 5月 22 2016 EFI
-r--r--r--. 2 root root 212 11月 27 2013 EULA
-r--r--r--. 2 root root 18009 11月 27 2013 GPL
dr-xr-xr-x. 3 root root 2048 5月 23 2016 images
...
# 卸载
[root@hadoop100 home]# umount /home/cdrom/
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
35
36
37
38
设置开机自动挂载
vi /etc/fstab
# 添加第16行
...
14 sysfs /sys sysfs defaults 0 0
15 proc /proc proc defaults 0 0
16 /dev/cdrom /home/cdrom iso9660 defaults 0 0
2
3
4
5
6