【Linux】系统下的磁盘分区(重难点)
常识
添加新硬盘--分区--格式化文件系统--挂载使用
扇区是磁盘存储数据的最小单元,默认一个扇区可以存储512字节的数据
2. 磁盘类型介绍
IDE接口类型:比较古老的磁盘种类,优点价格便宜,缺点数据传输速度慢
SCSI接口类型:早期主要用于服务器理领域
SAS接口类型:目前在服务器领域比较流行,数据传出速度快(磁盘转速),支持在线更换硬盘
SATA接口类型:跟SAS类似
SSD接口类型:固态硬盘接口,价格昂贵,数据传输速度快,利用内存的机制读写数据,主要应用在个人电脑
NVMe接口类型:固态硬盘接口,是一种协议,价格昂贵,数据传输速度快,利用内存的机制读写数据
PS:早期公司主流是前面两个,现在主流是加粗的三个
3. lsblk查看系统所有磁盘信息
lsblk(英文全拼:list block)用于列出当前系统所有磁盘与磁盘内的分区信息
通常用法:查看系统中硬盘的信息(多少块硬盘以及每个硬盘的分区数量)以及分区的具体信息
命令格式:lsblk 选项...
常用选项:
-d #仅显示磁盘本身,不会列出磁盘的分区数据
-f #列出磁盘分区使用的文件系统类型
lsblk命令示例
#列出当前系统所有磁盘与磁盘内的分区信息
[root@localhost ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 19G 0 part ├─centos-root 253:0 0 17G 0 lvm /└─centos-swap 253:1 0 2G 0 lvm [SWAP]
sr0 11:0 1 4.3G 0 rom /mnt/centos
#sda1:sd代表SCSI磁盘,a代表第一块磁盘,1代表第一个分区
#sdb:sd代表SCSI磁盘,b代表第二块磁盘,1代表第一个分区
#解释:
NAME #设备名称
MAJ:MIN #主设备号:次设备号,内核通过主次设备号识别磁盘
RM #是否为可卸载设备,1可卸载,0不可卸载
SIZE #设备的容量大小
RO #表示设备是否为只读,0非只读设备,1只读设备
TYPE #表示设备类型(disk为磁盘,part为分区,lvm逻辑卷,rom只读)
MOUNTPOINT #设备挂载点(SWAP没有挂载点)
#列出指定的磁盘信息
[root@localhost ~]# lsblk -d /dev/sda
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 20G 0 disk
#列出所有磁盘分区内使用的文件系统类型
[root@localhost ~]# lsblk -f
NAME FSTYPE LABEL UUID MOUNTPOINT
sda
├─sda1 xfs 4cb9bb38-c34a-4415-9614-ba38642bb86d /boot
└─sda2 LVM2_member cKn0jP-z8Bq-SNvl-BsNa-7vTg-GBU2-OiHCro ├─centos-root xfs 55dad88d-a600-42d1-b387-236db62ce396 /└─centos-swap swap 2e91599a-6d72-483d-add8-6dfb84296170 [SWAP]
sr0 iso9660 CentOS 7 x86_64 2018-11-25-23-54-16-00 /mnt/centos
#列出指定分区的文件系统类型
[root@localhost ~]# lsblk -df /dev/sda1
NAME FSTYPE LABEL UUID MOUNTPOINT
sda1 xfs 4cb9bb38-c34a-4415-9614-ba38642bb86d /boot
4. df查看分区使用情况
df命令用于查看文件系统使用情况
命令格式:df 选项...
常用选项:
-h 以人类易读方式显示文件系统容量
T 显示文件系统类型
df 命令示例
[root@localhost ~]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/centos-root 178114563746320 14065136 22% /
devtmpfs 480884 0 480884 0% /dev
tmpfs 497948 0 497948 0% /dev/shm
tmpfs 497948 8340 489608 2% /run
tmpfs 497948 0 497948 0% /sys/fs/cgroup
/dev/sr0 44804764480476 0100% /mnt
/dev/sda1 1038336 169448 868888 17% /boot
tmpfs 99592 12 99580 1% /run/user/42
tmpfs 99592 0 99592 0% /run/user/0
[root@localhost ~]# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 17G 3.6G 14G 22% //dev/目录下文件详解[root@localhost ~]# ls /dev
hd[a-t]:IDE设备
sd[a-z]:SCSI设备
fd[0-7]:软盘驱动设备
md[0-32]:软RAID设备
loop[0-7]:本地回环设设备
lp[0-3]:打印机设备
mem:内存设备
null:空设备,也称为黑洞,任何写入的数据都将被丢弃
zero:零资源设备,任何写入的数据都将被丢弃
full:满设备,任何写入的数据都将失败
tty[0-63]:虚拟终端设备
random:随机数设备
urandom:随机数设备
port:存取I/O端口
5. MBR分区格式
MBR分区格式:比较古老的分区格式,最初只能划分4个主分区,后来新增加扩展分区(容器)功能,可在扩展分区内划分更多逻辑分区,最大支持2.2T磁盘容量
SCSI接口硬盘逻辑分区最多可以划分11个
最大支持2.2T以内磁盘容量
fdisk命令用于查看磁盘使用情况和磁盘分区(MBR分区格式)
命令格式:fdisk 选项...
常用选项:-l 列出磁盘分区表类型与分区信息
[root@localhost ~]# fdisk /dev/sdb
m #获取命令帮助 ※
p #显示磁盘分区表 ※
n #新增加一个分区 ※
q #不保存分区退出 ※
d #删除一个分区 ※
w #保存分区退出 ※
a #设置可引导标记
b #编辑bsd磁盘标签
c #设置DOS操作系统兼容标记
l #显示已知的文件系统类型,82为swap交换分区,83为Linux分区
o #建立空白DOS分区表
s #新建空白SUN磁盘标签
t #改变分区的系统ID
u #改变显示记录单位
v #验证分区表
x #附加功能
命令(输入 m 获取帮助):m
命令(输入 m 获取帮助):p
#划分第一个主分区
命令(输入 m 获取帮助):n
Select (default p): 回车
分区号 (1-4,默认 1):回车
起始 扇区 (2048-209715199,默认为 2048):回车
Last 扇区, +扇区 or +size{K,M,G} (2048-209715199,默认为 209715199):+10G #指定大小(K,M,G)
分区 1 已设置为 Linux 类型,大小设为 10 GiB
命令(输入 m 获取帮助):p
磁盘标签类型:dos
磁盘标识符:0xefc65503
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 20973567 10485760 83 Linux
#划分第二个主分区
命令(输入 m 获取帮助):n
Select (default p):
分区号 (2-4,默认 2):
起始 扇区 (20973568-209715199,默认为 20973568):
Last 扇区, +扇区 or +size{K,M,G} (20973568-209715199,默认为 209715199):+10G #指定分区大小
#划分第三个主分区
命令(输入 m 获取帮助):n
Select (default p):
分区号 (3,4,默认 3):
起始 扇区 (41945088-209715199,默认为 41945088):
Last 扇区, +扇区 or +size{K,M,G} (41945088-209715199,默认为 209715199):+10G
#查看分区信息
命令(输入 m 获取帮助):p
磁盘标签类型:dos
磁盘标识符:0xefc65503
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 20973567 10485760 83 Linux
/dev/sdb2 20973568 41945087 10485760 83 Linux
/dev/sdb3 41945088 62916607 10485760 83 Linux
#划分第四个分区
命令(输入 m 获取帮助):n
Select (default e): p
起始 扇区 (62916608-209715199,默认为 62916608):
Last 扇区, +扇区 or +size{K,M,G} (62916608-209715199,默认为 209715199):+10G
#继续划分分区
命令(输入 m 获取帮助):n
If you want to create more than four partitions, you must replace a
primary partition with an extended partition first.
#提示如果想要创建更多的分区,先将一个主分区替换为扩展分区
#删除分区
命令(输入 m 获取帮助):d4
分区号 (1-4,默认 4):
分区 4 已删除
命令(输入 m 获取帮助):d
分区号 (1-3,默认 3):3
分区 3 已删除
命令(输入 m 获取帮助):p
磁盘标签类型:dos
磁盘标识符:0xefc65503
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 20973567 10485760 83 Linux
/dev/sdb2 20973568 41945087 10485760 83 Linux
#创建主分区
命令(输入 m 获取帮助):n
Select (default p):
分区号 (3,4,默认 3):
起始 扇区 (41945088-209715199,默认为 41945088):
Last 扇区, +扇区 or +size{K,M,G} (41945088-209715199,默认为 209715199):+10G
#创建按扩展分区
命令(输入 m 获取帮助):n
Select (default e):
Using default response e
已选择分区 4
起始 扇区 (62916608-209715199,默认为 62916608):
Last 扇区, +扇区 or +size{K,M,G} (62916608-209715199,默认为 209715199):
分区 4 已设置为 Extended 类型,大小设为 70 GiB
#创建逻辑分区
命令(输入 m 获取帮助):n
添加逻辑分区 5
起始 扇区 (62918656-209715199,默认为 62918656):
Last 扇区, +扇区 or +size{K,M,G} (62918656-209715199,默认为 209715199):+10G
分区 5 已设置为 Linux 类型,大小设为 10 GiB
命令(输入 m 获取帮助):p
磁盘 /dev/sdb:107.4 GB, 107374182400 字节,209715200 个扇区
磁盘标签类型:dos
磁盘标识符:0xefc65503
设备 Boot Start End Blocks Id System
/dev/sdb1 2048 20973567 10485760 83 Linux
/dev/sdb2 20973568 41945087 10485760 83 Linux
/dev/sdb3 41945088 62916607 10485760 83 Linux
/dev/sdb4 62916608 209715199 73399296 5 Extended
/dev/sdb5 62918656 83890175 10485760 83 Linux
命令(输入 m 获取帮助):w
6. GPT分区格式
GPT分区格式:可划分128个主分区,最大支持18EB磁盘容量(1EB=1024PB,1PB=1024TB,1TB=1024GB)
gdisk命令用于查看磁盘使用情况和磁盘分区(GPT分区格式)
命令格式:gdisk 选项...
常用选项:-l 列出磁盘分区表类型与分区信息
[root@localhost ~]# gdisk /dev/sdc
GPT fdisk (gdisk) version 0.8.10 #GPT版本
Partition table scan: #分区表扫描MBR: not present #MBR分区不存在BSD: not present #BSD分区不存在APM: not present #APM分区不存在GPT: not present #GPT分区不存在
Creating new GPT entries. #创建新的GPT分区
Command (? for help): ? #输入?号获取命令帮助
p #显示磁盘分区表 ※
n #新增加一个分区 ※
q #不保存分区退出 ※
d #删除一个分区 ※
w #保存分区退出 ※
#创建新的分区
Command (? for help): n
Partition number (1-128, default 1): 回车
First sector (34-209715166, default =2048) or {+-}size{KMGTP}: 回车 #输入起始扇区,默认2048开始
Last sector (2048-209715166, default =209715166) or {+-}size{KMGTP}: +20G #输入新增分区的大小,可以通过扇区数来增加,也可以通过+size{KMGTP}方式来增加
Hex code or GUID (L to show codes, Enter =8300): #这里要求输入分区的类型,直接回车就行
#查看分区类型
Command (? for help): p #输入p查看创建的分区
Disk /dev/sdc: 209715200 sectors, 100.0 GiB #磁盘总容量
...
Total free space is 167772093 sectors (80.0 GiB) #磁盘剩余容量
Number Start (sector) End (sector) Size Code Name1 2048 41945087 20.0 GiB 8300 Linux filesystem
#以创建的分区
Command (? for help): w #输入w保存配置,如果不想保存可以输入q退出
Do you want to proceed? (Y/N): y #问你是否相想继续,输入y继续
OK; writing new GUID partition table (GPT) to /dev/sdc.
The operation has completed successfully. #写入成功
#格式化文件系统
[root@localhost ~]# mkfs.xfs /dev/sdc1
#查看文件系统类型
[root@localhost ~]# blkid /dev/sdc1
/dev/sdc1: UUID="c57746eb-8170-4c86-82ad-6aae95de19f3"TYPE="xfs"
#创建挂载点
[root@localhost ~]# mkdir /webbak
[root@localhost ~]# mount /dev/sdc1 /webbak
[root@localhost ~]# df -hT
/dev/sdc1 xfs 20G 33M 20G 1% /webbak
#开机自动挂载
[root@localhost ~]# vim /etc/fstab
/dev/mapper/centos-root / xfs defaults 00
UUID=ae55ec6b-973b-498e-a366-f35e14b3d153 /boot xfs defaults 00
/dev/mapper/centos-swap swap swap defaults 00
/dev/sdb1 /mybak xfs defaults 00
/dev/sdc1 /webbak xfs defaults 00 #手动添加这一行
[root@localhost ~]# mount -a
7. 格式化文件系统
文件管理系统,赋予分区文件系统,分区才可以正常的使用,根文件系统,多少个多少个文件系统
CentOS5:分区默认使用文件系统类型ext3
CentOS6:分区默认使用文件系统类型ext4
ext4日志记录功能,意外宕机,通过日志记录把没有保存的数据,在系统再次重启时快速恢复回来
单个文件系统最大支持1EB的分区容量,单个文件最大可以存储16TB数据
CentOS7:分区默认使用文件系统类型xfs
xfs开启了日志记录的功能,意外宕机,通过日志记录把没有保存的数据,在系统再次重启时快速恢复回来,数据恢复的速度比ext4文件系统快
单个文件系统最大支持8EB分区容量,单个文件最大可以存储500TB的数据
单个文件每秒读写数据的速度可以达到4G
swap文件系统:交换分区,拿硬盘空间去充当(虚拟)内存去使用,降低服务器的性能
临时关闭swap分区功能
# swapoff -a
永久关闭需要修改/etc/fstab文件,注释swap一行即可,需要经历重启后生效
vim /etc/fstab
上述内容省略...
#/dev/mapper/centos-swap swap swap defaults 0 0
mkfs命令用于在分区上建立文件系统
常用文件系统类型:ext4,xfs
命令格式:
mkfs.xfs 分区设备路径 #格式化为xfs类型文件系统
mkfs.ext4 分区设备路径 #格式化为ext4类型文件系统
#格式化文件系统
[root@localhost ~]# mkfs.xfs /dev/sdb1
8. blkid查看设备属性
blkid命令显示块设备属性信息(设备名称,设备UUID,文件系统类型)
命令格式:blkid 选项...
blkid命令示例
#查看文件系统类型
[root@localhost ~]# blkid /dev/sdb1
/dev/sdb1: UUID="3bb79b0b-3f17-4ad9-ad47-f00dcb6a5afa"TYPE="xfs"
#可以使用lsblk -f查看
[root@localhost ~]# lsblk -f /dev/sdb1
9. mount挂载
在Linux系统中用户无法直接使用硬件设备的,硬件设备在系统中都是以只读的方式存在的,必须挂载,挂载就是给我们用户提供一个可以使用设备的一个接口
挂载注意事项:
挂载点必须是一个目录,理论上还得是一个空目录
一个文件系统不允许重复挂载到多个目录下
一个目录不允许重复挂载多个文件系统
命令格式:mount 设备路径 挂载点目录
#创建挂载点目录
[root@localhost ~]# mkdir /mybak
#挂载文件系统
[root@localhost ~]# mount /dev/sdb1 /mybak
#查看正在使用中的分区信息
[root@localhost ~]# df -Th
[root@localhost ~]# df -Th /mybak
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/sdb1 xfs 10G 33M 10G 1% /mybak
PS:
总结:
添加硬盘: lsblk 查看系统是否识别新硬盘
划分分区:fdisk/gdisk 设备路径 划分硬盘
格式化文件系统:mkfs.xfs/mkfs.exte
挂载:创建目录--> mount 设备路径 挂载点目录
查看分区使用情况: df -hT
10.umount卸载
umount命令用于卸载文件系统
命令格式:umount 挂载点目录
#卸载文件系统
[root@localhost ~]# umount /mybak
[root@localhost ~]# df -h
11.开机自动挂载
/etc/fstab用于存放文件系统信息,当系统启动时,系统会自动读取文件内容将指定的文件系统挂载到指定的目录
[root@localhost ~]# vim /etc/fstab
上述内容省略...
/dev/sdb5 /test xfs defaults 00
#解释:该文件内容为6个字段,每个字段详解如下
第一个字段:要挂载的设备路径
第二个字段:挂载点目录
第三个字段:设备文件系统类型
第四个字段:挂载参数,参数如下↓
sync,async: 此文件系统是否使用同步写入 (sync) 或异步 (async) 的内存机制,默认为异步(async)
atime,noatime:更新访问时间/不更新访问时间,访问分区时,是否更新文件的访问时间,默认为更新
ro,rw:挂载文件为只读(ro)或读写(rw),默认为rw
auto,noauto:自动挂载/手动挂载,执行mount -a时,是否自动挂载/etc/fstab文件内容,默认为自动(auto)
dev,nodev:是否允许此文件系统上,可建立装置文件,默认为允许(dev)
suid,nosuid:是否允许文件系统上含有SUID与SGID特殊权限,默认为允许(SUID)
exec,noexec:是否允许文件系统上拥有可执行文件,默认为允许(exec)
user,nouser:是否允许普通用户执行挂载操作,默认为不允许(nouser),只有root用户可以挂载分区
defaults默认值:代表async,rw,auto,dev,suid,exec,nouser七个选项
第五个字段:是否对文件系统进行备份,0不备份,1为备份
第六个字段:是否检查文件系统挂载顺序,0不检测mount常用选项:
-a:依照配置文件/etc/fstab的数据将所有未挂载的分区都挂载上来[root@localhost ~]# mount -a
如有补充,后续添加
【Linux】系统下的磁盘分区(重难点)相关推荐
- Linux系统下的硬盘分区、格式化与挂载
以下内容源于网络资源的学习与整理,如有侵权请告知删除. 参考内容 分区是什么意思_360问答 磁盘分区_360百科 挂载_360百科 fdisk对一个块设备进行分区_XZY028的博客-CSDN博客_ ...
- Linux系统下提示磁盘空间满,但实际占用却很小
Linux系统下提示磁盘空间满,但实际占用却很小 因为公司放在测试服务器上的服务比较多,磁盘经常性会满.以前满过几次,因为时间比较赶,每次只是草率的删掉一点log或者临时文件,到今天早上又发生一起事故 ...
- Linux系统下挂载Windows分区
1. 手工挂载 在Linux中也可以读取Windows分区,包括fat32格式的和ntfs格式的.首先你得知道Linux下对硬盘分区的称呼.比如Windows下的C盘通常是hda1,D盘是hda5,E ...
- vmware使用已有linux系统的物理磁盘分区
2019独角兽企业重金招聘Python工程师标准>>> 1.windows7/gentoo linux双系统,想在Windows7下使用vmware直接访问物理盘上的linux. 2 ...
- Linux系统发行版磁盘分区方案
所用发行版Ubuntu,不同发行版且版本不一会有些必要的分区,这里就列举它的基本分区 必看知识点: 一块硬盘最多有4个主分区,主分区以外的分区称为扩展分区,硬盘可以没有扩展分区,但是一定要有主分区,在 ...
- linux系统下进行磁盘扩容
前言 本文中的前提是基于在虚拟化平台中进行扩容,在虚拟化平台中有个centos7.qcow2镜像格式安装的centos7的系统,前面的扩容步骤是针对qcow2格式的:如果使用虚拟机,除前面两大步骤不一 ...
- linux系统下对磁盘的,学会在Linux下对硬盘分区
conqueror 于 2010-03-30 13:17:49发表: 不错不错学习一下,顶...! conqueror 于 2010-03-30 13:17:31发表: 不错不错学习一下,顶...! ...
- 开发Linux系统下的磁盘加密方法详解
随着智能手机的计算能力和存储能力的提高,手机中将会存放越来越多的私有数据,这些数据的泄密可能造成严重后果.手机信息安全一直是我们的重点之一,对于一些重要的功能我们要求鉴权后才能使用,但这只能挡住初级的 ...
- linux的磁盘文件系统格式怎么看,linux如何下查看磁盘分区的文件系统格式?
df -T 只可以查看已经挂载的分区和文件系统类型. FilesystemType1K-blocks Used Available Use% Mounted on /dev/sda1ext420642 ...
最新文章
- Node:非IO的异步API
- Qt Creator 插件开发(1):编译 Qt Creator
- 使用DOM操纵HTML文档几点粗浅认识
- 机房收费系统--登录窗体
- 干货回顾 | 泛娱乐社交 APP 出海的破与立
- 使用 ABAP 代码解析一个 class 的所有方法
- matlab中quat2angle,matlab 学习记录
- DotNetCommon-搜集.neter开发常用的功能
- 腾讯校园招聘面试的秘密
- 输入一个正整数n,计算s=1-1/3+1/5-1/7…前n项之和
- sqlmap能测试java么_ibatis框架如何测试?ibatis入门解析
- VisualStudio移动开发(C#、VB.NET)Smobiler开发平台——AlbumView相册控件的使用方式...
- 做网站搭建服务器,个人服务器搭建做网站
- Git的诞生_繁星漫天_新浪博客
- Playing Atari with Deep Reinforcement Learning 学习笔记
- NodeMcu arduino ESP8266 使用Ticker库(多任务处理)
- chrom浏览器flash_谷歌浏览器怎么打开flash_最新版chrome怎么开启flash-win7之家
- STM8-STVD+Cosmic编译输出信息参数配置
- 手机淘宝宝贝详情页《问大家》数据爬虫手把手实战,包含动态参数如何生成...
- 彪哥情人节期间征女友一名铃声 彪哥情人节期间征女友一名手机...